For The Perfect Programmer

There’s nothing to read here for you. Really, nothing at all.

You are a perfect programmer. Your code is the best you’ve ever seen. We all bow to your wisdom and awesomeness.

There’s nothing more for you to learn. There’s nothing left to practice. There’s nothing left to read, no conference that can teach you things, no community that can advance your skills.

There’s nothing for you in this blog post.

Sure, your code has bugs. But that’s not your fault. It’s either the manager, the technical lead, the project manager, the analysts, the testers or the customer.  And anyway, who writes code without bugs? You’re perfect as you are.

Sure, it takes time to add simple features to the code. But that’s not your fault. Many people worked on that code base and did the worst job possible. If only you would have been there, the code were perfect.  You can’t fix all their mistakes, you just write your perfect code for your tasks. The other code can’t be fixed, not even by the perfect programmer that you are. Anyway, it was the customer’s fault as well. They always change their minds.

There are some crazy people in this industry though. They claim the code you write is not clean and difficult to change. They claim that with a few additional skills you could reduce the number of bugs to near zero. They claim it’s possible to make changes to existing code faster, even when they know nothing about the domain or the code.

These people don’t get it. The code you work on is much more complex than others’. Your context is different and much more complicated. It takes new developers six months to become productive in this code base, so there’s no way some crazy dude would jump in and make it better in the first few days. It’s just impossible.

So you go on doing the same things you did for the past years, and ignore all these crazy silly people who tell you to change. You’ll keep doing what you do, and you’ll be appreciated, and you’ll get raises and bonuses and you’ll climb the career ladder. After all, you can always move to another company who appreciates you more if this doesn’t happen.

So you see, there’s nothing for you to read here. You’re just perfect as you are. You have no reason to change. No reason to read. No reason to go to conferences. No reason to attend community meetups, other than to impart your wisdom with the lost souls out there. But they won’t listen anyway, so why bother?

There’s no reason for you to practice clean code, refactoring, unit testing, test driven development, changeable & incremental design, pair programming, simplicity, problem solving, lateral thinking, techniques for working effectively with legacy code, usable software design.

There’s no reason for you to be part of a community of practice, to accept feedback, to practice assertive communication, to give actionable feedback.

There’s no reason for you to trust your colleagues and to prove trustworthy for them. There’s no reason for you to become more disciplined, although it’s obvious the team needs to be more disciplined. Just not you.

There’s no way you would go back to feel like a beginner and practice beginner’s mind.

It’s not your job to learn about your customer’s constraints, extract more precisely their intent and the desired features, negotiate with them daily on the scope of the experiments you’re making, advise them on the best course of action.

There’s nothing for you here.

So why did you read until the end?