You’ve done all the study. You’ve gained all the skills. You’ve learned all the languages (or at least one). And you’ve landed your first ever programming job. Congratulations! You’ve taken the first step up the elusive coding career ladder. So what’s next?
Unfortunately, technology is not one of those industries where you can sit back, relax, and let the bigger pay checks come to you – but then again, neither is any industry. If you want one of those $150k a year jobs, and more importantly, if you want a rewarding career, you need to continue to work your ass off all day, every day.
It doesn’t matter what language stack you know (once you have some experience, you can learn any language if you dedicate a few weeks to it). Nor is it about knowing what the next big thing in the industry will be (although that does help in some instances). Here are some good places to start if you’re looking for a better programming career.
Keep on Learning
You’ll read this in every single article on the web about advancing your programming career, and for good reason. Technology changes at a rapid pace, and you need to keep up with it if you want to stay relevant. Don’t stop learning once you get that qualification or that job. Undertake some self learning through books or the web (‘The Design of Everyday Things’ and ‘The Pragmatic Programmer’ should be on your reading list, for a start), sign up for internal training, go to conferences, or at the very least read up on news and new developments in your area.
Network, Network, Network
Here’s a sad fact of life for those just setting foot in the coding industry; the majority of programming jobs are not advertised publicly. It’s all about who you know, which is why networking is vital. Big companies hire internally through promotions, and start-ups will ask for recommendations from people in the know. Furthermore, the days of nerdy, socially awkward coders are long gone. Employers now expect you to be – shock horror – a well rounded person. Which means you need good communication skills. Which you can develop through networking. See where we’re going with this?
We’re not talking about staying away from drugs, although that’s certainly a good idea too. By far the most common trait of all of the best programmers in the business is this; their code is clean as a whistle. Get into the habit of writing clean code, and we mean meticulously clean. Format it, document it and check your syntax. We know it’s boring, but it’s necessary. Nobody enjoys sifting through piles of messy, unannotated code, so get into good habits as early as possible.
Don’t Get Comfortable
If you have a job that you like, where your co-workers are your friends and you never feel particularly stressed or challenged, it’s a sure sign that you’re too comfortable. That’s not a good thing; it means you have no motivation to do better. Remember that apart from a few exceptions, the people you call ‘friends’ from your office will most likely have moved on within 3 years, and you’ll probably have lost touch within 5. Don’t let your personal connections cloud your judgement if you’re think of moving roles.
Prepare for Tough Job Interviews
If you’re actively seeking a better career opportunity, you’ll know that interviews for software engineers and developer roles are notoriously tough. They’ll throw plenty of curveball questions your way that will involve you demonstrating problem solving skills on the spot. Make sure you’re well prepped, and always expect the unexpected.
Know Your Strengths
Be confident in your abilities and don’t sell yourself short when you’re discussing an opportunity with a potential employer. You are offering value to them. Know what you’re worth, both from a skill set perspective and a financial sense. Employers will always, always be looking for reasons to pay you less, so don’t give them any. Don’t fall into the trap of discussing your current or previous salary during the interview stages. Wait until a conditional offer has been put forward by them.
Master Project Management
As you become a more senior programmer/engineer/developer, it’s inevitable that you’ll take on some project management duties. This means combining actual programming skills, communication skills, time and budget management, leadership skills and a few more for good measure. It’s definitely challenging, but usually highly rewarding. Project managing anything will go a long way to preparing you for a new, more senior and more important role.
Remember the Big Picture
Your career is not your life. If you have no work-life balance, it won’t belong before you’re stressed, sick, and miserable. Remember you’re doing this because a) you need money to live your life – emphasis on ‘live’ – and b) you have a genuine interest in programming. Do what makes you happy.