Joseph Pacheco is a software engineer who has conducted over 1,400 technical interviews for everything from back-end, to mobile, to low-level systems, and beyond. He’s seen every quirk, hiccup, and one-of-a-kind strength you can think of and wants to share what he’s learned to help engineers grow.
“A diamond is a chunk of coal that did well under pressure.” The economic effects of COVID-19 have already pushed plenty of our software engineer colleagues into unemployment. And even if you’re lucky enough to be working this moment, the prospect of a continued job market downturn has kicked all of us out of our comfort zones. But besides handing us a little urgency, this pandemic has one other gift: time at home. Should you decide to aim some of that time at effective, concrete action items to make you more hirable than ever, you’ve got a recipe for stepwise success that can ease your worries of becoming a layoff victim. Below are the long-game software engineering job-seeking items to focus on while you’re still employed or between roles for a while.
Adopt a Growth Mindset
First of all, you’re not a static entity. You can learn and you can grow, even in a short amount of time. Every hour you invest significantly increases the likelihood you will nab a role or contract when the time comes. Merely getting yourself from bad to lukewarm in one area or another can get your foot in the door at many companies. Two hours a week is enough to make a material difference. More than that can be transformational; you could end up a new person commanding opportunities left and right. And most important of all: Resist the urge to identify with your current situation. Struggling with algorithms at this point in time does not mean you are inherently bad at algorithms. Coding under pressure is possible even for the most nervous among us. If you allow for the possibility of growth, you won’t recognize yourself even a month from now.
Even Engineers Need a Story
Your resume and accomplishments don’t need to speak for themselves. To people other than you, they might not even make sense. To get hired, you need to be able to tell your story in a way that’s understandable and relatable, even to non-technical individuals (like startup CEOs or phone-screeners). This doesn’t mean you have to be a great communicator. Just think about the ways each of your various roles – from low-level coder to engineering manager, etc – fit into a coherent narrative. And if you need to work on some side projects to create bridges in your story, you have the time to do it now. Don’t fret over whether your journey is fancy or impressive; it just has to be real. Believe me, such a story exists regardless of where you are in your career. When you’re ready, practice reciting what you have to a friend who is game to give you feedback, and iterate until you get it right — just like you would with code.
You’re Like a Startup: Find Your North Star
It may seem inappropriate to be thinking about ideals during a crisis, but you can’t find a good fit when you don’t know what you want. And if you want to get hired, you need to find a good fit. Take some time to really think about your values. Do you want to grow as an engineer? Do you care more about product outcomes or tough technical challenges? It’s ok if you’re not sure, but it’s worth exploring to see what naturally pops up. As this starts to become clear, you will be able to demonstrate meaningful alignment with roles, and hiring managers will be more likely to judge you as a good cultural fit.
Level-Up Your Demand
Once you’ve thought big, it’s worth considering market needs. You may be able to satisfy your highest values while still negotiating with the realities of market demand, if only for the short-term. Mastering stylish languages like Python could both signal you’re one of the cool kids and make more roles immediately accessible. It could also make coding assessments easier. On the flip side (or perhaps the dark side), Microsoft has a strangle-hold on a lot of traditional companies with deep pockets, so familiarizing yourself with technologies like .NET could potentially get your foot in the door. You don’t necessarily need to stick with .NET, but if you want to revolutionize from within, it helps to speak Sith.
Reinforce These Two Basic Interview Skills
Eventually, you’re going to have to take technical interviews. While sharpening the most technical parts of your interviewing chops makes sense to do in the middle of a job-hunt, there are two key skills you should be refining regularly. Coding under pressure is often overlooked, but it’s a big one. I’ve personally administered almost 1,400 interviews, and lack of practice in this area can hurt even the most senior among us. It’s unnatural compared to the way you code at work, but it most definitely can be learned. Practice is everything here. Do a bunch of problems, time yourself, and watch your productivity inch higher and higher. LeetCode has problems just like the ones you find on many interviews, which will also help you refine the second critical skill: algorithms.
If you’re great at algorithms, you’re in the slim minority. For most of us, they’re a source of immense frustration. Whether they should even be the focus of so many technical interviews is debatable. But one thing’s for sure: you are not the problem. Algorithms are hard because they’re couched in intimidating language. But rest assured that most of the stuff you need for interviews isn’t even that advanced. You just need to spend a bit of time on the subject. You can get ahead by watching practice videos (HackerRank is great for this) and reading books like Cracking the Coding Interview. If you can make web apps, you can do algorithms.
Triplebyte has a (very long) technical interview prep guide that touches on some of the stuff above.
Be Ready for Remote
If you want to work remotely, as our new world suddenly demands, companies want evidence that you can do so productively. If you’re one of the few with a lot of experience, make it clear on your resume. A lot of teams are trying remote for the first time and they are looking to veterans for direction. But if you’re like most people, you’ve primarily worked in an office. That’s fine. You just need to understand there’s a set of best practices and skills that make productivity possible in a distributed setting. Fortunately, there are tons of books, articles, and blog posts on exactly this topic. Do some reading. Think about the things you get from seeing people in an office that you don’t get virtually (and vice versa). Talk to friends and colleagues about their WFH experiences and start to develop opinions. Take on short-term remote projects for practice. If you can talk about the ways you think you’d be able to maximize your productivity in this brave new world (by at the very least being aware of the basics and why they are important), this may help win the confidence of hiring managers.
Get to Work on Non-Work
The best way to grow as an engineer (and grow your engineering resume) is to actually build stuff, particularly in conjunction with other engineers. There are, of course, the usual suspects outside of your job (contributing to open source, working on your app idea, etc), but this pandemic has opened up some truly unique opportunities. You can actually help fight the source of all our problems. Small tools to larger-scale projects to tackle the crisis are all on the table. There’s already a Slack channel dedicated to fixing the supply shortage, not to mention the Coronavirus Tech Handbook, Help with COVID-19, COVID-19 Response, and this article from 80,000 hours. Find a project. Start a project. Join a community. All the while, you’ll build valuable experience, experiment with new tools and technologies, and maybe even work remotely with others. You’ll be a source of inspiration, a noble, meaningful change-maker that everyone can be grateful for as you become even more hirable. This is a massive win. For literally everyone.
Now Is the Time!
If you invest in only a few of the items above, you should be in a much stronger position to grab a good job should you find yourself on the search for one during these tough times. And even if you remain gainfully employed for a long time coming, turning the nervous energy of today into an investment in your “diamond-level” hirability tomorrow is a winning strategy.