Today we developers are high in demand, at least here in Sweden. My client is now persuading russians to immigrate only because there are not enough of skilled programmers. While there still are people that think one programmer is as good as another, give or take some experience, others have realized that there is a huge difference.
Some restaurants will serve delicious food and some will not. You know that it depends on the team in the kitchen. They must work well together and there must be a good chef.
That goes for us too. We need a good team with skilled people to produce high quality software. But who is responsible for your skills? You yourself, of course. Nobody will or can, make you a better developer unless you put in some effort.
One thing is for sure, just working as a programmer is not enough. You do not learn enough in your day job. Take this from someone with 30 years of it. 🙂
We at Crisp are currently discussing how to measure skill level of developers. Of course we will never decide that ourselves, we just want to push on. We have contact with several international profiles (Uncle Bob, Chet Hendrickson, Ron Jeffries, Michael Feathers) and know quite a few skilled developers working for other companies. Stay tuned.
So what are the basic tools of our trade? Well, I think that TDD, pair programming and Clean Code are among the basics. You should know them and you should use them.
What if you know them and is looking for “management support”, cause you believe you need to? Stop that. You are a professional and you, not your manager, knows how to program. No owner of a restaurant would ever tell the chef in what order the food should be prepared. But an owner would demand high quality food.
To get skilled, you need knowledge and you need practice. You can not, as said, get enough of that during day time. That is when you are supposed to deliver, not practice.
Knowledge you can get by reading books or attending courses (we have two with Uncle Bob this August). Practice, meaning repeating what you learned outside the course, requires time.
Again, only you can be responsible for enhancing your skill. And if you don’t take that responsibility, you will slowly sink down in a humdrum. I promise you that. 🙂
Now, stop asking for permission to be skilled. Start requiring to be able to attend skill-enhancing courses. What kind of programmer would you like to be?