I'll keep saying this until I feel I've articulated this idea properly: coding is socially acceptable addictive behavior.

There's a lot more to say here, but I think it all boils down to, and can be explained by, "coding is addictive".

Why is it that we programmers love "shiny things"?

Why do we frequently use the pejorative term "legacy code"?

How come our own code always feels better than everyone elses?

Why do we hate maintaining code, and dream of jobs with "greenfield projects"?

Why is reading code so much more difficult than writing code?

Why is it that certain software industries such as the game industry consistently exploit "passionate" developers?

Why can't we leave code alone, and when we do for a moment, people assume it's a "dead project"?

Why does coding take longer than expected?

Why do we keep reinventing the wheel... poorly?

Why exactly do we move fast and break things?

The answer to all of the above eventually turns into "coding is a socially acceptable form of addictive behavior".

@paul being able to dig through a well made project and understand how parts work together is a great skill to have, but developing it is hard because it’s not something that can be trained with instant gratification. It takes a long time to develop the skill; longer than it takes to learn how to write code to begin with, which has a much shorter gratification cycle.

I really enjoy working with older projects that have cemented their design, especially when they are actually designed, and not just a bunch of messy patch work meant to ship things as fast a possible. It took me quite a few years of deliberate practice to become comfortable with this though, and I am still no expert at it.

Sign in to participate in the conversation
Angry Today?

Angry People are Most Welcome! Vent your frustration and go nuts on things that irritates you.