Ask HN: Ways to progress career wise as SWE?
I work as a software engineer and make an Ok salary (market salary). However, it seems like I'm stuck at my level. I have no managerial experience, hence I can't get any leadership roles (either people or software), and I'm not a good enough software engineer to do complex stuff (think: very high load, distributed, etc) - so I can't pass interviews to all the FAANG move-fast-high-load-distributed-world-changing-do-our-7-round-dfs-bfs-interview style companies.
My only option is to jump between jobs and swim in somewhat the same salary range, until AI will replace me, which is far from ideal. I have a SaaS that generates pennies, and I have no idea how to scale it further. I don't have the skills or time to raise money and start my own company. I tried to bootstrap some projects, but most of them are hit and miss (more on the miss side).
I would love to switch to being self-employed either via consultancy or having my own business, but I can't seem to figure out how to make the switch.
Anyone got any suggestions how I can take my career to the next step which will provide me with (1) more autonomy over my time and my work and (2) more money?
The easiest way to move up is to change jobs. The biggest mistake I made was staying in one place too long. Then I changed employers a couple times. Got big upgrades in compensation and negotiated a four day work week.
If you don’t climb the ladder at your current job, and you don’t see co-workers climbing, that means climbing is not possible at that employer. Do not stay there more than 2–3 years.
I was afraid to change jobs because I felt safe and secure in my current position. I thought that going elsewhere would be a horror show. My friends often complained, truthfully, about how terrible their jobs were. Mine was way better than that, so I stayed put. But then when I eventually got the courage to change, every time I moved it got better and better.
The original poster doesn’t seem to be just looking for increased compensation though. They want more “autonomy”. The preparation you do for interviewing is different than what you do for more autonomy and I assume he means leading projects.
It’s hard to both change companies and get a promotion if you haven’t demonstrated working at the next level. By promotion, I don’t mean more money. I mean increased responsibility.
I agree with you though about not staying at a job too long. I did the same thing for many of the same reasons between 1999-2008 and it took me 6-8 years to recover both to be competitive in the market and locally compensation wise.
TBH, it sounds like you don't quite know what you want yet. That's fine, but until you figure out what you're aiming at, you'll be plagued by FOMO until you nail it down. Realistically, you'll probably have to sit in this discomfort until you get a clearer vision.
> My only option is to jump between jobs and swim in somewhat the same salary range, until AI will replace
That's the mind virus that the CEOs want you to have.
> I have a SaaS that generates pennies
Most people's initial independent ventures don't make any money, so give yourself some credit here.
> I would love to switch to being self-employed either via consultancy or having my own business, but I can't seem to figure out how to make the switch.
Limit risk by requesting a reduced working schedule at your current gig and do more independent work in the time you get back.
I know what I want, but I'm afraid that it's not possible to achieve this. I want full autonomy (as much as possible) over my time and the kind of work I do, while still making at least the same amount of money I make now.
So it would be something like a line of people who are willing to hire my services, while I decide what to work on and how to do it.
> That's the mind virus that the CEOs want you to have.
What do you mean by that?
The current zeitgeist is extremely anti-employee: mass layoffs in a lot of BigTech, and DOGE sadistically slashing federal employee jobs. All of this is meant to send a message that you, an employee, should be more compliant. For some, however (like yourself), the natural reaction is to step back and realize that you don't want that at all. It's an extremely healthy reaction, actually.
Concretely, as I said, I'd look at chiseling time off of your main job to work on other things. This will require a lot of patience (and maybe a job switch to somewhere where that is acceptable). You will probably lose money in the short term.
I'm not the best person to give advice on this, so take that into consideration.
But I think you need to have a fairly decent skill in networking.
I've been slowly building up my skill in networking (randomly approaching people on LinkedIn). It's currently slowly paying off in that I think I will have one friend that is working in FAANG.
I've had 10 conversations so far with people from FAANG (or related). I found most of them okay conversations. However, with this guy, the conversation was genuinely fun and I realized I could consider hanging out with him no matter what his title is.
So why not synergize and look for people that work in prestigious places that I also genuinely enjoy?
Once enough people know you, work will slowly roll in.
That's my strategy moving forward.
Do you want to manage. Most companies have fewer people who want to manage vs. spots. So if it is something you want to do I think just ask and you'll be encouraged. If not see if you can tech lead (lead projects rather than direct reports, set some coding standards etc.).
But managing isn't for everyone but don't feel locked out, you can try it if you want to.
When it comes to starting a business or making money, the most common mistake that technicians make is to act based solely on what comes to their minds and do whatever they think of.
In fact, the most crucial first step is to analyze the market. Go to places closest to applications, the market, and user feedback, such as the App Store, Product Hunt, Reddit, etc., and obtain user comments as the starting point for the product or service you plan to offer.
While quickly creating a Minimum Viable Product (MVP), promote and update information about your product on self-media platforms to attract seed users.
Don't stay in the comfort zone of coding. This may work for a very small number of people, but you must step out of it.
Your asking this question is already a good start.
I'm currently developing products based on market demands. It's just the beginning for me, but I know I'm on the right track. With continuous hard work, everything will turn out well. Keep going, young man!
> I have no managerial experience, hence I can't get any leadership roles (either people or software),
Management and leadership are overlapping but different things. You become a leader by having people who will follow you. Having control over their rewards and career (management) makes that more straightforward but it’s not the only way.
Do you know your boss’s biggest objectives, problems and worries? Your boss’s boss? Do you have opinion about what is holding your team back?
The answers to the above often aren’t strictly technical. Your boss might be under pressure to show efficiency improvements due to AI, or might have junior developers struggling to ramp, or be getting taken to task for quality issues. If you understand their problems and go to them with a solution they will typically be happy to make at least a little space to work on it. Succeed, and you develop trust, which in turn results in them being more willing to turn to you to solve problems and grant more autonomy to do so.
The key thing here is that you have to work to find problems that others want you to solve. You can develop autonomy, but only in the service of others.
That’s true whether you want to develop within a corporate environment or move into consultancy- you only get rewarded/paid to work on problems someone else wants solved.
In my mind, there is very little overlap in management which is about role power and leadership which is about relationship and reputation building.
Even a manager shouldn’t rely too much on role power to achieve objectives.
Definitely agree, almost wrote that too, but it was already a long response :)
Management is about directing resources. Good management needs leadership ability to get the people they are directing to buy into where they are being directed, but also a bunch of other skills.
That being said, having the formal designation makes relationship and reputation building easier to start- subordinates are motivated to have a good relationship with you.
Maybe? In today’s market, I’m going to do everything I can to build a positive relationship with my manager. Jobs just don’t fall out of the sky like they have done for me since 1996.
But if I don’t genuinely like and respect my manager, I’m not going to go the extra mile for him, I’m not going to stick it out with him through thick and thin and I’m going to leave at the first opportunity.
On the other hand, I’ve had very technical managers that their subordinates liked. But didn’t build positive relationships with the rest of the org. It was impossible to get things done that required cross team coordination and he couldn’t get the raises and recognition that his team wanted. Everyone ended up leaving.
> I'm not a good enough software engineer to do complex stuff (think: very high load, distributed, etc) - so I can't pass interviews to all the FAANG move-fast-high-load-distributed-world-changing-do-our-7-round-dfs-bfs-interview style companies.
Feel free to disregard if you're simply not interested in FAANG, but what makes you say this? What has your interview preparation looked like so far?
I have almost two decades of experience. I'm approaching 40 years old, I have a family. Sure, I might sound stubborn, but I don't have the time to study 3 months for the nuances of DFS algorithms, or grinding leetcode.
The interviewing process should evaluate my knowledge as required by the job description, and not to play a role in satisfying the ego of the interviewer(s).
So yes, while I did refresh my memory on Big-O notation, and ran through some common brain teasers, I'm not going to read books and invest 3 months of sleepless nights in order to get the opportunity to be a cog in FAANG.
Life is about choices. You want to make BigTech money you have to play the game. You’re not going to change the way the industry works.
It’s fine not to want to play that game and accept that you probably will make less as a “senior developer” working in “the enterprise” as someone just graduating from college and getting a return offer from any of the well known companies.
I am 50, married and an empty nester. Spent all of my career working in “the enterprise” and even my one stint at BigTech between the time I was 46-49 was working in the cloud consulting division (full time direct hire) working with enterprise customers and I am now doing the same thing at a smaller company
You can put your ego to the side and enjoy making a quarter million a year as a cog or you can keep your ego and not - choices.
I made my choice and I continue to turn down opportunities to make more money for better work life balance. But I am making that choice with my eyes wide open.
There is also a world of semi-faangs. Something like working for salesforce or workday or even vercel or fly.io. These pay good money and will interview hard but maybe more accessible than the hard core Faangs. (And Facebook and Amazon are known ad hard places to stay at anyway).
Lots of choices out there!
Looking at levels.fyi…
Assuming he could get a job as a senior developer and the definition and responsibilities and qualifications of a senior at these companies are a lot different than those of a “senior” in Enterprise dev, you are still looking at around $225k.
While that’s not bad, it’s not the eye popping FAANG level salaries. More than likely he is going to be down leveled since he has no experience with architecture and system design or demonstrated “scope” and “impact” of senior developer.
If he gets down leveled to a mid level developer at either of these companies, he’s not doing too much better.
And in another reply he stated an unwillingness to do the interview prep.
Fair enough. I got downleveled into such a company but got paid same as a higher level elsewhere so now there is somewhere to go up! Plus even they have raises at same level. I have no ego and grinded leet and design interviews. Happy with my choice
Warning: unsolicited advice incoming. DFS, at least in the context of big-tech interviews, basically just means searching a 2D matrix, or a graph. It's not some esoteric 160 IQ PhD CS concept. You probably've implemented DFS in your day job without even realizing. I used to think algorithmic interviews were beneath me, too, but then I realized that attitude and insecurity was just getting in my own way.
I begrudgingly started treating LeetCode and CodeForces like a game, and it turned out to be more engaging than I expected. I'm also 30 with a family, so I get the time constraints, but just 30 minutes a day for a few months made a huge difference.
Put it this way: If someone told you, 'I'll give you $500k, top-tier career opportunities, and a resume that opens doors, but you have to spend 30 minutes a day for six months solving toy programming problems,' would your sincere reply be "no thanks"?
> I'll give you $500k, top-tier career opportunities, and a resume that opens doors
And he is not going to spend three months grinding leetCode, after working for an unknown company and walk in the door making $500K. He will make significantly more than he is making now admittedly.
And being in BigTech doesn’t guarantee a job or really help on your resume in and of itself after you leave these days. As many people who have been laid off, it won’t even separate you from the noise. Especially if (hypothetical) you, don’t have anything to show for it but you pushed some code maintaining a service.
Again no shade toward the original poster. I was about where he is when I was 40. If you take away my AWS account , I turn into a pumpkin - an enterprise dev with above average soft skills.
I don't think you sound stubborn, I think lots of people think the same way. Wishing you the best of luck in your search.
So you don’t have the time or you do have the time but won’t do it?
> However, it seems like I'm stuck at my level.
Have you gotten any feedback in your current role about why you're stuck? The reasons can vary from the difference in expected behaviors from level to level, no room at level +1, your current company/manager not really caring about your advancement, etc.
> I have no managerial experience, hence I can't get any leadership roles (either people or software)
Is this because you don't (or haven't had opportunities to) step up to lead/own chunks of work?
> I'm not a good enough software engineer to do complex stuff
Do you plan to do anything about this? It's hard to advance without some amount of self-improvement?
> I have a SaaS that generates pennies...[snip]...I tried to bootstrap some projects, but most of them are hit and miss (more on the miss side).
This seems to conflict with some of your earlier statements. Are you saying that you're motivated enough to try to bootstrap multiple projects, and have started a SaaS that actually has paying customers? It seems to me that if you have that motivation, you should be able to improve and grow to learn the things that you think are holding your career back.
> Have you gotten any feedback in your current role about why you're stuck? The reasons can vary from the difference in expected behaviors from level to level, no room at level +1, your current company/manager not really caring about your advancement, etc.
I'm in a family-like company, so there is not much feedback giving. I'm trying to change a job, but there are few struggles: (1) I can't really improve salary that much due to OP, (2) the market is currently shit, (3) even if I find a job, it sets me back to square zero.
> Is this because you don't (or haven't had opportunities to) step up to lead/own chunks of work?
I did lead/own chunks of work. But it just seems not enough to justify leadership roles. I get the "it's impressive, but we need someone a BIT MORE qualified".
> Do you plan to do anything about this? It's hard to advance without some amount of self-improvement?
When I was younger, I dabbled in many areas: game dev, web dev, os dev, embedded, assembly, C, Java, JS, PHP, etc. Eventually I found my career and my niche, but due to certain luck (or lack thereof), combined with my young naivety, I didn't progress fast enough to the style of companies that deal with high load, and other mambo-jumbo tech. And now, I just have a lot of years of experience in mediocre companies/products.
> Are you saying that you're motivated enough to try to bootstrap multiple projects, and have started a SaaS that actually has paying customers?
I do. I have a lot of motivation when it comes to actually solve problems. I talk with customers, do development, and try to find new ways to market my SaaS. I just hate doing to for someone else when corporate politics is involved.
> I didn't progress fast enough to the style of companies that deal with high load, and other mambo-jumbo tech.
To clarify, you blame “not being a good enough software engineer” on working for the wrong companies?
I don't know how to express it correctly. But yes, sort of. I didn't work in high-load-kafka-like companies, so I'm kind of stuck in my mid level company types that do relatively simple things.
99.9% of software devs are likely in the same position as you.
Good (but not exceptional) salary working with old/stable technologies that solve established business problems in a digital way.
Working in high-load-kafka-like companies with salaries usually reserved for upper management of "boring" workplaces are the 0.1%.
OP you're not alone, I'm in the same exact position and cried to my partner yesterday sharing like
- "Couldn't get level up as my startup employer keeps on giving great feedback but needs more impact" AND
- "not skilled or talent enough to raise money for start - rejected by YC (they claimed i'm at top 5% - which I think to drive their pipeline for next batch submission)" AND
- "Started bootstrap company crossed 2K$ MRR and failed due to cofounder conflict - you can blame me" AND
- "Tried building SAAS product and all failures with partner (but she is optimistic)" AND
- "Started consulting company and landed almost gov bidding for development contract (software) and failed in last round"
And currently started working on hobby project as open-source until something clicks. I feel every door is closed for me now atleast current perceptions (strong believer some door might open - but the wait time is killing me)
but one positive part is my networth gone from 0 to 650k (came from public company RSU and not a big amount for age 25 but heavily indexed) and this is giving some freedom to try and explore more things.
I submitted this a little while ago. I’m not the author
https://news.ycombinator.com/item?id=42818169
Every level of software engineering above a mid level developer is based on “scope”, “impact” and “dealing with ambiguity”. Title doesn’t matter, if you are pulling stories off the board with well defined business use cases - you are a mid level developer.
https://www.levels.fyi/blog/swe-level-framework.html
> I would love to switch to being self-employed either via consultancy
“Consult” on what? If you don’t have a specialty and no “full stack developer” or “backend developer” is not a specialty.
There is a huge difference between “staff augmentation” and strategic consulting where you are bringing in specialized expertise and talking to decision makers.
more autonomy over my time and my work
Learn how to deal with “the business” and be more strategic, learn system design and architecture and some project management.
> more money
This is a different optimization. It might sound reductive. But to make more money, work at companies that pay more money. You are never going to make the eye popping comp that you are seeing on levels.fyi as an “enterprise developer” - ie non tech companies.
In the words of r/cscareerquestions “grind leetCode and work for a FAANG (or equivalent paying company)”. That’s the first step and then see the first part about getting ahead.
> I'm not a good enough software engineer to do complex stuff (think: very high load, distributed, etc) - so I can't pass interviews to all the FAANG move-fast-high-load-distributed-world-changing-do-our-7-round-dfs-bfs-interview style companies.
You should challenge this opinion of yourself. I thought this too until I actually tried and found out stuff isn't that hard (at least so far). Specifically I know dfs bfs stuff isn't that hard because I have learned that. If you are competent at your job then you should be able to learn this. It just takes repetition. Even though you are busy if you can spend 30 minutes per day studying, you will learn it without it even feeling like a challenge.
For more time and autonomy you'll likely have to run your own company. A good stepping stone is B2B freelancing using your existing network? Eventually you can retain enough profit to spin up your own products and gamble.
You're already in the process of progressing career-wise. Keep it up! Just don't stop!
Try out idea.. after idea.. after idea.. However many you think is a lot (it is) you can do more. :) What's the alternative? Stop? Give up?
Some words of advice. A consultancy is a result of you having badass skills and a badass network. It isn't built because you want to start a business. Maybe 15 years ago you could.
With a consultancy you will be going up against guys with badass skills and a badass network. What would be your plan to go against them?
Having your own business sounds like just the ticket. And you're off to a good start it sounds like. Think better about your next ideas. Think more strategically. Do better market research. Make better data driven decisions. Align everything about all the things you've been working on (if you can, or some of them).
Play with your brands, brand names, target markets (geographic areas, age segments). Play with logos, websites, website tools, marketing strategies, instagram account usernames, domains, vanity phone #s. Play with all of these and shape the mold of what you're wanting to make.
It should be a combination of what you want to do, what you think can make money, what is easiest for you to execute and probably a bunch of other shit all with percentages that fluctuate based on the idea.
This was a bit lengthy as I'm feeling pumped up from applying to ycombinator last week, but I'd like to end with this.
The ability to pivot, re-prioritize, not give up, stay positive, see the bigger picture & identify the true dictating factors of situations (meaning find what, if changed, changes other things that are important and what those other things are) seem to be important.
Let your employer pay for you learning new skills. This can happen as you transfer to a new project, or as you volunteer for a new assignment, or as they offer training. Whenever you can, learn on your employer's dime.