5 principles for managing and optimizing your software engineer career

The opinions stated here are my own, not those of my company.

© 2021 Peter Skirko. All rights reserved.

Whether you already have a blossoming career in tech or are trying to “break into the industry”, congratulations, and get ready! A career in tech is both rewarding and perilous. Here’s why.

A tech career can be rewarding in many ways: the money (in the US at least), growth (IC to tech lead or manager to CTO), interesting problems (robot dogs!), and so on.

A tech career can also be perilous. Startups like to fire fast. From startups to Big Tech, you might work really long hours. Some technologies become obsolete or moribund (Perl, WPF). And while some technologies rise and rise (Javascript, Python), others will rise, peak, then slowly decline in terms of broad popularity (for iOS and Android developers, the “gold rush” is long gone). And age discrimination is real—for example, IBM directed its manager to “replace older workers with early career hires”. Gender pay disparities? Still present, year after year. And racial equity has a long, long road ahead.

So what’s a techie like you to do?

TL; DR – Here’s 5 principles for managing and optimizing your tech career:

1. Understand the tech industry and why you are in it.

2. Get the best job(s) you can. “Best” is defined by your goals and values.

3. Always be growing in your current job and company. Don’t stagnate.

4. Keep investing in core skills. For software engineers, Always Be Coding.

5. Focus on longevity. Statistically speaking, most of us won’t retire early. How are you going to last 40+ years?

Let’s dive into each principle in more detail.

1. Understand the tech industry and why you are in it.

Why does WhatsApp sell for $19B but consumer-robotics startup Anki has to wind down after raising $200M? For startup seekers, do you know what a cap table is and how it’s managed, or what a 409A is and how it affects your future taxes? Do you follow the political landscape, like how the EU wants to keep increasing regulations on Big Tech, or whether Bitcoin will ultimately be banned (or not) in some places?

These questions are just a sample. But in your tech career, I strongly recommend that you understand—read, follow, discuss, study, explore—the tech industry. Otherwise, you might not make the best decisions for your career, your family, and so on.

And while you cultivate your understanding of the tech industry, you need to understand why you are in it—your place in this world. Are you in tech because you absolutely love it? Are you here primarily for the good money or the chance of riches? Nobody can answer this question for you.

In some ways, a tech career is simple:

Your career as a finite state machine (or Markov chain, or Markov decision process…). © 2021 Peter Skirko. All rights reserved.

But of course, it’s not really as simple as that. Managing and optimizing this career takes active effort, which leads to the next principles.

2. Get the best job(s) you can. “Best” is defined by your goals and values.

I know what you’re thinking: easier said than done. And you’re right.

“Best” is defined by your goals and values, not mine or anyone else’s. It’s easy to forget this, but don’t, as this is the heart of being fulfilled.

Best can be: financial certainties or possibilities, growth or learning opportunities, work-life balance, flexibility (e.g., the “nomad” lifestyle), a really great culture, etc. With the rise of remote work, which has its own pros and cons, you are less restricted than ever by the companies in your local market. Define your own “best”.

Some people, many in fact, experience the feeling of Imposter Syndrome and may not believe they can get a better job. I don’t have any “quick fix” for this, other than to say, there are many people who can help and support you, from friends and family to people on the internet (like this post!), your confidence and skill can build over time, but IMHO it often takes years of discipline and hard work, and an ability to endure struggle and even rejection, to get better. But believing in yourself, and your potential future self, is a key ingredient.

Also, lots of people find the typical tech interview process unpleasant. From “coding” on dry erase boards to focusing on algorithms and data structure questions, the preparation is time-consuming and the experience itself is exhausting. But hard doesn’t mean impossible. With the right time horizon (for some people, years instead of months), and enough time to practice (which many people don’t have), this process can be tamed. Focus on the goal, and realize the interview process is a means, an investment, to get there.

3. Always be growing in your current job and company. Don’t stagnate.

A lot of tech career advice on the internet focuses on either breaking into the tech industry or switching jobs. This is fine and useful for many people, but many of you will stick with a company for a while, a few years perhaps, or maybe even a decade or more.

With the right company, this is great. Why? Because you can continue to learn and grow without having to pay the “tax” of the interview process: the preparation, taking days off to go to interviews, wasting lots of time on interviews that go nowhere, spreading yourself too thin, etc.

The only challenge is that most companies do not employ you to learn and grow. They employ you to get work done. This work can be tactical or strategic, it can be glamorous or grungy, it can be exciting or repetitive, but it is the work you are expected to do. Sometimes it actually helps you learn and grow, but often times it doesn’t. Don’t stagnate and don’t become complacent.

IMHO the only durable approach to this is creativity. You, dear reader, have to be creative in how you manage both your career and your day-to-day job, not just to get the work done, but to tie it into your needs to learn and grow and achieve longer term goals. Creativity is not just for artists and inventors. This topic, creative career management, is the one consistent, always-there opportunity for creativity that every tech worker has. Voila. Maybe you didn’t see yourself as a creative type, but you are. You have no choice!

Of course, the next question is: how exactly do you creatively manage job and career and optimize for learning, growing, and the rest? That’s a big topic, and a subtle one, and is a topic for another post, but Principle 4 below is the main step.

4. Keep investing in core skills. For software engineers, Always Be Coding.

Your value, and thus the strength of your career, is not defined by tenure, years of experience, “reputation”, or other vague or fluffy metrics. Those are ultimately tautological.

Your value is based on your realized skill: what you do, and how well you do it, and its impact on the world. For some, it is technical and collaborative skills; for others, it is managerial and leadership skills. But it is always about skill and the work you do, not surface appearances. I’m not saying you should get a “mad skillz” tattoo, but… consider it.

Skills are improved through work and practice. For software engineers, please read Always Be Coding. I still remember when this was published, because it so succinctly and astutely hit the nail on the head. For marketers, read Seth Godin’s blog and books. And so on.

As mentioned in Principle 3 above, your current job and work might not be improving your core skills. This is often the case. Creativity is still needed. Practice in small chunks, consistently, if you can.

5. Focus on longevity. Statistically speaking, most of us won’t retire early. How are you going to last 40+ years?

If you retire early, congratulations and please send me a digital postcard from the beach. But most of us won’t retire early. So how the heck are you going to last decades in tech?

Well, you gotta do all the above. Know the industry, get the best jobs, keep learning and growing, and keep focused on building your core value and skills.

Will that be enough? Again, this is a deep topic, and a subject for more posts.

The problem is that most people aren’t thinking 10 or 20 years ahead for their career. Sure, they are often saving for retirement, like investing in their 401k in the US, but they are assuming or hoping that they stay employed until retirement is possible. Look at what happened at IBM, though. Remember, age discrimination will compound every other type of discrimination, be it gender, racial, etc.

Hope is not a strategy. To quote Dune, “hope clouds observation“. If you stay employed until retirement, is it due to skill, inertia, luck?

Working in tech seems easy at first. Then wait til you hit 35. Then 40. And 50. The game changes. Are you ready? Physically, mentally, financially?

I don’t that to scare you. I say that to help you be prepared, to find others with similar horizons and challenges, etc.

Conclusion

So there you have it. 5 principles for managing and optimizing your tech career. For success, longevity, fulfillment, you name it. Literally, you name it: you figure out what you want to do, how realistic it is, and what it will take to get there.

Questions, comments? Comment below or ask me on Twitter @pskirko. Cheers.

If you are reading this elsewhere, you can also read it on my blog here.


Posted

in

by

Tags:

Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: