Recession-proof your software engineering career

Software engineering is generally an employee’s market.

In 2019, demand for frontend and backend engineers grew 17%, according to Hired’s 2020 State of Software Engineers Report. In 2018 there were 23 million software developers and by the end of 2019 that number had grown to 26.4 million. 67% of IT managers said they planned to expand their teams in 2020.

But as COVID-19 spurs layoffs, furloughs and hiring freezes, hopes of a V-shaped recovery are vanishing. Where companies once fought each other for talent, software engineers are likely to find themselves out of work — many for the first time. To help you prepare for what’s next, I’ve talked with software developers who’ve been through previous recessions to get their advice on what moves to make now to put yourself in the best position possible in a recession. Let’s start with your network.

Cultivate your professional network

Workers with large, powerful professional networks get hired faster, earn more money and enjoy more professional success than their less-connected peers, according to Harvard Business Review. One survey showed referrals brought in 78% of recruiters’ best candidates. Another survey showed 70% of new hires had a personal connection at their company and 80% of professionals considered networking important to career success.

In a recession, you’ll be competing with far more software developers for each role. So it will be vitally important to set your resume apart with a personal recommendation. Companies often don’t even publicly post their best jobs. “The only reliable way to find a job is through your network,” said Grant Gould, Senior Software Engineer, Toyota Research Institute.

It’s never too soon to start networking. Learning Project Manager and Executive Coach at Novartis Sofi Musleh warns against starting to network after being let go in a recession. Another reason to start now is that networking can also help you stay employed. Skilled networkers get promoted faster, have greater influence at work and feel more satisfied in their careers.

First, stay in touch with former coworkers who can vouch for your skills. “In this field, even in good times companies come and go,” Gould said. “Most companies I’ve worked for no longer exist — but I still work with some of the same people! Networking is more important than niches.” Gould plays a weekly foosball game with colleagues he worked with at Data General in the ’70s and ’80s. “I have learned as much from them as from any course — which problems are eternal, which problems were solved forever ago, which management fads have been here before and which are new,” Gould said.

Now is also a great time to start making new connections.

Sridhar Mocherla, Senior Software Engineer at LinkedIn, recommends attending virtual meetups and hackathons hosted by companies you might one day be interested in working for. Use LinkedIn’s “open to opportunities” setting, which only recruiters can see. He also recommends Blind, an anonymous professional social network. “There are an enormous number of engineers/developers on it, who will readily help with referrals,” Mocherla said. “Lots of people laid-off currently are being helped.”

Mocherla and Musleh both recommend volunteering. “Try contributing to open-source projects,” Musleh said. “Many advise against it, but you will always pick up a name, a contact, a skill or a bit of knowledge that may be helpful in the long run.”

Similarly, proactively identify people you’d love to learn from or work with. Rather than reaching out cold asking for help or to “pick their brain,” find a warm connection to make an introduction. In this first contact, tell them what you admire about them and offer them something of value. It can be as simple as a book or podcast recommendation based on their interest. One more tip: You’re more likely to get a response if they recognize your name. Posting (or writing) high-quality articles about software engineering on social media can help make that more likely.

Widen your skills

In addition to a network, you’ll also need in-demand skills to stay competitive in a recession. While specializing might seem like the way to go, most of the engineers I spoke with warn against that. “Subject-matter expertise is cheap, junior-engineer stuff,” Gould said. “The buzzword skills and languages and so forth in demand will always be filled with fresh college grads. Unless it’s a research job, only the most junior-level people are going to be specialists in the flavor of the week.” Rather than focusing on learning everything about whatever’s hot, learn enough to be able to keep up your end in a conversation about it and quickly dive in if you need to.

“Best advice?” Thomas Martin, Lead Infrastructure Automation Architect at Cox Enterprises, said. “Don’t be a down-in-the-pit, 15-minute-standup software developer.” Instead, go up a level of abstraction. “Get into DevOps. Do infrastructure-as-code. Be on the forefront of designing SaaS applications. I have so many compatriots in high-level IT who are programmers and fighting such an uphill battle against their own disposability.” Devs who learn infrastructure and operations “are writing our own ticket,” Martin said. “Puppet, Ansible, be the builder of the CI/CD pipeline. Don’t write the code that travels down it.”

Adam Lynch, who works in Engineering at Saildrone, agrees. “Been in the game for 22 years now,” Lynch said. “Flourished during/before/after the dot com bust, surviving this one (so far), and have never really had to look for work.” Lynch recommends devs avoid being pigeonholed into only writing code. “Learn infrastructure. Learn old infrastructure. Learn networking and systems, and be competent in both. Understand the plumbing of complex systems and how the lowest-level decisions made there affect the highest levels. Don’t think the world is only the ‘cloud.’”

According to Gould, what you need to know to stay employed is more abstract than the latest trends. “Really just battle scars and good intuition,” Gould said. “The legendary ‘10x engineer’ is really someone who can prevent 9x worth of unpromising ideas from being pursued by explaining why they don’t meet needs, won’t scale in practice, or can be bought off the shelf if you slightly reformulate the problem. That last is especially true in a recession. If your boss has to furlough 3/4 of the company, the last 1/4 are going to be the people who know how to learn fast, economize and to not do unfruitful things.”

First, find out what’s hot so you can get conversant just in case you need to impress someone at a virtual happy hour or job interview. According to Mocherla, Python, Go, C++, Javascript, Java, SQL and Bash are the most in-demand languages. AWS, Salesforce, Kubernetes, Azure and Google Cloud are the most popular platforms. And popular things to learn include Docker, Terraform, Git, Jenkins, Integrated Development Environments (IDEs), Ansible, REST APIs and gRPC. Other hot topics include React and Rust.

According to Hired, 89% of IT managers said recruiting machine learning, artificial intelligence and blockchain talent was a challenge. Demand for talent is increasing fastest in the fields of AR/VR, gaming, machine learning and NLP.

To get up to speed, Gould recommends Coursera or the deeplearning.ai machine learning courses. “A few weeks and you’ll know enough of the tech to not sound like an idiot when talking to specialists, even if you’d need to spend a lot of time on Wikipedia and Stack Exchange if you ever had to do it yourself,” Gould said.

To help you choose what to learn, check out In-Demand Skills to Get a Remote Developer Job (March 2020). And to help you learn, read 42 Projects to Practice Programming Skills and 80+ resources for learning to code online.

Going forward

Software engineering will likely weather the recession better than many fields, but that doesn’t mean it will be easy for software developers. While there are no guarantees in life, maintaining and growing your professional network and widening your skills will do more than pretty much anything else to help you keep the job you have and make it easier to get a job should you find yourself out of work.