
Seniority in Software Engineering - karakanb
https://medium.com/swlh/seniority-in-software-engineering-aabf9706c4b0
======
sayinbu
"Working in the industry for a long time doesn’t automatically bring seniority
either" I can't emphasize this point enough. Most engineers, who are doing the
same basic tasks every day over and over again for years, identify themselves
as senior engineers. I understand that people like to stay in comfort zone
when there is no need to get out, really. This is something I do too. However,
this bothers me when these kind of engineers block and mock their
colleagues(especially juniors) by convincing them he/she knows better, when
they try to get out of their comfort zone and learn/do something new.

~~~
fallous
Indeed. As I've had to remind many people over the years, "doing the same
basic work you learned in your first year repeatedly for 10 years is not 10
years of experience... it's 10 of the same one year."

~~~
erikpukinskis
I disagree a little. 10 years after you start painting you’re still doing the
same thing mechanically: putting paint on the brush on the canvas. But you are
in a whole new game.

Too many programmers measure themselves by whether they’re leveling up in the
tools they’re using and the kinds of problems they’re solving. In some cases I
think they’re deluding themselves. They’re on easy mode, creating a sensation
of movement for themselves without ever getting into the hard stuff, which is
not glamorous, it’s things like naming and restraint and kindness and caching
patterns.

I have kind of spent my whole career learning how to solve the same problems
better. It’s still the same DIVs and HTTP requests I was manipulating 20 years
ago. But the game I am playing within an organization and within a platform is
fundamentally new.

I can see how from the outside it might not look like I have “leveled up” but
I think I have leveled up in my methodology.

~~~
fallous
I'd agree with your criticism of tool/new hotness as a bad metric for
measuring leveling up. It's too easy to get the dopamine hit from novelty or
being busy rather than putting in the real work that provides value.

We learn to solve the same problems better because we're exposed to the
limitations of our initial naive understanding of those problems and the
methods we choose, which may be sufficient in the first year, but over time
that understanding becomes deeper and the methods become more elegant,
reliable, and maintainable.

The wisdom and methodology improvements are necessary components of achieving
10 years of experience, but the 10 years of the same year approach literally
is staying at the same level of understanding no matter the number of
projects.

------
pyrrhotech
A senior engineer is someone 3 years into their career no longer willing to
work for paltry wages. Stop glorifying something every mid 20s in the
profession deserves. It only serves to keep the power in the hands of the
corporate elites and the wage pressure down on an already meek, mostly
economically illiterate and unconfident group of otherwise intelligent and
productive individuals. If you want to write an article worshipping your ideal
of a nerdy super-hero, make it about senior architects at FAANG earning 1
million+ per year instead.

~~~
j88439h84
> senior architects at FAANG earning 1 million+ per year instead.

How many of those are there?

~~~
dropit_sphere
Not nearly enough!

~~~
alexandercrohde
That's a great way to look at it.

Until people look at tech and see it as a good top tier career and finance as
a fallback, we have progress to make.

------
hibbelig
I’ve been in an environment where technical’s chops weren’t a way to become
senior. The software reflected this. I didn’t like it.

In my opinion, technical ability must be table stakes. Without it you
shouldn’t even be able to begin the journey.

~~~
hinkley
One of the details I remember from middle school is that the “ball hog”
invariably looks down on the team player. I think perhaps one of the big
lessons from junior sports is that this person isn’t all that great in the
scheme of things.

But a lot of us didn’t pay too much attention to sports so I’m not sure how
widely that lesson spreads.

My sport of choice was cycling. And one of the peculiar things about club
cycling is that either everyone crosses the finish line or nobody does. I
couldn’t tell you for sure if that molded how I approach group dynamics or if
the way they handle group dynamics is what drew me in. I think there are
enough other moments in my childhood to say it was both.

The absolute worst person to put in charge, in my experience, is the person
who writes the most baroque code. The person who _has_ to fix problems because
nobody else knows wtf is going on is not a hero and shouldn’t be celebrated.
They’re a ball hog. And hogging just leads to more hogging.

------
throwaway_snr
I'm struggling to understand who the audience of this post is.

At the end of the day, "Senior Software Engineer" is a job role, not some
ideology. Pretty much every where I've worked, Senior means someone who knows
the _why_. Most companies review the engineers already on multiple axes, not
just technical merit. There is little value in baking these non-engineering
skills into the definition.

Articles like these certainly don't help much with the impostor syndrome.

~~~
mgolawala
What aspect of the project are you referring to when you say "someone who
knows why". I would imagine everyone on the team should know the "why".

How about, a Sr. Software Engineer is someone who can work on, whatever
technical problem your team is trying to solve, with little to no supervision.
They can also be expected to occasionally provide technical
direction/assistance to others on their team.

Within that title you can always set grades to allow for progression in salary
and experience. Sr. Software Engineer II or III and so on.

------
luminousmen
After all, business wants to make money and solve their problems. And the more
independent and effective you can do it, the higher your role will be.
Businesses can be different and the roles have different requirements as well.

And the top skill of the engineer is not the list of known programming
languages, not the ability to close tasks, not knowledge of the bazillion
algorithms, not certificates of the scrum master. Namely, the ability to take
a real problem and solve it yourself is the main skill of a professional.
Solve it yourself does not mean alone. By yourself means to be able to find
the necessary resources, people, set tasks, control the result and bear
responsibility for this.

