The curse of the senior software engineer
yieldcode.blog
yieldcode.blog
Recruiters had no idea what to do with me. I've been working as a senior IC with increasing responsibilities, but my founder experience seems to be a negative. Half the time during intro calls they didn't even read that far down my resume.
Only early stage startups seem to value the experience at all, and even then it tends to be outweighed by my age. It's frustrating, but I think I will try the advice from that other post about chopping off everything but my last 5 years of experience. People want simple narratives.
I've found that what the recruitment process is looking for is a pretty good filter for the type of environment that you'd want to work in, though. If you're the type of personality who was a founder for many years, you probably will not be happy in an environment where you're asked to put your head down and do what your manager tells you.
I suppose that's the trade off our industry has chosen? It may be fundamental. I think I'd still prefer some way to map the IC portion of the job onto "trade", and the leadership part into "management".
If you need a plumber, or a dentist, or a car mechanic--you would select the one who has been in the profession the longest (considering other factors of course). Other professions have a sense of pride for having long years of service, and a car mechanic with 10+ years of experience probably won't have a problem to find a work at any good car repair shop. He is not expected to become manager or assume other leadership position within the repair shop.
And yet, the tech industry keeps promoting good engineers to bad managers, and expects you to be a Principal/Staff because you are too senior for being a senior.
I can think of a few right-out-of-college people who do amazing work, as well as few "10+ years in the field" types who are remarkably bad at the stuff they are supposed to be good at.
The "years of experience" for software engineers is not even in top 10 important signals...
You saying there is no difference is not coherent, simply. Let's there was no difference then people right out of college would get staff titles which I have not seen, ever. Therefore from personal experience you're completely wrong.
Design review? "Let's get some Staff engineers in the room". Promotions? "Senior Staff decide". At some moment there was almost a totally silly situation when a redesign for a widely-used internal system was going to happen without engineers who wrote and maintained it - just because those engineers never bothered to chase the titles.
At my company, Staffs were making promo feedback on people they've never interacted with. When asked about Jeff, they just reported, "I haven't seen Jeff's work".
The reason why the staff never interacted with Jeff was because they were both working on different things for many months. For their paths to cross, the staff would have had to be on-call for services Jeff was neck deep in.
But the director took the staff's feedback to Intuit that Jeff is not building relationships at his level. Stack ranked, pipped and fired Jeff who single handedly kept a service alive.
When one sees organizational dysfunction such as this, you start losing faith in corporate structures and management. The work environment just becomes a shithole of confusion. Dysfunctional structures and poor management practices are so pervasive in American tech industry it's a case study of it's own.
The irony is the director was the one completely failing to develop a working relationships with his subordinates and what they are doing. He's the one that should have be kicked out the door.
But they won't. Welcome to organizational dysfunction.
I think the point of the blog-post is that in the long-term it makes it harder to be employed at all.
Kind of like the quip that you can ignore politics, but it won't ignore you.
All this job-title/promotion/levels stuff is another kind of mismatch. So a future company you would enjoy working for could still have a hiring process which looks for the stuff you dislike.
My feeling after 12y in industry and 2.5y at FAANG-like company is that senior engs are valued, and staying senior without getting promoted is considered normal/fine (compared to e.g. not getting promoted from mid to senior). Heck, the pyramid shape of org makes it natural that it's impossible for half the org to become staff eng/managers and have cross-team impact; there can be only so many cross-team collab opportunities and large projects; meanwhile someone has to do the work of shipping things on time and keeping lights green.
3 years ago these “cursed seniors” (assuming they’re decent) could get a 20% pay increase in a couple weeks.
It behooves IC7-9 to instead work on side hustles that can turn into profitable businesses, leveraging their employment pedigree and potential early adopters in industry, because working for a corporation is risky and plateaus.
It doesn't matter to the business that an Engineering Manager title is hands on/off. It doesn't matter if a Staff title is leading/not leading.
What matters is identifying problems and self-organizing teams to solve those problems REGARDLESS OF TITLES.
It it the obsession with titles that causes Directors to spend an enormous amount of time judging people whereas the company actually really only wants the Director to organize their team solve problems. But no, the director will spend time judging people instead of solving problems because the career ladder doc says so.
>> - Web developer at the beginning
>> - Senior software engineer afterward
>> - Tech lead when I was leading my own product and a tiny team
And here lays the problem. Claiming that title after 2 years is a joke and devalues the whole thing. It only makes sense if you moved to Mexico and automatically became Señor software engineer otherwise you're making a fool of yourself.
I stopped reading after this as it's a mix of ridiculousness mixed with lack of awareness. Should also change the title to "The Curse of the Señor Software Engineer".
In many respects the BS of the tech industry is really a refusal to accept a larger universally accepted structure of BS.