| ▲ | A Staff Engineer's Guide to Inventing Work(sujithjay.com) |
| 124 points by amortize a day ago | 30 comments |
| |
|
| ▲ | dabedee 3 hours ago | parent | next [-] |
| > Platform teams are engineering-led rather than product-led. There is almost never a product manager handing you a roadmap, no revenue line to follow, and no market to lose. It's precisely because of this framing and mentality that platform teams don't actually serve people well and are usually highly dysfunctional towers of people inventing work. The fix for having no market is to act like the teams you serve could leave. This whole article lists signals, and none of them is that. Being captive does not mean the users or internal teams don't have other options and don't notice. Being product-led means caring about your users. A platform teams should be product-led, not engineering-led in that very narrow meaning. Otherwise you invent work as this article so wonderfully exposes. |
| |
| ▲ | aleqs 9 minutes ago | parent | next [-] | | You're assuming product people don't 'invent' work, which is faaaar from true. The more technical the area, the more nonsense 'product' generates, that engineering then has to either redo, clean up or fight. The 'product' people on 'product-led' teams also generally own the internal comms and marketing (internal) side of things, which often has the effect of silencing engineering (and many other negative side effects). (Not always but often imo) Engineers should understand their customers and their product (whether internal or external), should understand their metrics, and should be able to make intelligent, informed decisions. Sticking a non-technical 'product' (aka marketing) person into the mix is generally net-negative imo. | |
| ▲ | Rapzid 2 hours ago | parent | prev | next [-] | | I've led a number of platform teams over the past decade and we've always treated it like a product with internal and external customers. | |
| ▲ | flowerlad 2 hours ago | parent | prev | next [-] | | > Being product-led means caring about your users. A platform teams should be product-led, not engineering-led in that very narrow meaning. And where do product people get ideas for new features? If you're Microsoft you look at what successful competitors are doing. If you're anyone else you look at customer pain points, exactly as described in the article. | |
| ▲ | sharts 2 hours ago | parent | prev | next [-] | | Maybe at large orgs. I’ve never found a platform/engineering led teams to engage in work that didn’t amplify the work of other teams. | |
| ▲ | hyperpape 3 hours ago | parent | prev [-] | | It mentions toil and postmortems, which are pretty relevant to the teams you work with. | | |
| ▲ | dabedee 3 hours ago | parent [-] | | Yes. Which is why I don't really understand how any of it needs inventing. I'd rather read about how to find out what those teams actually need; and also how to tell when the answer is to build nothing new at all. |
|
|
|
| ▲ | fsloth 2 hours ago | parent | prev | next [-] |
| "that work does not exist unless an engineer invents it." This is so strange. To my mind the only purpose companies hire engineers is to support business. The staff engineer should not need a project manager to tell what is interesting for business aspects - even though the goals are likely mostly technical. I do realize this does not hold up always. But to me if you can't provide some reasoning for your work in business metrics you are participating in an academic exercise. |
|
| ▲ | juancn 4 hours ago | parent | prev | next [-] |
| I use the "what's going to kill us next" philosophy.
Figure out what that is and do something to avoid it. Wash, rinse, repeat. |
| |
|
| ▲ | nmehner 17 hours ago | parent | prev | next [-] |
| "inventing work" = "requirements engineering" "Inventing work" is a strange phrase to use imho. |
| |
| ▲ | arealaccount 4 hours ago | parent | next [-] | | I thought this was going to be an article about slacking off with style | | |
| ▲ | Insanity 3 hours ago | parent | next [-] | | Well I was thinking more align the lines of pure "promoware". I.e, find something to build that'll get you promoted but is useless beyond that. | |
| ▲ | giancarlostoro 2 hours ago | parent | prev [-] | | Just tell everyone Claude is still working on it, even if you don't use AI. |
| |
| ▲ | qrush 4 hours ago | parent | prev | next [-] | | Agreed. A better framing would be "defining work". | | | |
| ▲ | pradn 2 hours ago | parent | prev | next [-] | | It was clearly a "tongue-in-cheek" framing. Got me interested at least! | |
| ▲ | theanonymousone 4 hours ago | parent | prev | next [-] | | In their defence, requirements engineering sounds somehow reactive to me, while "this thing" is kind of proactive, for what it's worth. | |
| ▲ | mytydev 10 hours ago | parent | prev | next [-] | | I was thinking the same thing. The word that I would be more inclined to use is used multiple times throughout the article. Discovery. | | | |
| ▲ | groestl 4 hours ago | parent | prev | next [-] | | I think it's a fundamental difference in philosophy. Does the work exist, and you discover it? Or does it start existing as soon as you think about it? This person seems to subscribe to the latter world view. | |
| ▲ | cush 4 hours ago | parent | prev | next [-] | | yeah I thought the post was going to be satirical | |
| ▲ | gloryjulio 3 hours ago | parent | prev [-] | | Requirements engineering still applies to senior engineers. You are given a problem and you need to work out the requirements and the path to completion. But for staff engineers, they need to to discover the scope themselves. That's where "inventing" coming from. Not saying inventing is a good word here, but requirement alone is not enough for staff level's work | | |
| ▲ | nmehner 3 hours ago | parent [-] | | "Requirements Engineering", "Writing Code", "Writing Documentation" are all areas of work that are independent of seniority in my point of view. I might send a junior to a well-meaning customer that already knows exactly what their requirements are to just document them and learn the process. Or I might require a principal engineer for the requirements engineering of: We need a new programming language. Let's figure out the requirements for it and what abstraction level is actually feasible for the target hardware platform. Same for writing code: A junior might write code, a staff engineer might write code. Just likely on very different levels. If an engineer comes to a manager and asks for budget for work they invented, I'd expect the answer to be something along the lines: "That is nice, but can we please focus on the stuff we are required to do?" That alone would be reason enough for be not to put ideas that way, but to come up with a requirement why it makes sense to do the work. | | |
| ▲ | gloryjulio 2 hours ago | parent [-] | | You are not talking about the expectations in terms of the corporate levels. Staff and senior have clear definitions in tech companies. A staff(l6) is the team lead who is required to find the scope for himself and team. That's in his job description. If he can't do that he would get pipped or fired. A senior(l5) is the tech lead on the project level. He is not in charge of handling the team's scope. As long as he handled his own projects well, he would usually pass the review cycle. The difference is crucial. At staff and above, the engineer's responsibility is vastly larger than a senior's. I am not saying a senior can't do a staff's job - that's how he get promoted once he demonstrated that he is operating at a staff level, i.e "inventing" scope for his team. But a senior's scope is much smaller than a staff's. This applies to almost all US medium to large tech companies |
|
|
|
|
| ▲ | stephbook 2 hours ago | parent | prev | next [-] |
| The article content is both true and framed strangely. Does the author think "product customers" hand you a tidy list of requirements the stupid programmer automatons just have to translate into code? Obviously not. Customers also don't know what they want, or could want. Famously, they claim to want faster horses. Then the author goes on to list "crash led discovery", as if this was so different from prioritizing bugs in prod. Or, If you have no idea, just improving efficiency. Or talking to customers, err, users. All of this is true and none of this is any different from any of the other software, just translated into other lingo. |
|
| ▲ | sigbottle 2 hours ago | parent | prev | next [-] |
| I wonder how this applies to personal projects. I find it hard to motivate myself to just "study a textbook". I do do so, but it almost always feels useless compared to actually doing something. It doesn't have to be grand, but it needs to be something I can at least "trick" myself into believing it's useful. Well, right now, I'm pretty happy and have a personal project that I'm very eager to have done and polished and see the result of. Hopefully life keeps throwing more of them at me. It's been a constant issue for me though. |
|
| ▲ | skrtskrt an hour ago | parent | prev | next [-] |
| > no revenue line to follow, and no market to lose Two paragraphs later, the topic is: > Cost I mean this is just incredibly lazy thinking and writing.
There's always a cost line to follow, just because there's "not a revenue line" means absolutely nothing it just sounds pithy. And if you cut your cost hard enough, you will put platform stability in danger, or hamstring your engineering org's ability to test and iterate, which will make you lose your market. Again, incredibly lazy thinking and writing. |
|
| ▲ | aaroninsf 3 hours ago | parent | prev [-] |
| I feel seen, but agree, I would have used "identifying and prioritizing work"... ...but I will admit, it does sometimes feel inventive, and when I describe what I do, it does feel... inventive... in some sense. Particularly "no one in the org asked me to..."... instead it's almost always, identifying and getting ahead of needs, or, responding to overlooked friction/problems, etc... |
| |
| ▲ | ferguess_k 2 hours ago | parent [-] | | At least you are getting a lot of fun for it! I have always wanted to join the platform team in my org... |
|