Too many roles / too many hats is far too common and why I find it hard to stay anywhere more than 4-5 years.
As a senior IC in a super-flat & growing org..
I'm almost like a customer successs engineer, product manager, scrum master, senior developer and tech lead all rolled into one.
Management administrivia
I accumulate administrative things my manager doesn't want to do & pushes down
I do unofficially own a part of the team
Dotted lines of devs in my "team" that can be rolled in & out sprint by sprint
Customer success / product / architecture
I collect customer requirements, translate them into stories & documentation
I manage customer/manager expectations with status meetings & reports
I project plan out 3 months of work with JIRA hierarchies/Gantt chart
I design solutions given the requirements
Scrum
I run our standups, sprint plannings, backlog refinements
Corporate citizenship
I am involved in recruiting 5-10% of my week
I run working groups / long running cross team tech org
Development
I do IC work - directly assigned sprint deliverable tickets (analysis, development, infra creation) I need to accomplish
I've been looking at moving to a more official management role elsewhere so I can focus at being good at a few things instead of decent at all the things.
> I'm almost like a customer successs engineer, product manager, scrum master, senior developer and tech lead all rolled into one.
This is also me. Except I really like it. But I'm not sure what to do about it, it can reflect super poorly on a resume for some reason.
"Oh, your applying to be a Senior Engineer? Look at all this product management and developer manager experience on your resume, you must not really be serious about coding, you aren't strong enough technically, the developers won't trust you"
"Oh, your applying to be a Product Manager / Product Director. Look at all this programming and tech experience on your resume, you are really just a developer, you should just be pulling tickets from JIRA/Asana/Linear, you probably wouldn't be able to speak in non-technical terms in front of customers/clients/etc"
(loop on repeat)
I've not heard of a job name/title/role that accurately represents this sort of work, even though companies generally seem to like it, if I can somehow get through their application process.
I believe there was a post on here recently that talked about a person leaving _off_ experience he had on his resume and end up getting _more_ callbacks.
I'm in a similar place, although I'm not really seeing any resume problems. Maybe my resume focuses entirely on my technical side. But on my previous project, I often spoke with stakeholders, helped our ever changing product owners, but I also worked on every aspect on the application (even infra, though that's really not my thing), guided juniors, decided the direction of the application, etc.
But that was only one project, so it doesn't really show up much in my CV. The main problem that recruiters have with me is that they don't know if I'm front-end or back-end, but I consider that a pointless distinction. I pick up whatever needs to be picked up, whether it's a single technical focus or everything else. (I'll even do infra if I really have to, though I'd rather not.) I like the diversity, but I also like to adapt to what the team needs.
I have similarly varied background and I have not had candidate employers put it through that lens.
If anything I find people tend to look upon varied experience as proof that you can add value on multiple fronts and across functions within the organisation, which should make you a slightly less common cog in the machine.
> I've not heard of a job name/title/role that accurately represents this sort of work, even though companies generally seem to like it, if I can somehow get through their application process.
I think you will find that generalists are valued in extremely small orgs like startups, skunk works, spin-offs, and the like. Titles, when accurate, are likely to be vague (eg. Founding Employee). As organizations grow, roles tend to specialize, and generalists are undervalued, but reliable long term career success still tends to accrue to folks that have t-shaped[0] skill sets that allow them to be extremely productive in their area of specialization, and extremely effective at collaborating with other specialists across the organization.
You seem to be getting dismissed as a dilettante, though it is being couched in terms of your expertise in whatever the person you're talking to doesn't feel qualified to assess, or whatever they aren't looking for in the role they are seeking to fill.
There is, however, more than one way to specialize over the course of a career other than your role in an organization per-se. For example, you can develop domain expertise in an industry (finance, healthcare, legal, telecom, entertainment, retail, agriculture), market (eg. regional VARs, enterprise software, small businesses), delivery model (SaaS, information products, durable goods), or product/service category (content management systems, adtech, databases, business intelligence). Don't go crazy with combining these into something too hyper-specific, obviously.
The other aspect is organizational appetite for risk.
The first company I worked for let anyone grow into any role they proved they could do. If you solved the hard problems you were the senior developer, if you took the reigns you were quickly promoted to lead/manager. Seniority didn't count for anything and roles were very fluid.
That's an uncommon situation and what I've learned is it's hard to imagine if you've spent a career in more traditional organizations.
Did you consider skipping the non-relevant parts from the resume and interview discussion? Once you make it in, perhaps you can show them your full background.
TBH, reading this as a manager, I have to admit I feel like asking my engineers to take on SOME of these beyond-just-the-code duties... is a good thing? Obviously there are a bunch of caveats, and nuances to whether you want an IC engineer to be 100% coding and 0% talking to customers or doing admin (this seems bad), or is it 90% vs 10% (maybe okay), or 80/20 (sweet spot?), 50/50 (concerning), 20/80 (bad again), etc.
That being said, if you are doing all of these things, and not being fairly compensated for it, then that's definitely a problem. A $50k/year web dev position at some random agency, doesn't deserve this level of work from you, esp. if you could instead take all these responsibilities, and do them at a serious technology company or start-up, for 2x-5x the comp.
> TBH, reading this as a manager, I have to admit I feel like asking my engineers to take on SOME of these beyond-just-the-code duties... is a good thing? Obviously there are a bunch of caveats, and nuances to whether you want an IC engineer to be 100% coding and 0% talking to customers or doing admin (this seems bad), or is it 90% vs 10% (maybe okay), or 80/20 (sweet spot?), 50/50 (concerning), 20/80 (bad again), etc.
1. Agree 100% coding and nothing else is bad most of the time. You can leave out admin tasks but engineering is more than just coding, it's problem solving. Understanding requirements (e.g. by talking to customers) is crucial and also the best code is the code that had to be never written.
2. Think that is also in large part an individual thing, some people like to wear multiple hats to some individually varying degree while others don't.
3. It must work out in practice and you have to make sure the sum of both does not result in a value above 100%
4. I agree if the technical stuff is as low as 20% it may be better to just transfer in another role completely as it is hard to contribute meaningfully there then.
I agree most engineers should be doing SOME things beyond code-centric activities. There are things that almost nobody, whether they're an IC or people manager, wants to have take up their whole day. That requires spreading them out across staff.
Problems arise when that work isn't assigned out explicitly, evenly, and thoughtfully. Sometimes there's important work that isn't really assigned to anybody, and it can end up landing with whoever is least willing to ignore it. Over time, that can lead to situations that feel (and/or are) unfair.
Some engineers just want to do engineering. Nothing else. But more often engineers will be happy getting involved with the customers in some way, or working to improve some process they don't like, or some even love doing documentation.
Best thing is to bring up options and ask if any of them sound appealing. Letting people choose their work generally gets you stronger buy-in to what they're doing.
Same. As an IC I like ownership. I'd be fine with most of that list assuming it was related to something I owned. I may not specifically like some task, but I'm fine doing it if it's because I'm the person responsible for something.
The biggest issue I would have with that list is the description of the scrum setup, and being directly assigned tickets. I find it more engaging if I'm given or find bigger problems to solve, completing individual tickets isn't as interesting.
It's more that I spend near-zero time on any coding anymore, but also have very little visibility into the wider strategy (because there kind of isn't one).
So I am tasked to have work for my customer(s) / 2-3 devs on loan to me, planned out for a few months. However my manager doesn't really give us what his quarterly goals are most quarters. Product team doesn't publish them very often either.
In order of time spent in applications top to bottom it looks something like - Zoom, Slack, Email, Jira, Confluence, Sharepoint, Gitlab, VSCode.
Right, I'm rather experienced and make many multiples of 50k/yr, so its not really a compensation thing.
It's more that it feels very ephemeral / tenuous as none of it is in an org chart or official. It is basically what problems management has to solve and what seniors are available at the moment.
I am, officially in title and org chart an IC. In reality 10-20% of my time is IC dev work. 6 months ago it was 50%, 6 months before that it was 0%.
Further it feels like too much of a time split to really get any better at any of the aspects - software dev, tech lead, product, people management of this role.
It can be better, but it also can be just as chaotic sometimes. On balance overall, FAANGs are probably better at managing this "IC utilization" rate if you wanna call it that, vs just randomly expecting you to pick up and wear all the hats all the time or that hats are chaotically assigned, with no plan behind it. Certainly FAANGs aren't perfect, but at least it's easier to find "reference implementations" because there certainly are some very high-performing and well-managed teams, and if you're not on one yourself, then you can at least have the benefit of being able to see-and-compare, which then provides a potential for betterment and learning from others (which might be harder in non-FAANGs).
Right, I like the term "IC Utilization Rate".
I think for me its the chaos of the hat wearing. I went about 6 months doing pure project management with 0 leadership or development work.
I periodically go long enough with 0 hands-on dev that stuff in the SDLC has changed again. So I have to go poke around and figure out why my commit message formatting is rejected, which teamcity instance we are using now, and what QA box I should be testing on.
Also the unmentioned part for me is that while 10-20% of my time is Dev at best, 50% of it is high urgency fires I am brought in to extinguish because I have the most knowledge of that part of the code base and can ship whatever improvement in 1-2 sprints without needing to spend 2 sprints on analysis first.
I'm just a senior IC, and not at FAANG. But my employer does recruit from FAANG. 0%-20% sounds low for dev work, but the basic description looks somewhat familiar. We don't have project managers, and not all teams have product managers, so seniority can get you more of that work, and less dev work. I don't think ICs do managerial people management if you don't include mentoring. And I do know one or two directors who still code a lot. Maybe some FAANGS have senior positions with more IC dev work.
They do, but it's vastly easier to get promoted to those levels as a manager, because the organization needs managers to function, but super senior ICs are less critical.
For me it mostly depends on management staffing levels, if I'm in a standup with more management/business folks than developers I don't expect to spend a lot of time handling that side of the process, especially if we aren't in a place where we are stable from a technical perspective or have deadlines looming. On the other hand if I'm just directly reporting to a single person I'm much more open to lending a hand and pick up a lot of stuff.
My last title before I went on my own was CTO/Architect. And I was doing all the things you mentioned down to coding. I could not complain about compensation as it was very fair - $250K in 2000 (the last year). But I was becoming a wreck.
Now I have my own company and I still do all those things, LOL. Big difference being I choose what I do, how I do and obviously the size so I can chew it on my own or with my few trusty subcontractors. It is basically development of new products from scratch either for clients or for my own company and once in a while some very short hit and run type jobs. I now also leave plenty of time for myself to enjoy whatever activities make me tick.
Not even. This is far past what is expected of a staff, senior staff, or even principal engineer. This is a full-on technical cofounder, or hybrid cto/vpoe.
As a senior IC in a super-flat & growing org.. I'm almost like a customer successs engineer, product manager, scrum master, senior developer and tech lead all rolled into one.
Management administrivia I accumulate administrative things my manager doesn't want to do & pushes down I do unofficially own a part of the team Dotted lines of devs in my "team" that can be rolled in & out sprint by sprint
Customer success / product / architecture I collect customer requirements, translate them into stories & documentation I manage customer/manager expectations with status meetings & reports I project plan out 3 months of work with JIRA hierarchies/Gantt chart I design solutions given the requirements
Scrum I run our standups, sprint plannings, backlog refinements
Corporate citizenship I am involved in recruiting 5-10% of my week I run working groups / long running cross team tech org
Development I do IC work - directly assigned sprint deliverable tickets (analysis, development, infra creation) I need to accomplish
I've been looking at moving to a more official management role elsewhere so I can focus at being good at a few things instead of decent at all the things.