Andrew C. Oliver
Contributing Writer

9 career pitfalls every software developer should avoid

analysis
Jun 29, 20208 mins

If you love to code, and donโ€™t think much about your career or your business, itโ€™s time to get real and rethink how you approach software development

Three businessmen - see no evil, hear no evil, speak no evil. [Thinkstock]
Credit: Thinkstock

Letโ€™s get real. Some of you got into software because your parents made you (if you grew up outside of the U.S.) or because you figured you could make a lot of money this way. You didnโ€™t start young because you were into computers, and you donโ€™t really like software development. Youโ€™re always going to be mediocre. Youโ€™ll make money because our industry doesnโ€™t know how to evaluate skill, talent, or achievement โ€” but this article isnโ€™t really for you.

If you got punished for taking apart electronics to see how they workโ€ฆ If you snuck online at all hours of the night to learn how to make a video gameโ€ฆ If you spent precious free time learning when no one was making you and you werenโ€™t actively pursuing a careerโ€ฆ If you then found yourself in software as a career (probably because you found out that game development is the worst part of the industry), then this article is for you.

You need to change the way you think about your career. Youโ€™re not coding for love anymore; youโ€™re coding for money. Save the love for your side projects. By all means, make sure you at least like your day jobโ€”even better if you love it. If not, find a better place as youโ€™re able or the economy permits.

However, your goal should be to open a 401(k), shove every tax-deductible dollar in it you can, and still have enough left over to buy a house, a car, and do whatever it is you want to do. Maybe save the travel for later. Otherwise, someone else is making your money.

Along the way, you need to think about your career, not just your current job. To do that you need to avoid these nine pitfalls.

Pitfall No. 1: Staying too long in a technology

I get it. You like Microsoft C# or Java or JavaScript or Python or Cobol. However, most technologies have a life cycle of adoption, peak, outsourcing, niche, and unhirability. Meaning if you knew Cobol in the 1980s, cool. If you knew it in the early 1990s and werenโ€™t looking to retire, you were at risk of losing your job. If you knew it in the late 1990s then Y2K got some people $300 an hour. Today, after 20 years of Cobol programmers not making all that much money, suddenly there is opportunity. But you have to be willing to relocate away from the coasts, and youโ€™ll probably make less than youโ€™re accustomed to.

What about Java? I used to bill $300 an hour for Java consulting. Now? Now Java labor is hired in bulk at large companies. If you donโ€™t think JavaScript or Python or whatever your favorite thing is will go the same way, you just arenโ€™t paying attention.

Pitfall No. 2: Being a monopoly technologist

By the same token, you need to hedge your bets. It seems easy and safe to become an expert in whatever is dominant. But then youโ€™re competing with the whole crowd both when the technology is hot and when the ground suddenly shifts and you need an exit plan.

For example, I was a Microsoft and C++ guy when Java hit. I learned Java because everyone wanted me to have a lot more experience with C or C++. Java hadnโ€™t existed long enough to have such requirements. So I learned it and was able to bypass the stringent C and C++ requirements, and instead I got in early on Java.

A few years back, it looked like Ruby would be ascendant. At one point, Perl looked like it would reach the same level that Java eventually did. Predicting the future is hard, so hedging your bets is the safest way to ensure relevance.ย 

Pitfall No. 3: Staying in love with a fad

Never tell the Groovy people that it is over. And never tell the Ruby folks itโ€™s the end. However, the magic has died. People arenโ€™t going to pay a premium for Groovy or Ruby developers. If your boss lets you use them on a project, it will be either because he doesnโ€™t care what you use, it isnโ€™t very important and he wants to keep you happy, or heโ€™s ignorant and doesnโ€™t realize that there will be a declining labor supply.

By all means, jump on ascendant technologies and learn them. Be ready to be one of the first to know it and pitch yourself as an expert in it.

However, also be ready to jump when the demand goes lower. There are always other new technologies to fall in love with, whether it be a language or a database.

Pitfall No. 4:ย Being allergic to politics

Every organization, no matter how big or small, has some kind of politics. So, you need to hone your political skills. If youโ€™re not aware of the politics, youโ€™re going to be a pawn in other peopleโ€™s games. I donโ€™t mean you have to be the jerk who is all political games and no work, but you do need to play defensive politics.

Pitfall No. 5:ย Being disinterested in the business

โ€œIโ€™m just a developer, I donโ€™t interest myself in the business.โ€ Thatโ€™s career suicide. You need to know the score. Is your company doing well? What are its main business challenges? What are its most important projects? How does technology or software help achieve them? How does your company fit into its overall industry? If you donโ€™t know the answers to those questions, youโ€™re going to work on irrelevant projects for irrelevant people in irrelevant companies for a relatively irrelevant amount of money.

Pitfall No. 6: Having the โ€œunion shopโ€ mentality

When I was young, one of my first jobs for a telecommunications company had an old-timer who estimated six months for nearly everything. He made the mistake of going on vacation, so I finished the entire project in two weeks but saved him one piece to work on. I expected heโ€™d be happy about this. He was not. Boy, was he not. He took every opportunity to get me fired. It became his mission in life. He complained to the new director.

Of course, I got my work done. I was innovative. I was always finding new ways to get things done better and faster and solve problems. He retired shortly after I left that job. A few times, I saw him in a coffee shop and we pretended not to know each other.

This wasnโ€™t the last time Iโ€™d encounter this โ€œgo slow or weโ€™ll mess you upโ€ idea. My advice is to do the right thing codewise, but be ready to face what is coming. If it is a pervasive problem then vote with your feet โ€” that company isnโ€™t going anywhere.

Pitfall No. 7: Not knowing (or caring about) your value

โ€œIโ€™m not in this for the money.โ€ Then get a hobby. By all means, donโ€™t go to work every day thinking about your next dollar. But also donโ€™t go to work making 50 percent less than everyone else either. Know your value, and collect it.

Pitfall No. 8: Treating your job like just a job

โ€œIt is just a job.โ€ No, it is a step in your career. You wonโ€™t be at this job forever. So, what can you learn here? What is the next step? Who is where you eventually want to be? How does this job help you get there?

Develop situational awareness of the whole business. It will do you and the people you work for a favor. It will also serve you well in the long term. This isnโ€™t just a job, it is a journey.

Pitfall No. 9: Thinking it is just about the money

Salespeople like to say, โ€œIโ€™m coin operated.โ€ However, if you are not in sales โ€” no one wants to work with someone just in it for the money. What do you care about? That is the only thing that you will ever put your fullest effort into. I know I only want to work with the person who cares about the work. How about you? On the other hand โ€” donโ€™t be insufferable about it. If the thing you truly care about is tabs vs. spaces then maybe some Ritalin or Clomipramine can help.