Karl Hughes

Karl Hughes

Building a Resilient Career

Building a Resilient Career

I was reading another engineer’s story this week about his 65-day job hunt. I’ve avoided traditional job applications and interviews since I graduated from college, but a few things struck me from this post:

  1. Instead of targeting every job, Matt Dupree selectively applied at only 16 companies and withdrew applications when he thought the company was a bad fit. I love this advice.
  2. Matt has built side projects, spoken at conferences, and blogged consistently for years. He walked into interviews with a trust level much higher than random applicants. I have said this before: coding skills are not enough to build a resilient career.
  3. Technical interviews still tell employers very little about an engineer’s ability (that’s a whole other blog post).

Not everyone has the luxury of choice when it comes to choosing their next job, but if you’re a software engineer, you should be able to get there. There’s more demand for our skillset than there is supply, but you have to be intentional if you want to build a resilient career.

What is a “resilient career”?

People with resilient careers don’t fear an economic downturn because they have been able to put a little money aside. They don’t fear losing their job because they probably have half a dozen offers they’ve declined in the past year. They don’t stress about financial concerns because they likely have one or two side hustles bringing in a little extra cash flow.

I mentioned at the top that I’ve haven’t applied for a job since college. Skipping this step in the job search has been possible because I’ve approached my career very differently from most software engineers. Here are my rules for creating a resilient career:

1. Only work for companies that need and trust you

I skipped the job application process with all three of my jobs since college by doing the work that companies wanted before I officially started working for them.

No, I don’t mean you should work for free. Here’s how it played out for me:

  • Uloop hired me to start their blog because I spent my free time in college building a blog, recruiting writers, and learning to code. I worked as a contractor for Uloop while I finished college, and when I graduated, bringing me on full-time just meant signing a W2.
  • Packback hired me because I stayed in touch with the founder for about nine months before they had any funding. When they were looking to hire a full-time engineer, they gave me a project from their roadmap. I did it as a freelancer, then joined full-time after I turned it in.
  • The Graide Network brought me on months after I started building a relationship with their founder. Instead of interviewing, I began as a consultant a couple of nights per week before they had the funding to bring me on.

During each of these test periods, I got to see how much the company needed someone with my skill set, build trust with them, and get a trial run of the day-to-day. If I ever look for a job again, I’ll keep using the same approach because it works well.

2. Your network is your biggest asset

You might also notice that two of my three of these career moves involved knowing my boss for months before joining. Notice that I didn’t run into them at a Meetup one night and get hired the next day.

For some reason, Engineers hear “you should network more,” and think that means they should go out and meet new people. That’s not how it works. Relationships take months or years to cultivate. You have to stay in touch if you ever want them to pay off.

Spend maybe 25% of your time meeting new people and 75% of your time staying in touch with people who you genuinely like. Personal relationships are founded on common interests, goals, or experiences, so find a mix of people who are both ahead of and behind you in your journey.

3. Cultivate a variety of interests and potential revenue generators

I have always had a side project or two - mostly learning opportunities - but in the past three years, I’ve realized that you can generate revenue and build a network from them. Over the years, my side projects have led to consulting gigs, job offers, freelance opportunities, and a lot of high-quality connections around the world.

For example, CFP Land makes a couple hundred dollars per month in profit, which is fine, but the connections I’ve made from running it are worth orders of magnitude more. My previous side project, Job APIs, brings me multiple consulting offers per month (99% of them aren’t worth doing, but still, it’s nice to know they’re there).

My point is, anything I do in my free time is an investment in making my career more resilient.

4. Learn on your employer’s dime

I was talking to a friend recently about his job search. He was lamenting that after five years of working hard for his employer and being let go, he was struggling to find another company that used the same tech stack.

“How much time did you spend learning new tools, libraries, or frameworks each week while you were at your prior job?” I asked.

“There wasn’t time for that,” he lamented, “We were always pushing to the max to get stuff done on time.”

It’s no surprise that my friend’s employer let him go. He wasn’t growing and when the company needed fewer resources in his engineering realm, he was too specialized to move into another area. He was seen as a resource that had to be let go. I used to think you could be indispensible by being the best at one thing, but I’m starting to move away from that belief.

Any employer I work for gets me working ~35 hours per week on the projects we plan and ~5 hours per week learning new things. My value to my employer only increases as I become a more well-rounded engineer, so learning is non-negotiable. Now I bake this into my team’s weekly retrospectives - we share what we’re learning with each other - so we can hold each other accountable for learning new things.

Make the journey your own

Finally, what works for me won’t necessarily work for you. My journey has involved working for early-stage startups - which you might hate - and being a software development generalist. Still, I think the fundamental goal should be the same: to build a resilient career.

Let me know what you think on Twitter.

Read more like this in Software Engineering