Software Engineers Have Been Lied To
You don't have to climb that ladder.
When I just started my software engineering career, it was very obvious what the next step looked like: get more experience, become senior. Then the goal shifted to becoming a technical leader. At 26 years old, I became a Director of Engineering at a startup.
I realized I wanted to work on bigger projects. So, back to an individual contributor. Joined a Fortune 500 company. Switched teams after a year, got promoted after six months.
Then another company. Chasing impact and money.
Rinse and repeat. It was a simple time: keep your head down, work hard, and hope that your work will be recognized. Get promotions and raises.
I bet this sounds familiar to many software engineers. Things can become progressively more competitive (and sometimes toxic) the higher you climb. But what else can you do?
The only alternative I was aware of was starting a company myself.
To me, that meant grueling experince of raising funds, then chasing goals that were not fully yours. I didn’t go through that process as a founder, but I had a front-seat experience1.
But, as I learned when I got older, there is a third path. A path that can provide fulfillment and a higher degree of freedom.
No one told me about this. I had to believe that climbing the corporate ladder or starting your own VC-backed startup were the only two options. That was a lie.
The Third Path
Unfortunately, there is no single word to describe what I’m about to explain.
A consultant is probably the closest one. Unfortunately, the term has picked up a lot of negative baggage over the years.
A Fractional CTO is another one. Advisor, in some situations. Freelancer, but to a certain degree. Contractor?
Despite very different angles, these are more or less the same job. A solopreneur. I’m describing a job where you sell your experience and skills at a premium. A typical freelancer is someone you hire when you’d like to save. But a consultant brings highly specialized knowledge that costs more than that of your average engineer.
Consultants can be very hands-on, working alongside full-time employees and going through the same workflows. They can also be more high-level, discussing architecture, strategy, and implementation. Or they can mentor and educate. That’s why it’s so hard to define the role.
What’s important to realize:
Consulting can be what you want it to be
Enjoy software engineering as a craft? Consulting doesn’t mean stopping to write code and build systems, quite the opposite. Most of my hands-on engagements involve full days of design and implementation. Almost 0 meetings. No performance reviews. No daily standups or other meaningless rituals. No on-call.
Enjoy problem-solving? Enjoy mentoring and teaching people? You can design your days so you spend 80% of your time doing what you want.
And I believe that every software engineer can deliberately design their career, making this path a viable option.
I’m not saying every software engineer must become a consultant, no. But I think that every engineer should pay a great deal of care to their career. So transitioning into a part-time or full-time role where you sell your expertise is always available as an option for you.
Also, this is a great way to start a product company, if you want. I know several engineers (myself included) who used to do part-time consulting while they were bootstrapping a product business. Having that safety net is important.
But <Insert Your Reason>
Yes, this is not an easy path. It requires dedication, hard work and a bit of luck.
But I find it much better to bet on yourself and work hard on your own business than dedicate your life to a company and be eliminated due to “optimizations”. Or not getting a promotion because of bureaucracy. Or making less than your peers because of your gender.
Having full-time employment was once considered a sign of stability. It’s not anymore.
But AI
Large Language Models have been on everyone’s mind in the past few years. Even if you’re extremely pessimistic about the impact of LLMs on coding, it’s really hard to disagree that some impact is not reversible.
However, I believe this actually helps professionals with specialized knowledge. By definition, LLMs are great at producing average output. Even if it looks pretty good.
There is a common misconception that LLMs help generalists the most: finally, you can have an engineer who’s capable of doing anything! But this doesn’t work in practice that well: if you’re building a system that requires specialized knowledge, you can’t really say if the output generated by an LLM is good or not! LLMs can be excellent at producing seemingly working software and convincing you about it2.
But if you’re able to get productive with LLMs, you can gain a huge competitive advantage. It’s funny to see job postings like: “we’re hiring an engineer who can manage tens of agents in parallel and ship with blazing speed”. Why would that engineer work for you? Or work for anyone except themselves at that point? I don’t think most employers realize that.
Anyone Can Do It
I mean it. It just needs time and focus.
Pick a niche, a domain. Ideally, something that you’ve already tried and you like.
It can be vertical, like e-commerce or gaming, or a skill, like building databases or being proficient in Rust. Ideally, you want to bet on something that’s likely going to be more in demand going forward. For example, I chose data engineering about a decade ago, which turned out to be a great bet (thanks to ML and AI).
Start building your expertise. Write a blog or a newsletter, give talks. Publish open-source software. Develop your online brand.
But also, align your existing career with your direction. Be smart about choosing teams and jobs. Convince your boss that it’s a good idea for you to write for the company’s blog. And it’s an even better idea to cover your travel expenses for the upcoming conference…
These are just a handful of examples. I hope you’ll subscribe to this newsletter to learn more.
About This Newsletter
I’ve been doing this for almost a decade. Built a career, carefully chose what teams to join. Grew a strong network, built an online presence. Gave talks at conferences all around the world. As a result, I have a consulting practice that allows me to truly enjoy my craft. I can work 2-3 days a week if I want and maintain my current lifestyle.
I decided to start this newsletter because it’s really painful to watch so many brilliant engineers struggle. Toxic Big Tech culture. Layoffs and the end of ZIRP. Fear of AI eliminating roles.
I want to contribute what I can to help. I’m going to start writing everything I learned in the past decade about building successful careers, building a personal brand, growing your network and shifting to consulting, first part-time, then full-time.
Welcome to The Independent Engineer.
For example, I joined one of the startups as a founding engineer and a first hire. I even sat on a fundraising call with an investor (who committed to invest $1M within the first 15 minutes).
You may disagree with me here. That’s ok. Everyone has a different experience.

