SDE I - can work on clearly defined components of a project assigned to them
SDE II - can work on an ambiguous project with multiple components lead by a technical strategy
SDE III - lead influence and define strategy for ambiguous projects across multiple teams
This person is operating at an SDE II level but is being managed at an SDE I level...it’s time for a promotion. What’s worse is the manager is micromanaging the engineers. Instead the employee needs to be given more ambiguous project level work that aligns with the team/product strategy where they can define their own tasks. Also the manager should consider falling back from managing at the task level, instead helping facilitate at the project (or “story”) level. The fact that the manager is managing at a task level and is unable to find work for this engineer tells me that the team doesn’t have a strong tech lead who is familiar with the team/product strategy and can help mentor/lead other engineers.
In terms of retaining the engineer and making them less insecure about their role, when the manager gives the team member more insight into the team’s strategy and the way that the manager is evaluating their work it helps team members feel more secure in their role. A lot of the anxiety comes from guessing what your manager is thinking and how you are being evaluated and shows a lack of communication between manager and team on strategy, values and performance evaluation. The manager should consider holding weekly 1:1s focusing on these topics.
>Bob doesn't want to lead or be a manager,
pretty sure at amazon or any "big tech" you get fired for this
SDE I -> SDE II -> SDE III -> Principal Engineer (SDE IV) - you provide technical advisory and strategy across an organization -> Distinguished Engineer/Sr. Principal Engineer etc. (SDE V)
Some choose to stay at SDE III level until the end of their career though since it offers the most freedom to code. You absolutely don’t get fired for this.
This track exists at Oracle and Google. I am not familiar with the others.
There’s a whole book on this: https://staffeng.com/book
It doesn't mean it's a solo project. It just means you have the technical direction and you can let ppl manager to handle ppl side of things and you do almost 100% tech side of work. If you have 0 tech leadership and can only work on tasks assigned to you, you are not even ic4 worthy, that's absolutely ic3 ie ng level.
Again this is more of a feature in big tech where this kind of projects are available
I once basically had a part time secretary and it was fantastic. A few hours a week could even be enough, it just frees up so much mental space. It boggles my mind this is not the norm.
The exception to this rule of course tends to be the top of the ladder (senior principal, whatever) who generally get to do whatever they want as long as it's company related. 99.99% of engineers will never reach this point, however, and so the vast majority of these high performers are subject to the tyranny of JIRA and it's subsequent negatives.
Yea, instead of thumb twiddling, just go fix some bugs! Every company I've ever worked at had 1. more bugs than could ever be fixed and 2. had an incoming bug rate faster than the team's fix rate, therefore the bug count perpetually grew. Some of these could be long standing bugs that annoy actual users that just perpetually get ignored by the company. Go fix one and make someone's day.
There is no such thing as a Software Engineer with nothing to do. When I read HN comments from software engineers who say things like "yawn, my work fits into about 6 hours a week, and the remaining 34 hours I just take it easy, maybe work on a side project, maybe horse around on Facebook..." my mind boggles! Where do you work where there are no bugs in the backlog to fix??
If there are really no bugs to fix, maybe look into cleaning up the code base. Turn a few compiler warnings on or run the static analyzer and go looking for trouble. Re-factor that gnarly part of the code that's always tripped up new employees. Add unit tests. Add integration tests. Automate some part of the build. Maybe work on a nicer bug dashboard.
It's a good thing different people have different preferences - cleaning up a gnarly, messy old codebase so it doesn't just work, but actually shines, is some of what I love to do most!
In my experience, most companies have some baseline level of work they expect you to do as an employee. Once you complete that, then you have some flexibility to choose the work that you do so long as it adds value to the company. It is also important that your work is perceived by your manager/peers to add value too.
No, you're expected to feel a sense of ownership over and identification with the system, and to have a fairly deep personal sense of itches that need scratching and ideas worth exploring. Some of those ideas may originate from other people, but if you need other people or an issue tracker to tell you what the backlog is, you're not really right for that kind of role.
I have a sense of professional responsibility that says do my best at work because I take the money, but that is different.
If I have unallocated and paid for time at work I look for things to fill it with that are valid work and improve my skills, or braindead things to fix like typos in the text or simple documentation updates. Both mean I am earning my pay and oddly enough I get a lot of props for the second and so does the engineering team overall for that work.
totally cool if you dont have that, you can work at some bank or hospital and work in your own style, but the compensation will be smaller
Never own anything unless a board of directors decides your fate.
This is addressed on a comment on one of the answers: They had three sprints worth of backlog until Bob joined and burned through it all.