------
zzzeek
so someone that spent 12 years writing brilliant APIs and implementations,
advanced the state of their field and their company's business, but they are
fairly mediocre at being team players (not going to name names and get into
flamewars but I can certainly come up with a half dozen famous names off the
top of my head), they're ...junior engineers?

~~~
shakezula
You're intentionally missing the point. It's a heuristic, not a requirement.

~~~
Godel_unicode
From the article:

"Overall, if I were to list traits of a senior engineer, technical skills
wouldn’t be in the top 3 on that list."

------
bJGVygG7MQVF8c
Anytime I see someone signal that they freight the "senior" in "senior
engineer" with a ton of significance (self-import?), they fall in my
estimation a bit.

That move says something about their frame of reference, and what it says
doesn't do them any favors.

Leaving aside its intimation of a possible inferiority complex being
overcompensated for, here are some observations:

1\. "Senior engineer" is a mid-level title at high-prestige tech companies.

2\. Organizations with flat teams (a model that typically only functions well
when everyone is relatively senior) have no reason to load the title with a
ton of significance.

So when you pontificate about the importance of the senior engineer, you
suggest that you (1) are not at a high-prestige company, (2) work in a more
hierarchical team structure. Neither possibility is flattering.

FWIW, I would consider every point outlined in this medium post to be a
desideratum for any engineer, regardless of seniority level.

------
ivan_ah
There was a very good blog post about this by Silvia Botros, though she uses
"principal engineer" as the label: [https://blog.dbsmasher.com/2019/01/28/on-
being-a-principal-e...](https://blog.dbsmasher.com/2019/01/28/on-being-a-
principal-engineer.html)

------
cryptonector
> A senior engineer should have T-shaped knowledge. It is expected from a
> senior engineer to have broad knowledge about various topics and deep
> knowledge about some topics.

More than that. A senior^Wgood engineer should be a generalist who can
specialize as needed.

------
fallous
I think the article has some good points regarding the expectations of a
senior engineer but also seems to conflate the duties of a team lead with
senior engineer, but in my experience those are two different roles (and
usually titles).

~~~
wink
Which ones do you have in mind?

Maybe "A senior engineer should support their peers" and "A senior engineer
should empower their peers through their career track"? and I think those
should be mandatory for a good team lead, but they don't really hurt in a
senior either. I think the article focuses a lot of one definition of senior
who is a good team player as well and not the star coder/hero of the team who
pulls all-nighters and whose code no one understands. There are some areas
where you need these people, but I'd rather go with the team players most of
the time

I think "A senior engineer should be a motivator for the rest of the team" is
a bit odd, but maybe rephrasing it to "A senior engineer shouldn't be the one
complaining all the time.", if I was hypothetically speaking about myself :P

~~~
fallous
Yeah, a senior engineer role is most assuredly is NOT "all-nighters and
unreadable code." But neither is it necessarily the mentor style of role that
the author advocated, which is more appropriate as the job duties of a team
lead.

A senior engineer most assuredly should be the one that thinks about the
problem at hand in a deep way, preferably understanding the business needs and
such, and provides solutions that not only solve the immediate need but also
has the flexibility to anticipate future demands. It would also be nice if
they proactively tried to improve less-senior engineers via mentoring and
contributed leadership to team building but those are, in my opinion, bonus
attributes rather than fundamental necessities.

------
chrisseaton
‘Senior’ doesn’t mean anything except within a single company. My very first
job was as a ‘senior’. See it as just level X within some company and don’t
worry about the word itself and don’t try to compare.

------
ipnon
"Senior" at my company evaluates to "indispensable." If you aren't senior,
then your performance is at a level that your employment can be terminated for
cause. "Senior" means you are on the bus in the bus factor.

------
unnouinceput
Quote: "Overall, if I were to list traits of a senior engineer, technical
skills wouldn’t be in the top 3 on that list."

...aaaand that's where I stopped reading this. It's like saying sex isn't in
top 3 marriage binders.

------
cryptozeus
Good points, LinkedIn asks this question in behavioral interview “whats the
difference between junior and senior engineer”..I had similar points but you
have articulated it very well.

------
turk73
Tech Lead here, 20yrs or so experience I guess it is now, I don't know what
counts and what doesn't.

That's a good list, but I find it's very difficult for any one person to live
up to all of that. It's asking a lot. How is my role going? They're asking a
lot of an introvert who is fun to work with but not great at motivating others
or being empathic. I'm a decent leader, but not a great leader, nor will I
ever be. It's just not my gift and while I try to improve those skills, I know
that I will only get so far because I'm not a corporate person at heart. I
have no great respect for how US companies are managed, no great respect for
managers, especially the MBA variety, whom I compare to parasites--blood
sucking, unethical scoundrels. I don't wish to be "the worst of us." I get
that many of them didn't set out to be that way, but something about corporate
culture germinates profound psychopathy in people.

Not going to lie to you, being a "software engineer" (an extremely loaded term
these days, and I argue, one that isn't a correct labeling of anything we do--
there is no "engineering" whatsoever) and the role is not worth the money they
pay you. "Information Sharecropper" has a more honest ring to it.

