3 ms·
I have been an IC for 17 years now (MS/Amzn/Snap) - let's hope I haven't peaked yet :) But over time I have seen my role change in many ways though: I started
by SubuSS 7y ago
I have been an IC for 17 years now (MS/Amzn/Snap) - let's hope I haven't peaked yet :)
But over time I have seen my role change in many ways though: I started as the stereotypical IC, slinging code and did that for a long time. Almost at every level though, sooner or later I ended up with almost full ownership of whatever I was working on. That meant I kept growing in levels and I am where I am right now (Uber tech lead for all data analytics infrastructure at snap).
My current role essentially takes up 10-15% time for company level arch/design reviews, 10% time on interviews, 40% time on preset meetings (scrums/team design reviews/planning/post mortems), 20% time on operations and about 15% time for coding. So pretty much all coding I do is in that tiny sliver or outside office.
I am pretty much a part of all meetings my manager peers are a part of - except for their people commitments. The main differentiation I see between the IC role and managerial is that I don't have people reporting to me. I also don't have to be in ALL the status reporting meetings / managing up etc.
There are definitely times I want to put my head down and get some problems solved, but it usually comes at a cost. So I find some or other engineer to task it on and watch it done most of the times. Rest of the times I don't sleep :)
It is breadth heavy because snap is still a small company in terms of # of engineers. My equivalent role in AWS was a lot more on the building side (50-75% went into building stuff and rest for ops/interviews etc.) because it was a depth position. I did choose this after 13 years of depth roles, it has been quite interesting so far! The biggest advantage I bring is that I can pretty much fix anything in the system and make changes in any component, assuming the dev is not available. I also keep the full stack in my head, so serve as the initial litmus test for new proposals.
I see a bit of misconceptions about pay (I do get paid in the same band as my level to next level give or take bonuses/stocks etc), ownership (My ass is very much on the line for our data quality), responsibility (my managers share the responsibility in a different way - they will get a team member on things that need done and refocus. I will jump in myself if that doesn't work) etc.
I like the freedom. I do like the fact that I can be socially aloof (I am usually friendly, but my friends are outside work) and still get things done. I prefer not to worry about others personal lives (from what I see, this becomes inevitable for managers). I definitely like not having to deliver reviews (I am still a part of the process).
Feel free to ask me any questions.
- commandlinefan 7y ago> let's hope I haven't peaked yet Hear hear! There's still so much to learn - I've been coding for nearly 30 years, and there are entire domains I've hardly scratched the surface of. And now I'm actually getting a chance to apply AI techniques to my day-to-day work!