Live data from Hacker News

The Staff Engineer's Path – Book Review

smyachenkov.com

51–60 of 251 posts

Re: The Staff Engineer's Path – Book Review

#51

Any related books for Senior Staff and Principal engineers?

I'm in the middle of listening to this book and they talk about "Staff+" roles some inside of it. The books describes the blurry lines in there, but it does talk about that next level in general.

Re: The Staff Engineer's Path – Book Review

#52

Earlier quoted context omitted.

One area to find great engineers (and interesting jobs) is at database, infrastructure and devtools companies. Places like Cockroach, PlanetScale, Docker, JetBrains, CodeWeavers, Fastly, etc. And the databases, infrastructure or tooling teams within Meta, Microsoft, etc.

Out of curiosity, do they have junior engineers too? I would love to work on docker or jetbrains for example.

Believe it or not these are all real companies that hire a variety of skill levels and even hire designers, frontend devs, support people, sales, marketing and so on. :) I mean not necessarily all of those companies are hiring all of those positions at every level this minute.

But my point is that, you can almost always find some way into an interesting company such that you may be able to eventually pivot to (or at least periodically work with) a team you're interested in.

Re: The Staff Engineer's Path – Book Review

#53
Read this; helped me get to staff. Some takeaways:

- If your management chain isn't supporting you into a staff promo, it's because they don't value the work you're currently doing.

- A staff engineer isn't a highly-productive senior engineer. Stop optimizing for the things that got you promoted to senior.

Re: The Staff Engineer's Path – Book Review

#54

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…

In my experience these people are usually in the types of environments that most engineers hate to work in. Environments completely void of the creature comforts we're used to for solving the task at hand because they are working in a new domain that likely needs new abstractions. Tools and libraries such as testing, build, automation, data structures, concurrency, fundamental primitives etc. that are suitable and at the right level of abstraction for the task at hand.

Really bad engineers see these environments and complain without doing anything about it, ultimately leaving the project. Slightly better engineers complain about the tools and blaze ahead anyway leaving a mess in their wake. The great ones I've been so lucky to work with pave the way on those fronts at the same time as solving the problem at hand and make it easier for their successors. It's quite beautiful when you see it.

Re: The Staff Engineer's Path – Book Review

#55

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…

I am an engineer that got shoved into this role shortly after graduating with an MSc by being the most knowledgeable person for this project.

I am by no means a rockstar in any particular field of software engineering, but I have worked on a very wide gamut of projects. This enabled me to dissect the task into the constituent parts in an attempt to reduce uncertainty and complexity.

Fwiw, I have no life, severe executive dysfunction that doesn’t allow me to stop thinking about what I am working on, and an abundance of curiosity.

Re: The Staff Engineer's Path – Book Review

#56
post #42

Earlier quoted context omitted.

One area to find great engineers (and interesting jobs) is at database, infrastructure and devtools companies. Places like Cockroach, PlanetScale, Docker, JetBrains, CodeWeavers, Fastly, etc. And the databases, infrastructure or tooling teams within Meta, Microsoft, etc.

I'm at a point in my career when I need to decide if I want to work for European branch of American Big Tech or try a 20 people database startup (got offers from both). I've got 2 yoe in high performance c++, working on data processing engines. I'm really tempted to go to the startup... But big tech pays more. And I feel like I could actually learn how to use tools properly before I come back to writing them. Any opi…

‘Big Tech’ will always be there in some form down the road. If you have the risk tolerance and early career flexibility, take the path less traveled.

Re: The Staff Engineer's Path – Book Review

#57
post #7

> Put non-meetings on the calendar I'd love to do that. But once you throw in real meetings, no meetings days, PTOs, time zones it becomes difficult to schedule a work meeting because now there's no overlapping block of time when you need to meet. Now all meetings get pushed out even more and the calendar time required for certain tasks increases.

Everything in moderation I suppose. I've experimented with marking large blocks (2-4hrs) as tentative for IC work a couple days/week recurring and it does help avoid the Swiss cheese of 30m meetings spread across the entire day.

Lately for a 1-3 day horizon I've been adding everything I'm working on as blocked. That definitely helps me visualize my priorities for the next couple days and whether I have room to fit more meetings or tasks. The main downside is I'm used to a more free-flowing schedule where I pick a task based on how I'm feeling.

Re: The Staff Engineer's Path – Book Review

#58

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…

Big tech companies have entire departments dedicated to this sort of engineering, usually developer platform/experience/productivity, or other similar infra/platform orgs. I'm an author of an open source framework who got scouted to work at one (and I'm currently a staff eng).

IME, yes there's comparatively far more CRUD roles than platform roles. But bluntly speaking as someone who's been on both sides of the fence, platform roles are not for everyone. For these roles, there is a expectation of quality by very technical stakeholders and this creates some pressures and incentives that don't necessarily exist in orgs that cater to non-technical faceless stakeholders.

In practice, a big challenge is to avoid being someone who is "not hardcore enough" (i.e. incapable of implementing large scale reusability due to lack of ability, tendency to cave to timeline or other pressures, or distaste for "office politics") but also avoid being "too hardcore" and being constantly in the weeds chasing some cool clever idea that might not align w/ overall picture.

One thing that is often overlooked in open source projects with sizable communities is the amount of cat herding you need to do. People have all sorts of ideas for "features and improvements" and sometimes your job as a BDFL may be to say "no" to your most ardent supporters. This also happens a lot for staff level platform work.

Re: The Staff Engineer's Path – Book Review

#59
post #42

Earlier quoted context omitted.

One area to find great engineers (and interesting jobs) is at database, infrastructure and devtools companies. Places like Cockroach, PlanetScale, Docker, JetBrains, CodeWeavers, Fastly, etc. And the databases, infrastructure or tooling teams within Meta, Microsoft, etc.

I'm at a point in my career when I need to decide if I want to work for European branch of American Big Tech or try a 20 people database startup (got offers from both). I've got 2 yoe in high performance c++, working on data processing engines. I'm really tempted to go to the startup... But big tech pays more. And I feel like I could actually learn how to use tools properly before I come back to writing them. Any opi…

Based on your experience looks like startup is a good match. The argument about learning the tools first doesn't sound that convincing to me , it is mostly you justifying the high salary. Also database is not a tool per se and even if it is you will mostly understand how to query it , which is just like learning SQL and I don't think it will help you in writing a database

Re: The Staff Engineer's Path – Book Review

#60

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…

staff and principal engineerings are still leaders who spend an awful lot of their time coaching and mentoring, they probably just don't have direct people management responsibilities. There are very few situations that will give you an advanced IC title for doing stuff that "no one else can do" because of one word: leverage. It's not economic (in all but the rarest, most specialize cases) for me to say "I want 10x developers who are snowflakes" vs. "I want my senior engineers to increase their sphere of influence and make every developer fractionally better". It's very hard for a senior developer to increase their skills 10% YoY, but actually pretty easy for them to help 20+ developers get 1% better. Staff and Principal developers go deep on the leadership aspects (I shudder to say architecture, but it is the "good" parts of this) and very, very wide on their application & influence. As a result the opportunities for deep engineering work are more like mining than farming.

I manage 2 core teams, one a "platform" team made up of all senior => principal engineers, and they spend a lot of their time shepparding other less experienced teams while trying to answer very tough, vague questions like "what bottlenecks do we predict at 10x scale? What can we opportunistically do today?". No one gets huge, dedicated time blocks to code without some degree of accountability and expectation.

Post reply on HN