Hacker News new | ask | show | jobs
by yotamoron 1402 days ago
6 years of experience does not make one a senior engineer. I`ll be polite and say that most engineers with 6 years of experience I know are not seniors.
5 comments

I agree 1000%, but at my company and many I've looked into(not FAANG), it's the way they structure it. Senior is level II, one above Junior. Then all kind of inflated things above that like Lead, Principal, Architect, Principal Architect, Master. Just waiting for them to add Physician or something...it fits in line with our industry stealing other job titles to feel important.
33rd Degree Revered Imperial Grand Master of the Ancient and Sacred Order of the Freecoders
Yeah its pretty scary, 6 years mean you've either only understood on one or two big systems, or you've job hopped more projects and never understood them in depth.
According to this[0] John carmack released 22 games before Doom all in the span of 5 years. Years of experience means nothing, working on real products that get shipped means a lot. I know plenty of programmers with 10+ years of experience that may never reach the level of expertise that Carmack reached in 5 years "professionally".

[0]: https://en.m.wikipedia.org/wiki/John_Carmack

This has been my experience as well. I've worked with junior devs who understood their domain well and were very productive. I've worked with 20 year enterprise development veterans who are still doing the same basic Java work they have always done at large companies with questionable practices and literally haven't grown as a developer. Experience does matter, but what you've done with that experience is far more important than how long it is in absolute terms.
Would you rather go to a mechanic that fixed only breaks in one car model for 10 years.

Or to a mechanic that fixed many things in many different cars over 10 years ?

Thats the difference between hoppers and “veteran corpo ppl”.

1. That depends on how difficult the problem is. For some problems, you're better off with a specialist.

2. Do you want a whole car designed by someone who designed the hubcaps of a Ford Model, and the driver's side door handle for an Audi, and a dash switch for Toyota, and on through 10 other random parts? Or do you want someone who has been part of a team that designed a whole car before, from start to finish?

I would want someone who was part of few teams who designed a car.

Average project in IT is built in 2 years. In 8 years you could have built 4-6 different projects.

The dude that stayed in first project to maintain it, probably did not learn anything more.

Thats at least my experience. Old Java devs that stopped learning after java 8.

comparing to the top percentile is almost never a valid way to look at things.

14 year olds have competed in the olympics, I would never claim that should be the bar for considering health for 14 year olds.

This is true. I'm just responding to OP though, they said:

> Yeah its pretty scary, 6 years mean you've either only understood on one or two big systems, or you've job hopped more projects and never understood them in depth.

Which is blatantly false. I only need to provide one counterexample, and John carmack blows this assumption out of the water. I wouldn't expect the average developer to be anywhere near that level.

But if the top percentile is shipping over 20 commercial products and literally changing the industry with a technical innovation in only 5 years, then I would wager it's very attainable for an average dev to reach a "senior" level of experience in 5 years.

language is more fuzzy than binary logic systems, John Carmack is an exception rather than a counterexample.

And that's the point, comparing exceptional people to the general population isn't valid or relevant here.

Also, these people are typically on teams as juniors who are learning.

Consider that you immediately reached for someone who is over 50 as an example of a developer having a large impact in the first 5 years of their career. That really does say everything.

> language is more fuzzy than binary logic systems, John Carmack is an exception rather than a counterexample.

An exception is a counterexample. For example, are all prime numbers odd? No.

Why not? Because 2 is prime and even. This is exceptional because 2 is only 1 out of a (theoretically) infinite number of prime numbers that are even. This doesn't mean I can now say, "All prime numbers are odd".

The OP gave a tautology that basically went, "If you've only had 6 years of experience, then you only worked on 1 or 2 big projects OR you've job hopped and have a low level of understanding". John Carmack is exceptional, but also a counterexample to this statement in both regards. He was also the lead programmer at ID when he made Doom, not a junior.

Besides this point, what does him being over 50 have to do with this? He was 19 when he started working professionally if I remember correctly, which means he was 24 by the time he made several significant industry impacts.

Besides that point, here are some more counterexamples to the original claim. Mark Zuckerberg was 19 when he started Facebook. Alan Turing was 29 when he cracked the enigma. Djikstra invented Djikstra's algorithm when he was 26. Bill Gates founded Microsoft when he was 20 and released Windows when he was 30. I have plenty of personal examples as well, but it wouldn't do any good to mention them since they're not famous programmers.

So, just to make myself clear - there are very talented engineers with just a few years of experience, however that's the extreme exception.

As pointed here, it is rare to work on interesting and trail blazing stuff - that's why it takes time, sometimes years, to gain the experience. There's a low probability of actually working on something meaningful, therefore you have to fight it with repeated attempts of finding the interesting stuff - and that takes time. Obviously, time is not the only thing needed to become a really experienced engineer, but - in almost all cases - its a prerequisite.

I think there's a split in the industry; outside of FAANG senior means "certain amount of time spent in front of the computer getting paid", inside FAANG, it's a set of behaviors encapsulated in a particular mid-career job title.
Outside of FAANG, senior means "we can't pay as much as FAANG but we will call you senior when you have two years of experience and no idea what you're doing".
Two years of experience may not get you really knowing what you're doing, but you should know significantly more than someone with zero years...
I've been in the field for about 18 years. I feel like I "got it" about 11 years in, and that's being generous.

I did mentor a couple of interns that were juniors in college, though, and they were awesome. It might just be me that takes 10 years to get it.

Inside FAANG, it is literally a job title.
"Senior engineer" is a job title at every place I've ever worked.
Yes, very good point. I added a little edit to clarify that.
It depends on the person and domain. I've been in the industry for 5 years, but I worked on a lot of projects and did a lot of self learning since high school through college. Now I've been promoted to a front end lead position and I'm fully comfortable with the "senior" in my job title.
Being a senior is about how confident you are with your skill and your proven ability to deliver.

It has nothing to do with years or getting depth in projects. Most projects are just data pipes. Hard projects are rare.