Why Do You Write Code?

And the truth about Kim Kardashian

I lied. This post has nothing to do with Kim Kardashian. I’m just hoping that if I mention Kim Kardashian enough, I’ll get to the top of Google.

“You idiot. That’s not how search works!”

Good. You ARE a developer. Now we can get started.

Why do you write code?

If you’re a freelance programmer, why do you write code?
If you’re a developer at a startup, why do you write code?
If you’re an engineer at a large company, why do you write code?

(Well that should at least get me indexed for “why do you write code”)

Why do I care? Well Steve, I have ulterior motives.

I want to help low performing teams.

(Apologies to the 93% of you who read my blog that aren’t named Steve)

Imagine you’re on a team of shitty developers. Ok, that’s not nice. You’re on a team of developers that have a lot of room to grow. That feels better. Everyone gets a trophy!

Customers aren’t happy. You rarely ship features. Those that you do are riddled with bugs. You need to refactor and simplify the product, but every time that happens it just makes things worse. Your tech stack is falling over because of all the incremental “hacks” and no one is truly happy with the state of the code. Everyone wants it to get better, they just don’t know how.

So what would you do to help the situation?

I know what you’re thinking, “Is 7% of his readership really named Steve?”

Or maybe you’re thinking, “Time to find a new job." But that’s just a cop out. Work long enough at any company and you’ll always find a variation of this situation. Learning how to help it now could lead to preventing it in the future.

And that’s my goal. I want us to figure out how to improve this situation, together. Partly because I don’t have the answer and I need help, and partly because I want you to be a better developer. In a code driven world where things are easily measured, it’s these soft skills that often get overlooked. It’s a Win-Win for both of us. So... what can we do?

Maybe some Continuous Integration and more Code Reviews? Yeah! Let’s get everyone to cohere to the same coding practices.

Doesn’t work. People will always find workarounds if everyone has different motivations. Aha!! Motivations! Maybe if we can clearly establish one’s motivations for writing code, we can move forward together. Understanding each other’s differences is the first step to building a high functioning team.

In a boiled down Myers-Briggs test, I’m supposedly a Gold/Green. I hate these damn things though; I hate labeling people like that. But, it was part of a much bigger exercise that proved to be useful in the the end. Its key takeaway was:

People respond differently to situations, so understanding how people approach things makes for better communication.

Obviously this fictitious team has more issues than just writing code. The code is almost insignificant at this point. So while understanding “how” someone approaches a problem will help, I think going deeper to understand “why” they even decided to write code in the first place will help even more.

For some, it may have been a natural progression after fiddling with TI-83’s in the late-90’s.
For some, it was simply a way to better their living conditions in a lucrative field with a relatively low barrier to entry.
For some still, it was an opportunity to masturbate on technology in hopes of sounding like the smartest person in the room.

I don’t know. It’s personal to everyone. But, the closer we get to inception, the easier it is to fix a problem and change a behavior. Thanks Christopher Nolan.

So, why did we start writing code?

I’ll go first. I write code because I didn’t like my previous “career.” I realized what I was doing, while personally profitable, actually contributed nothing to world. In an honest sense, it was a waste of time. Fifty years from now, I wanted to look back on my life and be proud of the work that I had done. So I did some very real, very honest soul searching and concluded:

I wanted to affect the most amount of positive change in the shortest amount of time.

I believe that to be best fulfilled by web development, and that’s why I write code. I loved the idea of being able to throw some code on a server tonight and to potentially affect millions of people tomorrow. There’s no other industry like that. Thank you to the giants before us for making this possible.

And to go even further, I wanted to be in a business where everyone wins. I started off doing client work for a small agency. I loved it. Our clients had fully functioning, well-tested websites, but they had users, too! So due to the work I provided our clients, they were able to deliver even more value to their users. That’s very much a Win-Win-Win situation, and has the potential for a huge impact.

I just want to make things better and code is just the simplest, easiest way to do that.

So code is just a hammer, just another tool to help solve a problem and accomplish a goal. If there’s a simpler way to provide the same value, then I’m all for it. That’s what drives me: "a relentless pursuit to deliver the most value." A hard, no fluff approach to cut through the bullshit and do what needs to be done. I’m always looking for simpler solutions, some of which may not involve writing code at all.

The best code is the code not written.

Just pretend Confucius said that; it sounds better and way more profound. So honestly? I couldn’t care less about writing code. I’m lying. I genuinely do love composition and relational data... but I’d much rather be delivering real [business] value, no matter what that means.

---

I usually ask questions knowing at least a few of the potential outcomes. This time, I have no idea. I’m genuinely interested in what you have to say.

Why you write code?

Further Reading >>