How Teams Choose Language

Choosing a programming language is one of the most defining decisions in software development. It shapes how a team writes, maintains, and reasons about their system. Today, there are hundreds of languages to choose from, and more appear each year. In theory, we should evaluate them carefully and select the one that best fits our problem. In reality, it rarely […]

Yazılım için İngilizce Öğrenin

Geçenlerde sitem üzerinden bir e-posta aldım. Yazılım mimarisi ödevine yardım edebilir misiniz diye soruyordu. Meşgul olduğumu ama zaten internette benden bu konuyu daha iyi açıklayan akademik kaynaklar olduğunu söyledim ve Toronto Üniversite’sinin kaynaklarını paylaştım. Bana gelen e-posta’da İngilizce anlayamadıkları için kaynağın işe yaramadığını söylediler. Bir dakika düşündüm ve Türkçe kaynağın ne kadar da kısıtlı olduğunu gördüm. Zaten bu sitede elimden geldiğince […]

I’m no longer a Scrum Master

Recently, I received an e-mail from Scrum Alliance. My Scrum Master Certificate has expired. As expected, the e-mail was suggesting to get certified again, a friendly nudge to stay relevant. But that message made me pause. Why was I supposed to pay again to keep something that no longer felt valuable? Agile frameworks no longer deliver what they are supposed […]

You Know State Is NO Good

Every engineer learns this the hard way. You think the logic is solid, your tests are green, and your deployment goes smoothly. Looks all good, right? Then you have an outage. Not because the code is wrong, but because some tiny piece of state went rogue. A cache goes out of sync. A session refuses to expire. A queue forgets […]

Refactoring Untested Code

Refactoring is in general restructuring the code without changing its behavior. By behavior, I mean what the outside world can observe, inputs and outputs, data persisted, messages sent, and visible side effects. If those remain the same, users and upstream systems will not notice the difference, even if the internals look completely different. The key point here is the behavior […]