Amazing artwork by my friend GAA, disgracefully cropped to fit the article. Please do check the original.
The more perceptive of you might have realized by now that I had a tough time keeping to my schedule. As for the really perceptive among you, they’re probably not surprised in the slightest 🤷♂️.
Anyway, welcome! It’s been well over a year since I started my journey as an ambitious - if scared - software engineer. It’s high time I gather all the easy and hard lessons learned and condense everything into a yummy delicious soup of sound and proper advice. Let us begin by tackling what I mentioned in my last post regarding where to start.
I’ll just assume you have your CV more than ready and proof read hundreds of times. But what about what or who is on the other side of the interviewing table?
Depicted: recruiters when they catch a whiff that you have graduated.
By now - and after about 371 notifications on LinkedIn - you must have figured that fortunately it is not too hard to find a job in our area of expertise. But this comes with the obvious cost of overchoice. It also significantly dilutes the quality of most postings you will initially get. Young developers are naive and can easily be swayed with less-than-industry-average wages than more experienced professionals. We could debate about the morality of such practices, but what is beyond debate is that it is what happens. Be ready for it.
Obviously you shouldn’t expect to earn as much as a developer who has been around the block longer than… well… never.
However.
That should not mean that you should blindly accept any offer anyone throws at you claiming “industry standard wages” or “the expected wage for a junior”. Research. Ask. Look around. Use your leverage. You shouldn’t stick to a single job posting or recruitment process. Having many will increase your chance of bumping up each of their salary proposals. Don’t be dumb. No two developers are the same even when inexperienced. You got all that? Great.
Granted this would REALLY shave off some ms per request.
Of course there is more to your job than just pay. You didn’t nearly die of caffeine overdose these last few years for just a wage (if you did then geez… click away… shoo!).
You love this! You can’t wait to be a Java developer. Or maybe an Oracle DBA? Perhaps an Android engineer. Sysadmin! You definitely hope to work with Python though.
There’s way too many tech stacks to even joke about, as I pitifully just tried doing. Conversely there are many different companies with many different tech stacks themselves. I have stressed and discussed before how it is important to specialize but also have at the very least a backup interest in the industry — and leave some wiggle room for anything new still around your comfort zone.
There’s plenty of offer and demand. Do NOT rush in to an offer simply because you still haven’t found a company that works with what you were looking for. This is your career we’re talking about. You definitely don’t want to start by doing something you abhor. Unless you want to code punch cards, there is something out there. Within reason of course: I wouldn’t expect you to find a position as a Perl developer with ease if that’s your gig… somehow.
“Here you are Greg! I’ll be expecting the script in my Dropbox folder by the end of the day. Welcome aboard!”
Different companies, as you’ll find, have different ways of doing things. A startup is usually diametrically opposite to a big enterprise when it comes to internal and even development processes. As do developers.
Now, this won’t really impact you that much at first. As a Junior you pretty much know “nothing”. And by “nothing”, I mean that you’ve practically spent your last years plugged into the Matrix learning a skill… that you haven’t really ever used. You’ll be a sponge mostly (as you should!!).
I wrote nothing with quotes deliberately: I already stated my belief that no two developers are the same. Not all will have the same drive or take things as seriously as others. So there’s many different definitions for the “nothing” a junior developer knows, depending on each person. Some might be super motivated to become expert systems engineers. Others might want to quickly move to a management position.
Over time you’ll solidify these ideas and eventually you’ll find your true passion and the type of developer you really are. Different passions lead to different things, different modus operandi and different beliefs.
What is important however is that you find a company that shares those same beliefs. I’ve always had a passion for clean robust and maintainable code. I pushed myself to finally click with TDD and it felt like taking the red pill (ok that’s enough with The Matrix references). So I quickly found out that I dread poorly planned and managed projects and instead prefer an approach for each task where everyone in the engineering team (if there is one…) has a say. I revel in writing and cleaning up code on a project where performance and maintainability is a concern from T minus one.
Unfortunately, not all companies are like that. As not all companies will share your beliefs or passions and as an unabashed idealist, I’m very sensitive to this matter. Find your mojo and what makes you tick. Then try and find a company which resonates those same things with you. Shazam, you got a match made in heaven. Remember: an interview is meant to go both ways 😉.
And not be afraid to make mistakes. That is to be expected.
… oh, you were expecting more? I’ve written extensively about my own self doubt and insecurities and how I’ve surpassed them. If you’ve got this far, you might as well check the rest of the Road to Mastery series if you haven’t already.
This really is what I would have loved to have read before I moved to this coastal metropolis with all the dreams of the world in my pocket and my friends and family far behind. At least where I live, a fresh new batch of prospective developers have just left campus and this will hopefully be as useful for them as it would have been for me when I first started.
I can’t finish this article without giving a big shout out to my bud Pedro Custódio for giving me the proverbial smack across the face needed for me to finally get this article out of my head and to the Internet. Do check out his poorly imagined and designed daily 3D renders!
Also stay tuned for an upcoming Podcast by Joaquim Ley in which I’m featured in one of the episodes and you’ll be able to finally taste of my melted chocolate velvety sexy voice. And also stalk me on LinkedIn and Twitter.
Thank you for reading as always. See you on the next one!