Live data from Hacker News

How I find problems to solve as a staff engineer

lalitm.com

111–120 of 188 posts

Re: How I find problems to solve as a staff engineer

#111
post #2

Funny people should have that problem. I have spent most of my career in the startup space, and my experience has consistently been that the amount of problems to solve is vastly larger than what I can reasonably achieve in my waking hours. So I don't find problems to solve, I try to assess which problems are most urgent, or which solution solves several of them at once. Learning to get that kind of prioritisation ri…

Exactly. Everywhere I've worked had at least 3-4X more bugs than we had capacity to fix, and the bug count grew over time, net of any fixing happening. There was never difficulty finding problems to solve. Unfortunately most places don't give engineering the autonomy to solve critical issues. It's just feature cram and redesigns, over and over, and let the bugs pile up.

I actually really appreciate the mindset this has given me towards life in general, and I consider it a superpower.

I find people get overwhelmed and go deer in the headlights when there is a huge amount of stuff to do.

I actually feel relaxed when I say “it’s not possible to do it all. There will always be more jobs than time. The only thing that matters is that we work on the most important things”

I also enjoy seeing the things that just perpetually sit at the bottom and never even get close to being looked at. Others stress and think it’s a huge problem. I like to look at them and see that in context, there are much bigger fish to fry, and we’re doing the right thing by frying the bigger ones and ignoring the little ones.

Re: How I find problems to solve as a staff engineer

#112

The part I find challenging in the senior-staff twilight is that having deep technical knowledge means I can solve short term problems, just as requests, fast and effectively. The author mentions that you should spend time understanding the frustrations from other teams, but that takes up loads of time and I don’t like being the person who talks and talks but doesn’t push code and ship features. I’d love to hear how…

