How many senior engineers are at your company?
Posted by _lazyLambda@reddit | ExperiencedDevs | View on Reddit | 84 comments
I watched a really interesting video from Nick Chapsas who does a lot of YouTube videos on C# which i recently started using for work, after being a Haskell developer for a number of years.
He made an interesting point that at Python and Javascript companies there is a lot more openings for Senior Developers. To be clear, its obvious in the market as a whole there are more jobs there just from the pure number of companies that use the languages but is it true that each company averages more senior developers? Why is this?
ExperiencedDevs-ModTeam@reddit
Rule 8: No Surveys/Advertisements
If you think this shouldn't apply to you, get approval from moderators first.
f_map@reddit
Senior is not classified by salary or years of experience in our company - but in the willingness and ability to mentor juniors, lead projects, oversee architectural discussions, make technical decisions, and carry responsibility.
Salary follows the amount of the above mentioned the senior is taking on.
We have at least one senior developer per project, and keep a 3:1 ratio with mid-level developers; or a 1:1 ratio if we have juniors on the team. Every senior usually mentors one junior.
We currently have three major development projects and one maintenance project. Each one has one senior developer; one project has two seniors, but also two juniors and three mid-level. All of the above are supported by a senior architect and a single engineering manager.
For background: we mostly use Rust, some Go, some React/TS and some Python. We also have a bit of C++ flying around.
_lazyLambda@reddit (OP)
Sounds like a well thought out structure, mind if I ask what industry?
f_map@reddit
Creative Industry: VFX and Gaming. We build tools for creative pipelines and project planning software.
Altruistic_Tank3068@reddit
On the 10 developers we are, we are pretty much all "Senior" in the title. But as you clarified, I am pretty sure only 1 or 2 are reaching the base salary you are mentioning.
In my country, there is no way for a dev (excluding building a business), as Senior he can be, to make more than 100k per year lol
_lazyLambda@reddit (OP)
What country is that?
Altruistic_Tank3068@reddit
France
kalexmills@reddit
Could it be that most Senior Engineers have learned the value of compile-time type safety? š¤
Historical_Ad4384@reddit
Good senior engineers prefer type safety to keep their sanity rather than temporary fad
Hey-GetToWork@reddit
Python was first released almost 35 years ago...
Historical_Ad4384@reddit
compare it to the technology used for critical domains
GuyWithLag@reddit
Type safety also alloflws for faster implementation dmjust due to autocomplete.
And less tests. The type annotations are the tests.
godofpumpkins@reddit
They donāt replace all tests, but they replace a lot of boilerplate tests. The fancier the type system, the more correctness you can encode in types and the less you need to rely on tests of the same functionality
GuyWithLag@reddit
Yes, we agree.
/s: Don't mansplain!
godofpumpkins@reddit
I was just reacting to the āreplace the testsā but fair enough!
FetaMight@reddit
I seriously believe that's the unspoken truth about python.Ā
The only people advocating for writing large systems in python are those who lack the experience and maturity to see the difference between what they're personally comfortable with and what's best for the project.
EliSka93@reddit
I can only use python with strict type safety rules enforced by my IDE.
However, that's just superficial enforcement and any coworker could at any point mess it up.
throw_away_3212@reddit
My exact problem with Python. Duck typing doesn't cut it
chinnick967@reddit
All projects I lead use Typescript, it's chaos at scale without it
agileliecom@reddit
In my company I have all senior developers with 1 year experience and an Architect with 2 years and he never coded in his life...
Rico_Park@reddit
My company used to be one of those where "senior" didn't really mean much...I got promoted to senior maybe 1.5-2 years after I first started.
But I think now, there is a shift where senior engineers at my company really do own the product as in, they know the ins and outs of the entire system, comparative to the juniors.
ZukowskiHardware@reddit
Everyone is āsenior ā now, it has completely lost all meaning.
failsafe-author@reddit
It means ācompetentā.
Resident_Car_7733@reddit
If only. Struggling right now with a total dumbass """senior""" in our team who does nothing but churn out bad code with bugs and tech debt, not responsive to any sort of cooperation or code review, and worst of all the managers don't want to do anything about it. I used ti think it meant competent, but it just means they have some number of years in the company.
failsafe-author@reddit
Itās a meaning not a guarantee. What till I feel you about some principals Iāve encountered :)
tnerb253@reddit
Did senior ever mean something? A lot of people think years of experience = senior+ it doesn't. Titles are subjective to the company. There's plenty of engineers without fancy titles that are amazing engineers. And there's plenty of engineers with decades of experience who are in rest and vest mode.
A lot of young engineers are smarter than you think they are because they have the time and energy to learn things fast. They just don't always have the experience of leading projects or being software artilects.
DowntownLizard@reddit
Yeah, I dont really even understand how people think experience translates to value provided either way. All years of experience are not equal. Some people are driven. Some people stop keeping up. Senior, meaning you have more experience, only makes sense if that title doesn't mean higher pay.
Since when does being around longer mean you are more valuable? That should be such a small part of determining who is actually senior level
recycled_ideas@reddit
Because being a senior isn't about learning facts. It's about seeing and learning from the consequences of your and other people's choices and learning how to deal with different business and cultural requirements and changes, how to lead people and how to be led.
It doesn't matter how smart you think you are, how driven you are, you can't learn that shit in any way but time. You have to see a good decision turn to shit over time before you can understand that the crap you're dealing with now isn't because the person before you was just incompetent. You have to actually experience things.
The mere fact that you've made this statement shows that you're not even ready to be an intermediate.
DowntownLizard@reddit
Nah, you are reading into it so hard. Im already senior. People with experience have so much cope for why no one could possibly get it faster than they ever did. Gate keeping with years is so dumb. Skills also translate to leadership, mentorship, culture, and all the soft skills. Ambition, drive, ability to learn, and many other traits dont translate over years of experience.
The skills are if you give me a project with minimal direction, I'll knock it out of the park. It's knowing how not to screw the next guy. It's knowing how to make your app bug proof. High UX. Performant and extremely secure. I've had enough experience to see all the people who are seniors who also aren't that. Being intermidiate position wise when you are exceeding all of the current seniors is a different experience entirely. It makes all of the gatekeeping expectations people have set seem arbitrary.
Someone works 80 hours a week over 10 years, and someone works 40 hours over 10 years. Are those 10 years the same? And even to break the mold even further, why did you assume 80-hour person is better? Did they ever apply themselves? Did they ever learn something new? Did they ever take on more responsibilities?
My point is gate keeping makes zero sense. You might need a way to filter apps but I feel like it is illogical and inefficient.
recycled_ideas@reddit
That's not the question you asked. There are absolutely people with ten years experience who aren't seniors, but you can't become a senior in a year or two.
Who in the ever loving fuck cares if they can explain what object oriented programming is? When has knowing that specific set of theory ever come into use in your daily tasks.
The skills of a senior aren't specific technical knowledge, they aren't answering this specific list of twenty questions, that's why you can't do it in two to three years.
tnerb253@reddit
It's funny how you're arguing that you shouldn't be senior in a few years and then you just say "Who cares if they can explain this?", well by that logic: Who cares if someone gets promoted in a few years? You're ego and tone just come off like you're a condescending gate keeping prick.
If you're gonna make a point at least be consistent. Yes people don't know everything at any stage of their career and neither do you. But part of learning things is being given an opportunity to sink or swim, and if that person can keep their job they will probably be on a fast track to promotion.
recycled_ideas@reddit
My point is consistent.
Being a senior is not determined by your knowledge of any specific fact, skill or theory, if it was ChatGPT would be taking all the senior jobs because it can answer any question you like.
Even if it was determined by those things defining object oriented programming is not a skill or fact which is in any way related to actually doing the job.
No one is implementing pure OOP in any language a hybrid approach between functional and object oriented is most common, but even if we discount that, terminology is such a stupid criteria to test even juniors on.
Software development is a craft, you learn by doing and you learn shit that you can't get by just cramming leetcode and design patterns.
DowntownLizard@reddit
That's just cope imo. Explaining object-oriented programming matters when you work at a company that is a .net shop. As if there aren't people who understand everything you are doing, the new stuff, and are actually teaching people valuable skills and leading culture. Some of those people can do it in way less time. Statistically speaking, there's for sure many people way better than all of us being gate kept by the average joe. People can 100% outclass every other dev at a company in 2-3 years. You either haven't worked at a small enough company or haven't met those people.
That's enough time to experience the entire SDLC from every point in many different ways and likely even wear many hats that wouldn't even be a devs job in a large corporation. That's plenty of time to be a sponge of information and go above and beyond peoples expectations.
recycled_ideas@reddit
Man, you couldn't tick more boxes on overpromoted wannabe senior if you were trying.
DowntownLizard@reddit
Thats like, your opinion, man. Some people are very smart and are also not even the 23 year old who just graduated college. Senior is not really that high of a bar from my experience. You can choose to not be open minded to my thoughts and I cant stop you. Kinda giving off high experience insecure with your replies ngl
recycled_ideas@reddit
In practice it's not, companies dole out senior to unqualified candidates like candy, but that's the problem, people get a "senior title" without having the foggiest idea how to do the actual work.
I'm not the first person to tell you you're not really a senior yet, I'd guess I'm not even in the first fifty to tell you that.
You can assume that you're a super special genius and it's just jealousy and insecurity from stupid old people or you can maybe think for a second that maybe, just maybe there are things you don't know at the stage of your career.
That doesn't mean you can't learn them, but you'll never learn them if you can't understand that there are things to learn.
tnerb253@reddit
You honestly described one of the biggest problems in the industry. I am 5 YOE and honestly how well you interview is a huge indicator of where you place or if they up level you or down level. Getting a promotion can sometimes be way harder than just switching jobs.
j_d_q@reddit
A petition I have to try to put it simply, at a team level, there's Jr, dev, senior, lead.
Junior is obvious. Dev could be the most knowledgeable 20 year vet who just wants to work their stories and go home for dinner when the clock strikes 5. Absolutely capable and willing. Senior takes on extra responsibilities, responsible for the whole teams output and sound design; understanding the team dynamic and who is capable of what. Lead covering multiple teams and cross-functional / working with other teams to make sure we all understand who is promising what and a grand scheme of how it all works together.
DogmaSychroniser@reddit
I would love as a contractor at a Spanish language HQ firm to get the title of 'Senor Developer'
ithilain@reddit
At my company (non-tech field, creating/supporting custom internal apps and integrations) it's only seniors. You get hired on as a senior and then you have to either wait for a manager to leave to get promoted, leave yourself after a few years, or stagnate at senior for years getting only 2-3% CoL adjustment raises
arthoer@reddit
Only senior staff and directors. The mediors we outsource. No juniors. Haven't had juniors since the start of the pandemic. Large ad tech company in nl.
tinbuddychrist@reddit
This is kind of a sidenote, but at a FAANG company, depending on location, a new grad could plausibly be making $130k base.
There's also a lot of range around how titles are used. I was at Google as an L4 software engineer some years ago, where "L3" would be a new grad and "L5" was formally called "Senior Software Engineer" but as an L4 I was probably making about 1.5 times what our L3s were.
Now I'm at a company with a somewhat different scale where there are three levels for "Software Engineer" and no "Senior" title so it's hard to say. My team is like 1/3rd people who are more experienced but has nobody at the fourth level so we're all "software engineers", but there's a clear sense of the line between the newbies and the old hands.
MrMichaelJames@reddit
I prefer hiring out of college junior people. Not just because of the cost but they are more eager, more hungry. Seniors are too set in their ways, they just want to jump in and change everything all the time. I donāt have time for that, just get in and get stuff done is your primary function.
Foreign_Addition2844@reddit
There are literally no juniors where I work. Im the youngest at my company at 35. We have 10 devs.
Striderrrr_@reddit
At my company thereās a lot. But being promoted to our āseniorā title is less about skill and more about tenure and politics. For external hires, getting the more senior job is 100% based on your claimed YoE.
The tech screenings are actually all identical, no matter the level. Yes, even early career folks get asked the same technical questions as a staff engineer. The difference in the interview really comes down to the interviewer drilling a more experienced developer more in certain topics ā primarily in system design.
The distribution of duties is all kind of identical really. The only difference is how many meetings you need to attend.
ElevatedAngling@reddit
As a software engineering team manager who hires(Java and JavaScript shop) the reason we only want seniors is because the quality of juniors has gone down hill exponentially. It doesnāt help our team if I and the principal+seniors spend as much time looking over their copy and paste chat gpt code as it would take to write it ourselves. Iāve been aggressively cutting the lower level contractors from our company because itās a systemic issue of people who know about software and can chat gpt some code but canāt do anything if you dump them in a legacy code base not using spring or another common modern framework. They donāt even remove the clearly AI comments that dictate every step in a useless way.
ElevatedAngling@reddit
Not enough
fkukHMS@reddit
How many tables are at your company? It's not a very meaningful question. I think you are probably more interested in the ratio of seniors to others, or more generally- the team composition in general.
I've seen 10s of different companies, and the "optimal" team composition is absolutely defined by the type of work being done. There is no one-size-fits-all.
In highly complex and sensitive components (think SQL query optimizers or fintech trading processors) it's not uncommon for the entire team to be seniors and above.
On the other hand, many "data-entry and retrieval" type enterprise systems are dead simple and don't require much beyond a basic familiarity with the frameworks used. In those projects it's reasonable to have a senior for every 5-10 non-seniors.
Which is also worth mentioning- most companies have additional level between "junior" and "senior". Microsoft for example has "SDE I" (junior), "SDE II" (middle), "Senior" and "Principal". Also, each of those have 2 internal tiers, so thats 8 different levels in total. Other companies have "Staff" level in between "Senior" and "Principal".
mmahowald@reddit
skidmark_zuckerberg@reddit
We do a lot of Java and Typescript. Our development team consists of 2 Staff level engineers, 6 Seniors, 2 mid levels and a 1 junior. DevOps is separate, with 3 seniors and a junior. To be fair we had two juniors on the dev team, but one of them left after a month for a job at Amazon. He was hired about 3 months ago.
Medium sized company, 100 employees in total. Main products are Java, Typescript/React, with Python sprinkled across a few of the supporting microservices.
_lazyLambda@reddit (OP)
Phenomenal name
aztristian@reddit
There are more openings cause there is more demand. More demand means larger developer teams and needs which in turn warrants a larger reporting structure.
Also, since orgs don't want juniors then many juniors now apply or "stretches" their experience to senior when in reality they're quite far out.
Finally, Senior responsabilities vary between companies and between managers.
bony_doughnut@reddit
I'm not sure how manu "Python and Javascript" companies are really out there? I mean, I think almost all companies use *some* JS or Python, but are there really a sizable amount of large companies out there with JS or Python backends, who really need language-specific seniors?
boneskull@reddit
I like your username
bony_doughnut@reddit
Bone gang ā
j_d_q@reddit
Dynamic languages lead to way more confusing fixes because anyone can do anything, until it breaks. Senior can mean a lot of things: how fast you can track down the problem, how well you can design the system, how much more effective can you make those around you by teaching and influence. A lot of places promote people to senior because of time in role or output, which I think is a flawed method.
jek39@reddit
"senior engineer" at many companies is still basically entry level.
CoolmanWilkins@reddit
Yes where I just left it was the first step after regular engineer with lead, principal and staff all being other available titles. And now we no longer hire entry level engineers so it has effectively become the entry level position. (and only real one, the leads and principal engineers were all let go or left)
Acceptable_Durian868@reddit
We have about 25 engineers. 1 principal, 2 staff, and the rest a mix of "senior software engineer", "software engineer" and "intern". Senior just means you can be trusted to work on a larger piece of work without constant supervision.
Python/go/typescript.
I think that there's a relatively low barrier to entry in the python/JavaScript space, so it's easy to find people with enough experience to smash out working products quickly. What it's not so easy to do is find people that can architect scalable and maintainable systems using these languages, and so once a company reaches a certain size, they suddenly become desperate to find people that can help them get over the scaling hump.
Yone-none@reddit
my old company got 2 seniors and 6-8 devs who got 1-3yoe and the one that lead the team they got title "Lead FE" "Lead BE"
So basically A dev with 2 yoe can be a a lead in my old company
codeprimate@reddit
I donāt think a single person at my company has less than 10y experience in their field. itās glorious!
ryaaan89@reddit
Three, on a team of a CTO, a manager, the three of them, a product owner, and three other devs. It doesnāt make a lot of sense.
OddBottle8064@reddit
At my company we have both staff and principal above senior. Senior is one step above entry-level and perhaps the most common title.
_lazyLambda@reddit (OP)
I guess my question is moreso then how many staff and principals are there. Cuz yeah some companies, senior isnt really senior
failsafe-author@reddit
If thatās your question, my company has 4 principals, and maybe 8 staff. Then around 90 senior and lower.
failsafe-author@reddit
My company id something like 85% seniors (of those who are software developers). We have very few junior or mid levels, and even fewer staff/principal.
This seems normal and natural? I think most developers spend the majority of their careers at a senior level.
Suspicious-Purpose61@reddit
Pydantic enters the room
diablo1128@reddit
Titles are subjective and only mean something at that specific company.
I am sure there are companies that have "Senior SWEs" that would barely pass as a Junior SWE at some other company. The dynamic between big tech companies, like Google, and non-tech companies in non-tech cities is probably feeding this example.
It seems to me the number of Seniors don't really mean much without knowing the quality of the SWE. A team that has 10 out of 12 SWEs that are Senior could still be a team that produces bad code.
_lazyLambda@reddit (OP)
Great point, I did try and add some more parameters but yes even so much of it is based truly on the overall productivity of the company.
FamilyForce5ever@reddit
Scala place: we have 16 "Engineers", 41 Senior, 7 Staff, 3 principal.
Deaf_Playa@reddit
I'm the only one and it's been that way for 2 years now. We used to have juniors too, but they all got laid off and the company never rehired those positions.
Realjayvince@reddit
A JavaScript company needs to have seniors doing that shit. Imagine a team of newbies coding in JavaScript⦠that would be a nightmare once it deploys ⦠newbies donāt know type safety.
And you might be right on JS / Python needing more senior⦠where I work out product is in .net framework, and android app.. we only have 2 seniors and everything is a breeze⦠our client list grows every year
kaizenkaos@reddit
Im a code monkey.Ā
jcl274@reddit
we only have seniors, or senior+. seriously. in an org of hundreds, thereās like a dozen mid and juniors.
Empty_Geologist9645@reddit
Everyone think they are a senior.
tnerb253@reddit
You need to define the criteria for 'senior', because the criteria at your company is not the same as the one at mine. Being placed at a certain level is more about how well you interview these days. Getting promoted is probably harder.
Empty_Geologist9645@reddit
It doesnāt matter . Iāve seen magical seniors after 2 years.
tnerb253@reddit
What you probably didn't see was how well those magical seniors interviewed or how well they performed.
disposepriority@reddit
When I joined this company it was almost entirely senior developers, simply because the systems were so complex and undocumented any attempts to hire people with less experience either resulted in them being useless or leaving.
Now that our onboarding and documentation and developer experience have improved dramatically I'd say we've reached slightly more than half of the company being mid developers, and probably less than 10 juniors (the domain and more importantly architecture + codebase really isn't very junior friendly) after consistently hiring for close to a year.
In my previous company however it was an all you can eat junior/mid buffet and there were usually at most 2 seniors per team, so I guess it depends on the company and domain.
Generally I think outsourcing companies have more junior positions than non outsourcing companies.
GiDevHappy@reddit
There are a lot more seniors than juniors but it depends on the projects honestly. At Diploi, there are 3 seniors and 1 junior but at other big companies, it is like 1/10 juniors š
13ae@reddit
my team has 4 seniors, 2 staff eng out of 12 people. we are a backend team using kotlin/golang. big tech but non faang.
NachoCheeseMonger@reddit
There are hundreds at my company.
tnerb253@reddit
In my company? Who knows, I work in big tech. Myself and 2 other currently, but we also have a couple Staff engineers and one Principal who is the lead.
thisismyfavoritename@reddit
not enough. Like really not enough. And those that are "senior" are the Nx1 type