4 ms·
I absolutely cannot agree with this. It's true that after five years in a startup, you'll have seen lots of systems. But being a senior practitioner requires d
by zero_shift 4y ago
I absolutely cannot agree with this.
It's true that after five years in a startup, you'll have seen lots of systems. But being a senior practitioner requires deep experience as well as breadth, and enough time in the industry to recognise larger trends.
There is no magic mark for this, and it's quite possible to reach ten years and still be a weak practitioner, because you were exposed to a narrow range of problems and were never around to see your bad decisions bear bad fruit.
However, the opposite does not hold. It doesn't matter how intelligent you are, you can't short circuit repeated experience and the mix of breadth and depth required. People want to. I wanted to. But I didn't: all I became was an overbearing mid who had the rhetoric (and the OSS contributions!) to convince others I knew what I was doing. There is absolutely no comparison between myself in 2017 and myself in 2022, but we both have a job title of "Senior Engineer".
In fact, I think that in the long term the trend is for the senior bar to get _higher_. This is pushed by two things: firstly, that the technical domain gets harder, software becomes more abstract, our expectation of engineers increases particularly in "left shifted" environments where every IC must do everything from frontend to microservices to infra to security to testing.
The second force is demographic: as IC salaries have increased, there has been less pressure for senior engineers to exit in favour of the management track. That means more experienced engineers on average. Industry needs a way to describe these practitioners, beyond "very senior", and overall the range of skills of ICs will widen. Under those conditions the definition of senior engineer gets more exclusive, not less.
- ckdarby 4y agoIt is just title inflation. A senior is one who has graduated apprenticeship and is equipped with technical knowledge to begin training an apprentice. Are there those who are masters of their craft who call themselves a senior, of course.
- neilv 4y agoGood point about the increasing demands on Seniors in some regards. (The role might also be changing, such as juggling lots of high-level abstractions and vendor bureaucracy in many domains, with a significant amount of Stackoverflow consultation, rather than lots of experience in lower-level details.) I'm trying to reconcile meaningful titles with current industry norms. I'm open to other schemes, but, FWIW, this is my current rough idea: * First is some kind of new college grad. Some of whom would object to Junior in their title, and I think Technician sends the wrong message about near-term goals, so I'd just call it plain Software Engineer. * After maybe at 1 or 2 years, they've been through some projects, and they know a lot of the mechanics (big contrast to a new-grad who learns as they unlearn what they got from bloggers). You want to acknowledge that, so maybe it's Software Engineer II. * At some point, maybe it's 5 great years in, they've seen a lot of stuff, and gotten wisdom and insight, and Senior sounds about right and conventional. This could be a plateau title that someone has for a decade, even as their TC increases quite a bit. * Staff and Principal engineer roles transcend project teams (more than Seniors do). Large companies will each have their own definitions, and there might also be unwritten meaning. (At my first hardcore software engineering employer, there was no Staff, and only a tiny percentage ever made Principal. By the time I made Senior, the VP asked me where I saw myself in 5 years, and I said Principal... He gently set expectations that that's pretty ambitious, only a few people ever do it, and 5 years would be very fast. Correct on all points, and now I think I have a better idea of how much more the Principals knew that I didn't even know were things to be learned.)
- treis 4y agoI don't think I've seen anyone provide a workable system where senior is reserved for people around 20 years of experience. What's that structure look like? Everyone from 1-20 years experience has the same title? There's definitely inflection points at years of experience: 0: Good enough to be hired 1-3: Solid team contributor 3-5: Best IC on a team 5-8: Lead a project/team 8+: Lead multiple projects Then from there it's increasing complexity of teachnical problems and project size. If you're insisting that senior applies only to the last level what do you call all those steps between 0 and 8.