As I write more, I also read more. Recently, I was looking at codinghorror.com and saw that Jeff Atwood was being criticized for not living up to his reputation. Since he was receiving money for his blog site and was “turning professional”, he was now deemed no longer qualified to be doing it. It seems that among other things, Jeff doesn’t know C and everyone knows that if you don’t know C, then you’re not a real programmer. To me, the whole argument is good waste of time. As far as I know, there’s no reasonable test you can take to prove that you’re a worthy software engineer, much less worthy of being a blogger or speaker. The simple fact is, that if you have a keyboard, you can be a blogger, if you have a voice, you can be a speaker, and if you have a loud voice, you can be an “expert”.
As in life, so it is in blogging, and in your career. Time and experience eventually shows who is worth listening to, reading, or working with. I’ve worked with many people for many companies. Those with the loudest mouths were not always the ones with the best ideas. Conversely, the quietest weren’t always the ones with the worst ideas. Similarly, some of the more confident people weren’t always the most competent.
So, what’s a programmer to do? Well, lots, actually.
- You don’t have to be an expert to have an opinion. Pose your ideas with humility and be willing to take a few shots. Ask that people be honest, but constructive with their criticism. Besides, I’ve seen plenty of mediocre ideas turn into gems after some brainstorming.
- A little self-confidence goes a long way. If you don’t have enough confidence to try something or say something when you have a chance, you’re going to have a long, relatively steady career. Want to work on the same project for 20 years only to emerge as a dinosaur? Don’t take any chances. However, taking a chance on a new project or opening your mouth with a considered opinion will make people take notice. This is the way to really get somewhere and add some spice to you career.
- Learn something new, then teach it to your colleagues. Learning how to use a new tool, API, language, or other technology is one way to keep work interesting. If you really want to understand it better, try explaining it to someone else. Being a teacher or a mentor in your company is an easy way to gain recognition and climb the technical ladder. You don’t have to become a manager to go places in your field.
After a few years of really engaging in your work, you may have the knowledge and confidence to share your ideas on a broader scale. You may have your own blog, podcast, or forum in whatever medium is current. Eventually, someone will think you are elevating yourself to the level of guru. But, since you’ve tempered your confidence with humility, you’ll know the truth. You’re just someone doing your best to help your community of fellow software people and you’re willing to take a few shots along the way.