· Travis Rodgers · Career · 10 min read
How To Reset Your Coding Career In 3 Steps
The software economy is a mess right now, and jobs are hard to find.
You may be worried about losing your job right now or you may be actively searching for a new one.
Whatever it is, there exists this dormant, underlying piece of this whole situation that we’re neglecting.
You see, no longer having the upper hand in this developer economy has forced us into a career desperation. And this desperation has created a strange confusion about what we’re even doing.
Sending your resume out to anything and everything out there may get you closer to a new job, but in the big picture, is this helpful in the long term?
Can you be a Java developer, a K8s expert, a React master, project manager, and QA tester all at the same time just because it’s part of your 2024 mass blast of resumes campaign?
Now, when you lose a job, you have to take what you can get. This makes sense. I’m not knocking that. But I do think that in this process, you run the risk, long term, of losing who you really are and what you really want to achieve in your career. And being widely spread like this adds to the fog of your mission of further enjoying the career you used to enjoy.
I talked to a guy the other day who just received a new job offer from a company. He has a job and doesn’t need a new one, but is, as we all should be, continually shopping around. He’s a nuclear engineer. His undergrad was in nuclear engineering. His Masters was also related to that, and he’s soon to be starting his PhD in, guess what, this same field. In fact, one perk of this new job he’s looking at is that it would pay for that education.
Now, his education level or choices aren’t what’s important here. What’s more important is his clarity on who he is and what vocation he wants to be a part of.
He’s not entertaining ANYTHING but what he knows he’s called to do.
In contrast, we think we can do it all, well, especially if we’re on the job hunt. Again, this is justified in the short term, but looking forward, do you really qualify for all the job listings out there?
Say a listing asks for five years of experience in .NET development. You may think you can pick up C# and the .NET ecosystem by the time they call you in to prove it, but do you really have the experience they are looking for? Sure, you have the generalist software developer knowledge. You can figure out problems and find solutions, but let’s say they are years deep into a .NET app, some of it is legacy code. They not only want to upgrade to a newer version over time but want to improve performance in the codebase that really only a developer with years of .NET experience would know the ins and outs about.
In addition, maybe the reason for a lot of the imposter syndrome is that we’re daily interacting with technology that we either have no experience in or really don’t want to be in. OR that’s the answer to why we’re not getting any answers to the myriad of jobs we’re applying for—because we really don’t have anything unique to offer other than being a general software developer.
So aside from the economy, which will improve as interest rates begin to go down and companies move from hoarding mode to growth mode, in the next few years what kind of developer DO YOU WANT TO BE?
And more importantly, what do you want to become an EXPERT IN?
I recently came across an article by Dr. Derek Austin titled “How I Discovered the Secret to a Successful Programming Career.” It gave me some food for thought about being a “career programmer.”
And he defines that term like this:
“Instead of being a flexible engineer able to work with “JavaScript frameworks” and “a variety of CSS tools like Sass and Less,” you’re going to become a specialist, a high-level expert who only uses certain technologies.”
“You’ll choose your own “career programming tech stack” and become the best in the world at it — or at least good enough to land a successful 6-figure programming job.”
And there are, according to this article two things that set career programmers apart from other developers, and I think these two statements are extremely powerful:
World-class expertise in certain technologies so you can deliver production-ready code.
The courage to have a strong opinion about why you prefer those technologies.
One issue many of us have, as we are claiming to be knowledgeable in everything, is that we don’t have any strong opinions because we don’t live deep enough in that technology to have formed them.
For instance, when we say Rust is going to completely eliminate the need for C++, I’m probably saying it because I have no substantial experience in C++. Thus, the people who DO have substantial experience in C++ and thus strong opinions push back hard on that statement.
If you work in JavaScript and Python and front end and back end, it’s hard to develop strong opinions on these specific technologies because you’re all over the place.
That’s why hiring managers find you boring.
They want to hear conviction in what you do.
They want your opinions and your strong convictions, not you agreeing to everything.
When you are in your standup, and they say, “What do you think, Travis?” and I’m like, “Oh, sounds good to me,” all the time, then what good am I? Really?
You need constraints in your career so you don’t spread yourself too thin.
You don’t want to be thin.
You want to be FAT in a specific area.
And this is why this idea of full-stack developer is becoming TOO vast a term. Sure, you can work in React and write CSS and also write APIs and interact with databases, but those two areas are vast. And they become more and more inflated by the day in regards to sheer technology.
And, as I stated in my report “4 Skills All Developers Need To Have In This AI Age,” which is a free report by the way, research is showing now, as companies begin to ramp up hiring again, that they are being much more selective and seeking a specialization.
I quote:
“The current labor market favors developers with specialized skills, particularly in areas like AI and cloud computing. According to the US Bureau of Labor Statistics (BLS), software development is one of the fastest-growing occupations. However, developers with specialized skills are seeing higher demand and compensation, sometimes reaching million-dollar packages. On the other hand, those without specialized skills are experiencing lower salaries and fewer job opportunities. The uncertain economic climate is prompting tech leaders to adopt a more strategic approach to hiring, focusing on specific roles to meet business needs. This selective hiring can lead to a talent bottleneck and an unbalanced developer team.”
- Source
You want to be the specialist that they are looking for. You want to be, as we stated before,
A Developer with world-class expertise in certain technologies, so you can deliver production-ready code.
And you want to have the courage to have a strong opinion about why you prefer those technologies.
By doing this, you aren’t looking at 500 positions and bulk applying. You are looking for specific areas that you have determined you are interested in (more on that in a minute), and you are showing up as capable, opinionated, and the best fit for that job. In fact, your applied-to-response job ratio numbers may just improve.
This specialization actually leads to higher salaries, better job security (meaning it’s harder to replace you), and most importantly, you’ll actually find a more improved work-life balance because you aren’t in a mad dash to learn or keep up with everything all the time. You have your lanes, you are an expert within your lanes, you keep up with news within your lanes, and you leave the rest alone.
So let me give you a few tips here on redefining, or hitting reset on your coding career, such that you can find clarity for the upcoming years, and thus joy, opinion, and conviction in what you do.
1. Get clarity
Here’s an exercise.
Pick an early morning, put your phone and your computer away, and push away all distractions. Get a notebook and a pen and spend an hour in what Keith Cunningham calls “Thinking Time” in his book, The Road Less Stupid.
This Thinking Time is a dedicated, uninterrupted period set aside for deep, strategic thinking where you answer one question.
You mull over it, jot notes, rephrase the question, think about it from different angles, and then, in the last 15 minutes of that hour, you look at what you wrote and piece together your findings.
And here’s your question:
As a Developer, what technology do I most enjoy working in such that I can develop an expertise in it?
And you’re going to consider questions such as….
What do I do regularly that I actually hate doing?
Do I enjoy front or back-end development?
What do I find myself reading the most about?
What is going to be in demand 10 years from now?
What do I have strong opinions on?
Why do I not have strong opinions in my job?
Who AM I as a developer?
What did I used to love doing that I no longer do?
And you’re going to take notes for 45 minutes and then spend the last 15 minutes piecing together your answer.
This may taking several sessions, who knows, but you need, first of all, clarity on who you are as a developer and where you want to go. Where you want to be. Who you want to be.
And there’s actually much more to this exercise in this book, like not getting up, not sitting near a window or computer, and tips on how to come up with the right questions. I’ll link it below if you’re interested.
2. Answer this question
Now that you have clarity, how would you answer the question if it was asked to you, “What work do you do?”
“I’m a software developer” is a common answer. But you need to further refine this like so:
“I’m a Kubernetes administrator"
"I’m a .NET consultant"
"I’m an Apple developer"
"I’m a systems developer"
"I’m a Linux expert”
Instead, you say, “I’m a full-stack, surface-level, unopinionated software developer. Give me whatever, and I’ll figure it out.”
Answer this question. What work do you do? If you don’t like it, then figure out what you would like your answer to be.
3. Become the expert
Now that you have clarity and can answer specifically what your vocation is, how do you then become the expert and one sought after throughout your career?
Well, now that you don’t have to learn everything out there, it’s pretty easy. You submerse yourself in that technology. The fundamentals, the history, the best practices, design patterns, scaling, production safety, and optimization. You learn the content, you fill your portfolio with the technology, you read news daily around the technology, and you become the expert.
This is your lane. You own it. People are seeking you out. You have the answers. You start to form OPINIONS.
Follow other experts in this field.
Get into the discussions.
Let your voice be heard.