Wednesday, September 5, 2012

Worst Case:

Just for a moment, imagine that you are the worst player on your team, but nobody tells you because they don't want you to feel bad. All the other programmers are fixing up your code so it works, your design sense is flawed, and everyone knows it but you.

Then you find out.

Of course, you'll have a sinking feeling and probably get mad. Let's say for a moment that quitting is not an option. The question is "what are you going to do about it?"

For some people the initial response would be shame and anger and abuse of one comforting substance or another (likely liquor, but possibly pizza, cookie dough, or a tub full of Mr. Bubble).  At some point you will realize that you have to go back into the office.

Everyone there already knows. It is likely that they have heard that you found out.  Now what? You could get discouraged but that's hardly helpful.  There is only one thing to do: you have to get better.

What is the plan? How will you pick up on new skills and design sense? You could isolate and read, but that's not going to work during business hours.  You can read more code, but you do need to produce something and you need the practice.

Likely Case

Now, imagine that you're a solid player. Everyone knows it, and nobody needs to tell you.

Then you find out that there are programmers in the world who could do what you do better, faster, easier.  What is the plan?

I suspect you would do the same things to improve, only this time without shame and humiliation. You would do some research, try things differently, read something, get a second opinion, find a mentor.

Your Case

Guess what? You're probably a pretty good performer.

Still, there are guys out there who can do what you do a little better, faster, or easier.

What are you going to do?


  1. Great post, however one of the very common misconceptions many people have is that "learning stop when you leave school" - From my point of view that's where the real learning start.

    One of the most important things in effectively learning new skills, is merging learning and experience.

    What school is lacking is experience, what work is lacking is the theory and you must combine these somehow, if it's within working hours or not is a different question.

    To the point though, a mentor can be a great force helping you to step back and look at things in a different perspective and maybe getting you to look at things a bit different. Very few people needs to make very little change to stand out!

    Kind Regards

  2. Thanks Mads.

    I'm 50 years old, and I've been programming 32 years, and there is still no end to the things I want to learn. Anyone who thinks "I've already done that, I know it." in their 30s or 40s is kidding themselves -- and they should get out more.

    The only real security in the software world is to build a reputation for being a good guy to work with, who teaches and learns at the drop of a hat, and genuinely cares about his craft and colleagues.

    The thing that many companies lack is people who work open-heartedly and mindfully. It's not just in programming and testing, but it certainly is present there.

    It would be cool if people would choose to never have a rote, mindless day.