in craftsmanship, Uncategorized

Pitfalls of writing software alone

I’ve published a new story on the Coding with Empathy blog. Here’s an intro.

The power of one

There’s nothing like being able to work on a project by yourself and having complete control of every single aspect of the solution. Everything from the front-end stack to the storage. Using the latest and greatest frameworks and libraries. This is heaven for any software developer. But regardless of any of the above technology-focused aspects, there is one major advantage being that single developer, namely: speed! But there are pitfalls when writing software alone.

When a developer knows every aspect of a system, they have a mental map of the code and the problem domain. They know how the code flows, how business rules are implemented, the architecture and sometimes even the line-numbers of specific functions! Having this mental map is a tremendous advantage, but is only possible because there is no need to communicate with other developers.

Being socially unacceptable

Being the only developer that delivers and end-to-end solution also leads to a feeling of great pride. It’s like being superman. The feeling that people can throw anything at you and you can get it done. Bring on any challenge and you will be up for it. Confidence in your solutions and decisions.

Everything isn’t really shiny in solo-town, though. For many, this ever-growing feeling of confidence can spill over to overconfidence which leads to a larger ego. Egos require constant feeding, and may lead to many interactions that don’t end up going your way in the long run. When challenged you have so much confidence in your approach or opinion that you completely ignore others perspectives. You enter tunnel-vision mode and may end up discussing or even arguing to get your point across. This could be with other developers, leaders, users or even clients. Just because you believe you know what’s right in a given circumstance, doesn’t mean you can force the solution on others. Doing so will alienate everyone else in the process then you’ve started digging a hole in which you’re going to find hard to climb out of.

Some leaders adore these people. They come in, say harsh words that force change then move to the next project. This may be a very efficient way of getting ones point across, but it’s definitely not the most effective in the long run considering all the people who are forced into a decision. Being right doesn’t give you the right to be inconsiderate.

Continue reading on the Coding with Empathy blog.