Live data from Hacker News

Things I Learned to Become a Senior Software Engineer

neilkakkar.com

41–50 of 129 posts

Re: Things I Learned to Become a Senior Software Engineer

#41
post #37
post #35

Earlier quoted context omitted.

No, but millennials sure do demand such titles.

Only in the sense that we demand to be judged by our knowledge and ability and not by our age. If you're going to make a title and say "nobody's eligible for this until they're 40," we'll certainly try to prove you wrong. If you don't make the title, millennials as a group aren't going to care.

Expertise and experience is broadly correlated. Titles should also be earned, and that requires time in order to deliver work in multiple scenarios that proves your abilities.

Re: Things I Learned to Become a Senior Software Engineer

#42

It seems millennial achievement medals have now become job titles. Two years to become a senior engineer out of college is a joke. You only just know how to work in a general sense in that time frame, domain expertise comes much later. After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. I come from a mechanical engineering background and it probably take…

Not if someone is striving every day to become better, observe, learn, test, and adapt. For someone who procrastinates a lot and does not proactively look to improve, it might take 6-8 years!

Re: Things I Learned to Become a Senior Software Engineer

#43

It seems millennial achievement medals have now become job titles. Two years to become a senior engineer out of college is a joke. You only just know how to work in a general sense in that time frame, domain expertise comes much later. After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. I come from a mechanical engineering background and it probably take…

The definition of “senior” is vague and subjective. When you try to say objective things such as “6-8 years to become senior”, that’s meaningless because “senior” is undefined.

Obviously becoming a senior engineer shouldn’t be based on tenure alone. In my experience, 6-8 years is roughly how long it takes to acquire enough skills, both technical, people, business, and safety in order to become responsible for a piece of work.

Being a senior engineer at Facebook where your responsible for making sure Cat memes load more quickly, and a senior engineer for an industrial control systems company making weapons guidance systems are totally different levels of responsibility. But, job titles are often transferable and should be better regulated across the industry.

Re: Things I Learned to Become a Senior Software Engineer

#44
post #25
post #13

While it’s not impossible. I find it hard to believe anyone could become senior (in terms of actual skill) in two years.

It's kinda hard to be one when you've never had to maintain the monstrosity you've built for more than a few months. All the hard lessons are learned 5 years down the line when the wrong decisions really hurt you.

You can maintain other people's monstrosities and quickly learn the lessons. There's a couple of folks at work who joined straight out of college a few years back and ended up with ownership of a terribly-designed production system that everyone else depends on, and they've been doing a solid job of switching it over to a reasonable architecture while it's running. I don't know what title they have but I'd certainly trust them with complex systems more than the people who built the original mess. Every poor decision, every overconfident choice of shiny new database, every weird layer on top because they wanted something expedient, every ill-advised API promise, etc. has hurt this new team, and the original builders for the most part have gone on to other employers.

