There are better jobs out there if you’re getting worked to the bone but it’s not like everyone is going to get $400k and wonderful work. That’s still reserved for the top 5% of engineers.
If you’re in the bay, you have a very slim amount of options unless you got your home 30 years ago.
I don't think it is difficult to find a new job once you are established as a reasonably competent engineer. Do workers in other industries get constant messages via Linkedin and email for job opportunities?
It's gotten harder every year I've been in the industry. I have a limited set of experience since I've only worked since 2013. But, I've interviewed every single year for the last 7 years and the interviews keep getting tougher. Every time I decide to venture out - I have to prep more than I did the previous year. This year is obviously an exceptional year but I feel it's only going to set the bar for the future. I don't see them lowering the bar since enough people are still clearing it.
> Do workers in other industries get constant messages via Linkedin and email for job opportunities?
This means nothing to me, honestly. Most of the messages I get are spam recruiters. I suspect maybe 5% of recruiters are accountable for 95% of recruiter spam. As me and my peers pretty much all get the same emails.
If that's the case the problem is definitely you.
From the hiring side: What we're really looking for is engineers who can work efficiently and deliver results with minimal drama. Counterintuitively, it's not always the most "skilled" engineers who get the most work done. It's not even the engineers who spend 60 hours per week at the office. It's usually the above-average people who show up, get down to work, deliver code, and go home on time or even early.
One of the challenges with hiring, especially hiring more junior engineers, is that many of them have this idea that raw coding skill is the only thing that matters. We've struggled with numerous very talented engineers who simply could not deliver work on time. Some simply procrastinate excessively. Others have perfectionist tendencies, spending countless hours rewriting and refactoring code because they refuse to commit anything less than perfect code.
Meanwhile, some of our highest output engineers are the ones who know how to strike a balance between good architecture and taking on the right amount of technical debt at each step. It can upset some of the juniors when they see other people getting ahead by shipping good-enough code that gets the job done instead of something that uses the latest and greatest frameworks and languages. At the end of the day, we're in the business of shipping things to customers, not crafting the picture perfect codebase.
> You are harder to replace than you imagine. Those "must do" barriers are largely in your head, and if they are not (they really, really are) then MOVE.
From the manager side, I'm increasing seeing young engineers who have a chip on their shoulder, believing that they are irreplaceable and therefore can make the company bend to their demands. Ironically, we're not the type of company that squeezes excess hours out of people or is constantly in crunch mode, yet some engineers are permanently convinced that any employment arrangement is exploiting them or that they're permanently underpaid. I've had multiple people leave for "greener pastures", lured away by higher paychecks, only to ask to come back once they realize how good they had it here. It pays to keep your ear to the ground about better opportunities, but beware of recruiters who are experts at telling you anything and everything you want to hear in order to get you in the door.
^ This people, THIS. Programmers are in massive demand right now, especially skilled ones. You dont have to work to the bone, there are thousands and thousands of jobs out there. You are harder to replace than you imagine. Those "must do" barriers are largely in your head, and if they are not (they really, really are) then MOVE.