Skip to content

Category Archives: Software Development

Software Development musings

Developers Taking Initative

Developers’ taking initiative is rare. People generally don’t want to question the status quo, especially someone else’s status quo. An environment that supports this kind of questioning is invaluable not only to the developer, but to the software being developed. New ideas and new points of view can often (though not always) lead to big […]

Technical Debt

Many people have already written about the problem of technical debt. Originally attributed to Ward Cunningham, Martin Fowler and many others have written extensively on the subject and I’m not about to add anything new. All I know is that I hear the phrase “We can’t afford the time to do it right” too often […]

Overboard with Overtime

There are two types of overtime. I call them forced and unforced. Some call them involuntary and voluntary, or required and elective. No matter what you call them, overtime as a policy in a software development company is not a good sign. In general, I don’t work either kind of overtime.

Domain Knowledge For Everyone?

Domain knowledge is highly overrated. If a company requires every developer to know the intimate details of the domain that the software is being developed in, not only is that a waste of time and money, but it is a sign that the software is broken.

Robert C. Martin at CAMUG

I went to see Bob Martin speak at CAMUG last night. He’s quite a good speaker and seems like a smart guy. He basically talked about how the way we do software development currently is broken and that we can do so much better. I couldn’t agree more. Some choice thoughts from the talk (these […]

Coding Architects, Architecting Coders

In the beginning, there were system architects and there were coders. The system architects were much revered for their experience and wisdom and had the ultimate authority over the state of the software system. They lived in private offices where they could do the hard work of figuring out how to build a system. Once […]