Over the past few years, I've seen a few young developers make some not-so-smart decisions about their careers and futures. I’ve always found situations like that frustrating because i hate seeing good developers make bad choices. So i decided to write down a bit of career advice for young developers:
Make sure you like doing your job
To me, one of the most important parts of a job is the fact that you should enjoy doing it. If you do the math, you’ll quickly realize that you’ll spend somewhere around half of your active adult life at your job, so you might as well try to make the most of it. If you’re unhappy or frustrated at your job, you’re essentially wasting a large part of your life so you’re better off trying to find something that you actually enjoy doing.
Make sure you get satisfaction out of your job
A lot of people want different things out of their job, so it’s hard to quantify those. For some people it’s really important that their work is actually useful or helpful to others. Other people might get more satisfaction out of the fact that they are continuously increasing their skills. Other people want to make sure they work on very profitable stuff. Whatever it is that satisfies you in your job, make sure you get it. It keeps you motivated, it keeps you sharp and it helps in keeping you happy in general. Keep in mind though that there will always be days or short periods of time where you don’t feel like you’re getting that satisfaction out of your job. It’s only natural that this happens once in a while, but if you feel like that on a regular basis, you’re probably better off looking elsewhere for something that suits you more.
Choose between actual jobs, not companies
If you have to choose between jobs, go for the job that seems the most interesting and fulfilling. Do not base your decision on the actual companies offering the jobs. Always keep in mind that there are plenty of developer jobs out there (especially if you’re good) so you don’t really need to focus on stuff like job security. This can be different if you already have a family to feed, but then again, this advice is targeted to young developers. Go for the job that interests you the most, it will usually enable you to grow as a developer and increase your skill level substantially (which in the long run is the only true way to achieving job security anyway… more on that later).
If you like developing software, then keep working as a developer!
Developers that start working for larger companies often feel the need to climb up the corporate ladder to achieve some sort of management job. Because managers are important right? If you want to make it into management, you better be very sure that it’s really something you want to do. Be prepared to be stuck in meeting rooms with people who often don’t really know what they’re talking about and are often only interested in advancing their careers, even if that means if it has to be at the cost of others. If you’re a good developer and you like developing, there’s absolutely nothing wrong with staying a developer. There are far too few good senior developers, and those people are always in heavy demand.
Don’t put up with being a Code Monkey
Some developers are often considered as Code Monkeys, and they don’t really get a lot of respect. Those developers can be just as valuable as any other developer, so if you ever feel like people look at you as just a Code Monkey, there’s no reason to put up with that. You’d be better off finding a job where the developers are treated and appreciated as the valuable resources that they are.
Learn from your co-workers
Make sure you can learn from the people you’re working with. If you’re stuck in a place where you feel that you aren’t learning anything new from your co-workers, you can quickly become demotivated, which is a terrible way to spending large parts of your days. A job where you frequently learn new things from your co-workers is really a blessing. Not only are you getting better at what you do, you’re basically getting better for free, without having to invest your personal time into it.
Keep up with new technologies and ways of working
As i just mentioned, it’s very important that you learn from your co-workers. But that doesn’t mean you shouldn’t spend a bit of your own time into improving your skills. You don’t need to spend hours a day outside of work on getting better, but a couple of hours here or there could really make a big difference into increasing your skills. Not only do you get better from it, it also enables you to improve the skills of your co-workers, which in turn makes you a more valuable developer. Learning from people is important, but allowing people to learn from you is just as important.
Don’t focus on job security
I used to work at a large company in the financial industry. I was there as a contractor, so i wasn’t a ‘real’ employee of the company. I did meet some young developers there that only started working there because it was a large company where they had job security and a chance to build a career for themselves. The thing is though, those large companies usually aren’t a very satisfying place to work. Things take a long time to get done, and the bureaucracy alone is enough to drain you mentally after a few years. If that happens, you’ve probably found other ways to get some satisfaction and happiness out of your life, usually outside of your work hours. Odds are that you haven’t really invested much in your technical skills, and before you know it, your skills are pretty much outdated, and you become less attractive as a potential hire for other companies. At that point, you’re pretty much stuck at a crappy job. The job security you wanted at first is there, but you’ve lost a lot of options for you personally and you’re now stuck in a crappy job. If you want long-term job security, the best way to achieve that is to just make sure that you’re very good at what you do, and that you love doing it. If you’re a great developer, you will always find a great job somewhere. Yes, even when things in this business aren’t going too great. Great developers will always be in demand.
Don’t let money dominate your decisions
I’ve seen promising developers leaving their jobs just so they could make more money somewhere else. Now, if you’re sure that you’re going to like the new job more, then you’ve obviously made a good choice. But it’s important to be careful. You can always make more money somewhere else, but you often don’t know what kind of crap you’ll have to put up with to get that extra money. If you let money be the deciding factor, you might end up in situations where the only benefit of the job is the paycheck. If making money is your only goal in life, then you probably don’t mind too much. If you want to enjoy your career, you’re probably better off choosing the interesting jobs over the higher paying ones.
Always make sure you can leave your job if you’re not happy there
A lot of companies offer nice benefits to their employees. Some of those benefits could tie you into the company for the long term and you should be careful about those. No matter how much you like a job, one bad management decision could change everything. If something like that happens, and you suddenly aren’t happy in your job anymore, it really would be a shame if you feel like you can’t leave due to financial consequences of having to drop those benefits. Financial institutions are especially good at this… they typically offer employee benefits for their financial products, and if those products (like a loan for a house) tie you into the company for a long time (like, 20 years or so) it might become hard to leave that job due to the extra money it’ll cost you. Make sure you don’t get caught up in a situation like that, and make sure you become great at what you do. If you are great, you’ll usually end up with more financial flexibility anyway
I’m not going to claim that the advice outlined above is a guaranteed way of having a successful career as a software developer. Most of it is entirely up to you and the amount of work you’re willing to put into it. I do think that the advice above can definitely help you avoid some bad situations that could otherwise sneak up on you.