Meanwhile, you can also absolutely spend five years not working on anything that needs to scale (by being at a company/team that can't execute, by building prototypes instead of products, etc.) and not have a sense of how to do better.

Re: Things I Learned to Become a Senior Software Engineer

#45
post #41
post #37

Earlier quoted context omitted.

Only in the sense that we demand to be judged by our knowledge and ability and not by our age. If you're going to make a title and say "nobody's eligible for this until they're 40," we'll certainly try to prove you wrong. If you don't make the title, millennials as a group aren't going to care.

Expertise and experience is broadly correlated. Titles should also be earned, and that requires time in order to deliver work in multiple scenarios that proves your abilities.

They are broadly correlated, yes, but you can absolutely spend 20 years learning nothing and 1 learning a lot. Do you think that the writer of this article has not earned their title? If you didn't know about the number of years, would you still come to the same conclusion?

Maybe another way of putting this is - leaving aside the word "senior," do you agree that the writer of this article has some skills that people new to the industry do not?

Re: Things I Learned to Become a Senior Software Engineer

#46

To start with, "Senior" and related titles basically mean a person who doesn't need much hand-holding. This might be related to time spent, but often you find there's a lot of variation. People I consider senior software engineers have a can-do-anything vibe about them. They have a wide range of skills in the field, and have that T-shaped experience profile: there's some area they seem to know everything about, and t…

> People I consider senior software engineers have a can-do-anything vibe about them. I feel I can do anything as well, because if I can't then I will simply find a way to learn it, because to me it's not a question of whether I'm capable of learning it but how fast I'm capable of learning it. So I'd be careful with that vibe as a heuristic ;-)

In my experience, it's more a mark of "do do" than "can do".

i.e. how far along are you in the progression of... - being given clearly defined tasks - self-guided work on feature level - self-guided work on project level - self-guided work on team level - self-guided work across teams etc.

Re: Things I Learned to Become a Senior Software Engineer

#47
post #43

Earlier quoted context omitted.

The definition of “senior” is vague and subjective. When you try to say objective things such as “6-8 years to become senior”, that’s meaningless because “senior” is undefined.

Obviously becoming a senior engineer shouldn’t be based on tenure alone. In my experience, 6-8 years is roughly how long it takes to acquire enough skills, both technical, people, business, and safety in order to become responsible for a piece of work. Being a senior engineer at Facebook where your responsible for making sure Cat memes load more quickly, and a senior engineer for an industrial control systems company…

And in my experience it takes two, if you're good at what you do. You probably get more responsibility for systems that deeply affect people's lives and the world around us as a new grad at Facebook than as a mechanical engineer, which is probably part of it. And you probably do pick up more skills about building reliable systems, threat modeling, product planning, etc., all of which would be transferrable to other types of engineering. It's unfair that people working on a global CDN can see the results of their work in seconds and people working on a military weapons contract see the results of their work in years, but it's true.

Re: Things I Learned to Become a Senior Software Engineer

#48
> Figuring out how to become a force multiplier sounds more valuable to me than a 10x developer.

I'm always astounded by what people imagine a 10x developer is, especially some one who calls themselves a senior developer.

Hint, they aren't a lone wolf who writes 10 times as much code as the rest of the team, doesn't deign to sit in scrum planning sessions and creates chaos with every pull request they self approve. Maybe those people CALL themselves a 10x developer ...

A 10x developer IS a force multiplier. Every 10x developer I've worked with wrote easy to use APIs and Frameworks that made every other developer on the team much more productive. A 10x developer is a senior developer on steroids; they do everything this author thinks a senior developer does and more.

Re: Things I Learned to Become a Senior Software Engineer

#49
post #41
post #37

Earlier quoted context omitted.

Only in the sense that we demand to be judged by our knowledge and ability and not by our age. If you're going to make a title and say "nobody's eligible for this until they're 40," we'll certainly try to prove you wrong. If you don't make the title, millennials as a group aren't going to care.

Expertise and experience is broadly correlated. Titles should also be earned, and that requires time in order to deliver work in multiple scenarios that proves your abilities.

> do you agree that the writer of this article has some skills that people new to the industry do not?

No, not really from what I have gleaned from that article. Most of his knowledge seems to be surface level chauffeur knowledge, he never talks about fundamental data and instructions beneath the abstractions. However, it is not fair for me to judge him based on one article alone and without reviewing his work, I’m talking in a more general sense.

Re: Things I Learned to Become a Senior Software Engineer

#50

I was a bit worried about the title saying "Senior Software Engineer" because this may trigger people. But, surprised that all the discussions are about this, instead of the content.

That's probably because the content in this post is more about "soft skills" or what many would consider fluff.

"habits of mind", "tools of thought", "force multiplier", "superpowers" "embrace fear" etc. reads straight out from a Tim Ferris-like self-help book targetting millennials than anything a senior engineer would write.

I read your last year's post - that one was much more useful and insightful. So +1 (upvote) to more of those.

Post reply on HN