Hacker News new | past | comments | ask | show | jobs | submit login

(Throwaway because this is pretty out there and not something I'd like associated with my professional identity)

What does a welder, carpenter, or plumber do when they've hit 35 and mostly mastered their field? Answer: come to terms with the fact that their mastery is not very much in demand, they will never make more (inflation-adjusted) than they do now, and either plan for retirement or find a new job (usually management or small business owner) where their hard-won skills are mostly wasted. It's not that there aren't super-hard welding jobs that only a master welder can do; it's that master welders outnumber those jobs by 1-2 orders of magnitude. Almost all of the welding can be accomplished by almost all of the welders; once you're good enough to do it, that's it, you're topped out.

But software is totally different from the trades, right? I don't think so. We imagine ourselves to be more like doctors and lawyers because we make six figures and have conferences and work sitting down. But I think that's an illusion; we're a trade, and the only reason 45-yo devs make more than 35-yo devs is because our field has been growing in size continually for its entire existence. 45-yo devs demand, and get, higher salaries and titles because the industry would rather pay them extra than make do without them. But, like welding, almost all of the software we need can be written by almost all of the developers. (If you think this is wrong, get your head out of FAANG/AI/ML land and think about the legions of programmers working at govt agencies and non-sw corporations. How many mortgage application portals have we as an industry produced so far? 10,000? 100,000? And yet, we keep remaking them every two years. That's not art and it's not science, that's a trade.)

Point is, software titles work the same as in other fields until you hit III, and from there they veer off in to crazytown where there are no rules, because no other trade needs to pay a 45 year old significantly more than a 35 year old. (And you've probably already noticed that even software tends to lose interest in people once they get past 50. If the size of our field ever stabilizes, that number will only get lower.)

So, there is no real answer to your question. Principle/Staff/Architect means different things at every company because every company is handling the "how do we keep this old-but-still-good programmer around" question differently. Some program a lot, others don't; some are tied to one team, others float; some mentor, some sit in an office and read research all day, some kind of fuck off and do nothing beyond attend meetings and dispensing wisdom. It's all over the map and there's not much you can do except apply for a bunch of high-paying jobs and ask a lot of questions during the interview.

This actually makes a lot of sense, I never thought about programming this way. Even doctors and lawyers have upper limit of what they can make as an individual contributors. Eventually they open their own practice and hire a team to go to next level.

I have a lot of super smart engineer friends who are frustrated that they probably will not make much more money than what they make now, inflation adjusted. A lot of them are trading or getting into real estate. I will share this analogy with them, perhaps they should be teaming up and starting their own consulting firms.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact