My reason for telling you this story, other than the fact that I always smile when I think of it, is because it takes an increadible amount of time, effort, and commitment to truly become expert in a specific programming language. As a result, you should think carefully before selecting a language to be sure it's the right language for your marketability, interest, and long term career.
Consider the following questions in making the decision to learn a new programming language.
• How marketable is this language in my geographic location? For example, if you work in Boston, how many local companies hire people with knowledge of this language?
• Is this language used within the industry in which I would like to work? For example, if you want to work in the video game industry, you should learn the languages most often used in the creation of software for video games.
• To use this language effectively, what other technologies will I have to learn? For example, if you are considering learning .NET, then you may also want to learn how to use SourceSafe and SQL Server.
• How large is the job market for people knowing this language? Alternatively stated, is this language generally used in all industries and for many purposes, or is it a nitch language only used for specific purposes?
• How much competition is there for jobs using this technology? That is to say, are there more people than jobs or more jobs than people. As an aside, if there are more jobs than people, the average pay of everyone knowing that language will generally go up because the demand for this skill set is larger than the supply of people who have it.
• What is the language's future? Is it growing or shrinking in popularity? That is to say, in two years and/or five years will there be more jobs or less jobs available for people who know this technology.
I chose a programming language as my example, but I could have used any technology or any IT related job. There are a lot of great technologies out there, programming languages, analytical tools, software packages, hardware devices, and software tools. As technologists, whether you are a programmer, a help desk professional, a software tester, or any other hands-on techie, carefully choose the technologies you learn and the technologies you decide not to learn. These decisions, whether through good luck or bad, deep analysis or wild guess, will help frame your professional future. Be careful and choose wisely.
If you have any questions about your career in IT, please email me at
eric@ManagerMechanics.com or find me on Twitter at @EricPBloom.
Until next time, work hard, work smart, and continue to grow.