Live data from Hacker News

The Staff Engineer's Path – Book Review

smyachenkov.com

71–80 of 251 posts

Re: The Staff Engineer's Path – Book Review

#71
post #66

Earlier quoted context omitted.

> I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" The definition I have generally seen for "staff engineer" is an engineering leadership position without direct reports - I see "manager" as generally meaning "has direct reports". I think this is important: leadership and management are not the same things!

Can you explain better the difference? I am trying to figure this out myself for a while...

Typically the direct reporting relationship is about managing someone’s career and not necessarily their work. The leadership described here is more about the work to be done rather than the person’s fulfillment and suitability with that work. This separation is more pronounced with large (1000+) engineering organizations. Often people don’t experience this difference because it doesn’t exist at the smaller scales.

Engineering management is more on the management of people and engineer leadership is more on the management of products/projects/systems.

Re: The Staff Engineer's Path – Book Review

#72

Where do all the hardcore engineering jobs live? I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators? Where are the people creating amazing software and do they get a special "advanced developer" title? I guess, I'm curious if there are actual roles in c…

> Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators?

They create their own thing from scratch, and turn it into a job.

The first 5 from that list were open source creations that became big because they met a need at the time and lots of people adopted them. Which is one route into creating your own thing.

I've seen senior engineers who have leveraged lots of domain knowledge to build a prototype of something super useful internally within a company that then grows in adoption and size as people recognise it's value. Projects then start to organically cluster around the core that was built solo.

Re: The Staff Engineer's Path – Book Review

#74

Where do all the hardcore engineering jobs live? I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators? Where are the people creating amazing software and do they get a special "advanced developer" title? I guess, I'm curious if there are actual roles in c…

Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators?

Something I learned relatively late in my career was that really impressive work is the result of iterations in tiny steps. When you see something that makes you go "WOW! I could never do that!" you're seeing the final result of a long journey, and you probably could have taken each small step with a bit of effort.

There's no need for a special title for people who make amazing things. They're not that different to the rest of us. The main thing they have going for them is an environment that lets them shine - time to research and explore, less pressure to do things that aren't moving them towards the end result we see, and fewer externalities that make them lose focus.

I'm not suggesting just anyone could make Linux or Roller Coaster Tycoon, but I am definitely of the opinion that given then right circumstances most people could produce something that other people believe is at that sort of level of complexity.

May we all find those jobs one day.

Re: The Staff Engineer's Path – Book Review

#75

Where do all the hardcore engineering jobs live? I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators? Where are the people creating amazing software and do they get a special "advanced developer" title? I guess, I'm curious if there are actual roles in c…

They exist, and they aren't that rare. My org currently has a noticeable percentage of staff+ ICs, not managing, and I'm actively encouraging folks to think careful if they really want management. I am far from the only manager doing that.

But yes, jobs are very rare. Staff+ ICs tend to like to stay where they work (because great achievements take time), there's only a limited number of roles, and a lot of this is word-of-mouth in a given field.

I'd look either at FAANG - they're large enough to always need staff+ folk - or startups once they have round A. They live or die by having really experienced and productive staff+ folks, and they're large enough that they can offer staff+ interesting challenges.

Why not pre-founding? At that point, any good staff engineer I know is driven enough that they'd be better off just starting their own. In a small startup, the founder is either technical and interested in solving the hard questions, or non-technical and you'll have essentially a CTO role, but without founder credit.

It's not a hard-and-fast rule, there are exceptions to everything - but that's where I'd focus my search if I were to search for that kind of role.

Re: The Staff Engineer's Path – Book Review

#77

Earlier quoted context omitted.

Software engineering . Most engineering is this way. Somebody needs to build a thing that isn't too different from other things on a budget and a timeline. Your typical civil engineer isn't designing a new burj khalifa. Most software engineering is about organizing a group of people to build a thing for a customer that isn't too different from other things, on time and on budget. There just simply aren't as many jobs…

So are we saying that software engineering can be at odds with your ability to write code? I'm not sure most people would say they are quite the dichotomy you present here. While I agree it's often a team-sport, being able to create amazing things yourself (i.e. Git, Redis, RollerCoaster Tycoon, Rust and other single-person projects) that others struggle to replicate or contribute too shouldn't mean you're a bad soft…

I used to be an engineer in a traditional engineering field in heavy industry, now my job title is "Software Engineer". I still consider myself an engineer, and what I do with my team to be engineering.

Creating amazing things yourself that others struggle to replicate or contribute to is more in the realm of craftsmanship, in my opinion, and not engineering.

I can appreciate both good engineering and good craftsmanship. And I also often find myself doing (and enjoying) what I would consider crafting and not engineering - the lines can be blurry and as programmers we often end up doing both (sometimes at the same time!). Nothing wrong with it. But it is something that is distinct from engineering, in my opinion.

Re: The Staff Engineer's Path – Book Review

#78
post #66

Earlier quoted context omitted.

> I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" The definition I have generally seen for "staff engineer" is an engineering leadership position without direct reports - I see "manager" as generally meaning "has direct reports". I think this is important: leadership and management are not the same things!

Can you explain better the difference? I am trying to figure this out myself for a while...

In this context (and the usage is not always consistent) it's probably easiest to think about leadership as an activity and (people) management as a role. If you are not formally responsible for some aspect of other peoples jobs and career you are not "managing them" but you may be leading them (e.g. as a senior engineer, or mentor, or in terms of a project design, etc.).

Re: The Staff Engineer's Path – Book Review

#79

Where do all the hardcore engineering jobs live? I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators? Where are the people creating amazing software and do they get a special "advanced developer" title? I guess, I'm curious if there are actual roles in c…

Most companies, in my experience, don't actually know how to make use of Staff+ engineers. I spent years at a medium sized public "tech" company just trying to help the company change engineering enough to make use of these folks, and we go to a place where we could... mostly.

FANG and FANG-model (anyone copying FANG engineering/product model) companies do it well and have the bulk of success cases. Look for engineering-lead companies first, product lead companies second.

A key question when interviewing is "how is the roadmap established?" You want answers where senior leadership establishes goals (strategic or metric), product provides their understanding of opportunities, and engineering decides what to actually do. Even then, there will be the common failure model of EMs doing the roadmapping, not senior (staff+) ICs, but you can tease apart how that works, as it is always going to be a mix.

Re: The Staff Engineer's Path – Book Review

#80

Where do all the hardcore engineering jobs live? I've been bothered by the fact that most advanced engineering roles like "staff" actually mean "manager who does system design as well" Where are the docker/redis/next.js/linux kernel/qt/roller-coaster tycoon creators? Where are the people creating amazing software and do they get a special "advanced developer" title? I guess, I'm curious if there are actual roles in c…

This is the hidden side of staff engineer. The bit books don't get written about for the same reason "how I got rich" books leave out the people who worked hard but got less.

Somewhere someone has to have the time to build out the tools, then dig the foundations and lay the scaffolding and the supporting walls. None of which looks like the artists impression and none of which has a web interface you can show.

So Staff engineer is like architect. Holding the nervous customers hand while they spend a fortune to have a large hole in the ground.

You cannot build a bridge by stacking bricks in front of the customers feet one at a time in a nice iterative process. You cannot always "see" progress at the user level.

to me the signature of really good software is when one marginal change delivers outstanding value and the engineers just say "was that it".

Post reply on HN