I find that I often tik-tok between organizational work and deep technical work. (I come close to the "solver" archtype on https://staffeng.com/guides/staff-archetypes/). There are weeks-months when I am not writing a ton of code. I'm still doing technical work, but it's architectural documentation, experimentation, or discussion where my contributions aren't directly visible in commits. Then there are weeks where I ship dozens of PRs.

I'm often thinking about 1-2 immediate term problems (what am I coding on now), 5+ medium term problems (what am I planning to work on next or moving such that someone else can work on it), and then a handful of long-term problems ("this is currently intractable, how do I convince leadership/this other team/etc. to make it possible for someone to actually address the technical problem I care about").

Re: How I find problems to solve as a staff engineer

#113
I advise people to seek out small companies, ideally ones going through product/market fit. Like, they recently came up with something to sell and have begun selling it. Resource-constrained, good growth, not super explosive. You can find one (including mine!). In this environment you will quickly learn how to do more with less, identify the real problems, deliver quickly, work directly with customers, learn the domain (not just tech), and how to build good products. After this, go ahead and work for a big company if you want and you'll be amazed how well you do.

Re: How I find problems to solve as a staff engineer

#114
> Users often ask for a particular solution instead of explaining their root issue. Rather than taking the request at face value, I keep digging until I understand what they are trying to accomplish and why existing products do not work for them.

Absolutely applies to product focus and customers too. Giving the customer exactly what they ask for with no analysis will result in crappy software.

Except that sometimes a company giving the customers exactly what they want does optimize for sales in the market (especially in "enterprise sales", government contracts, and anything involving RFPs etc)... it just always also results in crappy software. This is how we get crappy software that sells well.

Re: How I find problems to solve as a staff engineer

#115
post #47

Earlier quoted context omitted.

This sounds about right. At least I feel it acutely in my career. And the more experienced I got instead of more autonomy it has decreased. So to me it seems autonomy is decreasing at a rather fast clip. Even outside projects and general work condition it is worse. 10 years back I could just decide when to work from home, or do a few interesting projects show to managers get approval afterwards. Today I have to expla…

>And I have been in same place for quite some time so it is not even the case that I have to prove to my new employers first. Any individual company is likely to atrophy because continual success breeds fear of change, fear of breaking what's already working. Especially if management rotates and new management didn't actually create the success in the first place.

> Especially if management rotates and new management didn't actually create the success in the first place.

Critical point, and absolutely true in my case. With change in management all past successful projects are "failures" now. Instead of using x, y, z projects uses a, b, c so leadership is kind to dismiss me with prejudice.

Re: How I find problems to solve as a staff engineer

#116
I understand the approach to wait until the same pattern shows up across multiple different problem domains, to build a good solution for all of them.

But sometimes it's a chicken-and-egg problem.

Teams most often don't have the patience to wait for your proper solution. If you don't have a ready solution to easily address their problem, they just build their own work-arounds, or give up the task if it's too hard. And those teams all have their own priorities to tackle on their plate for the quarter, so even if you eventually build a proper solution later, it's unlikely they'd migrate to your solution or restart their task.

So even if you have accumulated a lot of old use cases, when you build a proper solution you'd need new use cases to justify your effort, the ones where the owner teams are willing to build along with the iterations of your solution. That kind of new use cases may or may not come up when you have the bandwidth and resource to actually do this. And if you miss one opportunity, the constant shifts of organization priorities would likely mean there would not be another chance for you to do it. The end result is, every team either builds their workarounds, or just give up if it's too hard, without a proper solution.

Re: How I find problems to solve as a staff engineer

#117
The author and I think very much alike. I felt like I was reading a journal from myself. I work for a larger engineering company and often times feel misaligned. This read helped put into words exactly how I approach problems and helps me better articulate that misalignment. Thank you to the author, great read!

Re: How I find problems to solve as a staff engineer

#118
post #6

The author notes: > One caveat: my experience comes mainly from working on infrastructure and developer tools at large companies, on teams where engineers have a lot of bottom-up autonomy to influence their roadmaps. In a more top-down environment, there may simply be less room to work this way. I wonder if the overall trend in tech is that engineers are experiencing less bottom-up autonomy and more top-down controll…

I'm sort of in this area, and I'm fighting the same struggles because I desire "productivity", not autonomy.

I asked my manager if I should be creating tickets for the work I'm coming up with, and he answered a question I didn't ask, saying he doesn't count sprint points. So I clarified, shouldn't I at least be creating tickets so that we're accounting for it in our sprint planning? And he didn't seem to care.

IMO, it's a 180 degree shift to go from trying to accomplish assigned work to creating new work and accomplishing (or delegating) it / adding it to roadmaps / etc. To me, it wasn't at all obvious that this was what I should be doing, so it was strange to sort of stumble upon it when asking an adjacent question.

It would have been very useful to get an explicit instruction such as "hey, only spend 1/4 of your time on planned work" or similar.

I'm sure there are plenty of people out there who spent their entire career trying to avoid doing assigned work so it's an easier transition, but for rule followers it's a weird change.

Re: How I find problems to solve as a staff engineer

#119
Question from a "Staff+" engineering/product IC/leader in startup-like companies...

> [...] demonstrate their value by solving the hardest assigned problems. That can absolutely lead to promotion. But the projects that have made the biggest impression in my career were the ones where I found and solved an important problem my leaders did not yet realize existed.

This is framed in big-corporate worker motivation terms: being valued by the company, getting promotions, boosting career.

Is it generally possible to operate in big-corporate environments focused only actual success of the company and customers, and have all your needs (money, status, security, etc.) taken care of, without needing to think about them?

Or is playing to big-corporate reward mechanisms -- such as hitting known metrics, getting on high-profile projects, doing role performances, and getting credit with the right people -- the closest that you'll get to alignment and contributing positively?

Re: How I find problems to solve as a staff engineer

#120
post #6

The author notes: > One caveat: my experience comes mainly from working on infrastructure and developer tools at large companies, on teams where engineers have a lot of bottom-up autonomy to influence their roadmaps. In a more top-down environment, there may simply be less room to work this way. I wonder if the overall trend in tech is that engineers are experiencing less bottom-up autonomy and more top-down controll…

In my experience (35+ years), it is the opposite now. It used to be massively top down, and now it is more and more bottom up, at least with the companies I have experience with.

[dead]
Post reply on HN