Ask HN: How Do You Find the Right Fit for Career Growth?
I'm 3 years into my career as a software engineer. I became enthralled with programming while in graduate school (studying a completely different discipline) and decided to drop out to pursue a 2nd BS in computer science.
I work at a large F500 corporation that is attempting to brand itself as a tech company. But the reality is, there really isn't an engineering culture. I'm at an impasse with regard to my career and emphasizing my professional growth. I've identified what I would like to have moving forward, but I have no frame of reference to know whether it is realistic to find a balance to these key things:
1. *Passion for Craftsmanship* - Mentorship is a big ask of more experienced individuals. I'm eager to learn and to do so in an environment where people get excited building things. I recognize my development is largely my responsibility, but I'm desperate for feedback on how I can improve and grow.
2. *Available Opportunities* - I didn't make the career change for the money, but its nice to have. But not so nice, I'd want to be completely miserable for it. I've seen it be suggested that being in a major tech hub would be beneficial both in terms of salary as well as opportunity. At present I'm willing to relocate to wherever the opportunities exist. I moved across the US for my current role, but the surrounding region isn't bustling with SWE jobs should I find myself unemployed.
I don't dislike where I am at currently but I do dislike that I feel a sense of stagnation seeping in. My attempts at articulating my desire for a challenge at work get pushed aside and while my performance reviews keep coming in glowing, I feel stuck and don't feel like I am doing my best work.
How do you vet companies / jobs that have what your looking for in terms of growing your career?
> How do you vet companies / jobs that have what your looking for in terms of growing your career?
I have a pretty low bar - I will never join a company where tech is a cost center. That is - is the code you are writing generating direct revenue for the company?
If yes, then it's in the company's best interest for the tech to at least be "better"
If not, then they just want to spend as little as possible without making it "good". Ironically, investing into talent and best practices actually makes it cheaper
It's more complicated than that. For example, software in car or electronics companies is not a cost center, but is nevertheless treated as an ugly stepchild most of the time. They usually have a culture, where "hardware" engineering (mechanical, electrical etc.) is real engneering, while software is easy in comparison and thus can be deprioritized.
The main issue for you seems to be you don't live in a major tech hub, or isn't in a remote position from a company built with such values.
There you'll be able to get mentoring and grow faster, but beware... 'passion for craftsmanship' is something you'll rarely see. People working in big tech or companies that move fast they prefer to be pragmatic, and you'll see many bad solutions running in production just because it was faster to ship.
How do I vet companies? I go to work in companies where I know good people work.
Try to engage with your community and see who are the main drivers of progress in your programming language or infrastructure you use, try to work where they work.
Honestly people in tech are so kind that if you just ask whoever inspires you, what companies they believe are doing great work, I bet they'll have alternatives.
Also and not the least, work in a programming language that has a great community looking for progress. Not all communities are like this, some are stuck in the past.
I'm (likely) way older than you and can safely say that you should seize this desire to grow, go for what you want. As it's much harder to jump into a cool company when you are in your 40s if you have nothing impressive in your CV.
As you are still in the beginning of your career, all the doors are open but you need to make sure you are running. Of course, don't quit cold turkey, but make sure you are always moving strategically to build yourself up.
Also, make sure to analyze yourself what you want in life. Not everyone needs to work for Meta, make $1M comp, but have a negative impact on everybody's mental health.
And also nobody needs to grind hard their whole lives, maybe talk to a professional therapist as they can help you understand what you really want in life.
If you ask here on HN people here often work in FAANGs or are founders and are dedicated to the grind, meanwhile they 'achieve' much, it may not be what you want. It's perfectly fine to be content with less need for money or social acceptance. Just by being disciplined you can have a pretty good financial situation while working as a software engineer for a mid-tier company.
It took ~20 years coding and chasing rainbows for me to find this out.
Whether in FAANG or big/small company, or even building your own business I hope you find what you want!
If you want my honest to god real world advice:
1) Keep your stable job and don’t hop right now.
2) Why? AI is eating jobs and traditional enterprise companies are a good place to last AWHILE into the end of programming as we know it.
3) I am truly scared of job postings where the company has not pivoted entirely to AI. They sell products that can be reimagined or replaced by AI at the moment, so those jobs are the real ghost jobs. Seriously, all I can think is “how exactly will this company be here in a year, AI can generate a lot of this”.
4) So, stay safe. Stay invested, ride the AI investment thesis up, glide through the end of programming, and exit into the world of basic income/social security into retirement. It’s not a fantasy world out there where you just get to seek out the exact company fit anymore. The economy is being rewritten.
This is doomer mindset. If you sit and wait and do nothing AI will eat your job as you said (or likely you will always have a job supporting legacy software because AI isn't trained on your obscure, undocumented in house framework that was written 15 years ago that nobody understands)
You afraid of AI and want to remain relevant? Same as it ever was, get with the times. Figure out how to get LLMs into your workflow. Figure out how AI works and how to embed it into your product so that it actually improves it.
> If you sit and wait and do nothing AI will eat your job
If you sit and do nothing, doing nothing will eat your job. AI will have had nothing to do with that.
AI is only replacing jobs in departments with leads that have zero idea of what they're doing. Once they realize that you can't say, "hey make my app" and have everything setup and ready to go for you, those companies are going to be paying out the ass to contractors to cleanup the mess they created for themselves.
The same thing happened with outsourcing overseas years ago. As many have said before, writing code is the easy part.
I also encourage you to think carefully about your physical location. Think about proximity to tech jobs, family, quality of life, etc. After 10 years, chances are you may have acquired a spouse, in-laws, mortgage, kids, and friends. It becomes much much harder to move to a new location for career opportunities. So choose while you still have freedom of motion!
I have always tired to find teams/companies with engineers smarter/more experienced than I am. As long as I work with people I can learn from I have avoided stagnation. This can be true in "tech" or non tech companies. The real challenge is identifying engineers who are worth learning from. As soon as I am not learning and growing, I take it as a sign its time to move on.
Even in established tech companies, most software 'engineering' is tedious grunt work. It's hard to grow copying and pasting YAML files all day.
If you want to build cool stuff, an early startup is really the only place you have a reliable chance of finding that sort of work.
You might have to go to work for the paycheck and find that fulfilment in side projects.