The problem is, as the article indicates, image. While what you say is often the reality, the image many of these companies portray to the outside world, particularly those outside the SV bubble, is much different. I understand completely where AdmiralAsshat is coming from, because I resemble that remark. Way too strongly. I'm never satisfied with myself. Constantly second-guessing my past decisions. Feeling that I am inferior in some way. Forcing myself to start side projects because that is what "good" engineers do, even if I don't particularly want to do them.
I have by all accounts a great life and a solid career. That doesn't stop me from obsessing over not being better, from beating myself up for not having put myself into the position I fell like I should be in.
I've spent a lot of time in both worlds, there's nothing really glamorous about the startup space. You're in such a hurry and requirements change so frequently that whatever you build ends up being a godawful mess and you just have to live with it. It kills me because I used to take so much pride in writing (what I considered) beautiful code, but now things are always so rushed that I slap stuff together as well as I can given time constraints. There are some components of my codebase that I try to avoid looking at because it just puts me in a bad mood. All I know is that it works and seems to be relatively bug free, but it's gnarly as all get out. My core project is around 60k lines of Python, I have no doubt that I could rewrite the whole thing in less than 10k lines if I had time to refactor, but there's little chance of that ever happening.
I guess what I'm trying to say is that once you're burned out and forever trying to cram 20 hours of work into a 10 hour day there's little chance that anything you do would be what "good engineers" do, so don't beat yourself up about it. I was an engineer for a fortune 500 consulting company at my previous job, the work was somewhat boring but you had the resources to produce extremely high quality work if you were so inclined. I sort of miss that.
I know what the reality is, and I know me feelings are irrational. Of course, depression usually is irrational.
Honestly, it depends on what frame of mind I happen to be in on a given day. Sometimes I look back on my ten years at a defense contractor and think how great it was to work on a complex radar power supply and on complex signal processing software with some seriously crazy platform constraints. Other times, I look back on that same period and see the two years of misery at the end of my tenure as I repeatedly tried and failed to find a new job to get me out of miserable working conditions, all while being told repeatedly from outside how hot software engineering was and figuring it must mean I was a defective doomed to my existence.
Where do you live? Location is everything, you shouldn't take it personally if someone in san fran or austin can find a job easily, those markets are on fire. It's a different story if you live in Kansas or Arkansas, you definitely shouldn't take it personally.
Some of the crappiest engineers I know have a plethora of offers coming in on a weekly basis, just because the supply/demand curve for tech workers is completely out of whack here in Dallas. Geography makes a big difference.
How funny. I'm in Dallas. I did finally end up getting out to a small local company here, but as I said it took two years. I didn't apply much locally, though, since I couldn't find much that wasn't enterprise CRUD work. Except for my current company, those I did apply to (Lockheed, General Dynamics, CapitalOne, Gearbox, a few others I have forgotten) never contacted me over my resume.
But yes, I know geography matters. That only helped the rational part, though.
I have by all accounts a great life and a solid career. That doesn't stop me from obsessing over not being better, from beating myself up for not having put myself into the position I fell like I should be in.