What is career stage ic4 microsoft?
This documents Artsy's Engineering Ladder. The Engineering Ladder is a framework to help evaluate performance, goals, and compensation for engineers at Artsy. Our ladder was first established and opened in 2015, which you can read more about on our blog.
Since then Artsy has synced up with the Artsy company-wide framework 🔑 for levels and titles and we have added Technical Lead levels to the framework.
This document is open and evolving. We encourage you to submit issues or pull requests to suggest changes and ensure our framework is doing the best it can to help Artsy fairly evaluate compensation and career growth for engineers.
The Engineering Ladder encapsulates two tracks—an individual contributor (IC2–IC8) and manager track (M2–M6). The manager track is available to engineers who have achieved an "IC5 Senior Engineer" level on the individual contributor ladder.
TODO
Individual contributor engineers define a "maker" role at Artsy where a person is responsible for writing code on a regular basis and has no direct reports. As an individual contributor engineer grows at Artsy the scale and impact of the code they write and systems they maintain is expected to increase.
From one level to another, the scope of direct impact gradually increases and so does the sphere of influence. Increased mastery is a necessary condition but isn't sufficient to expand impact.
Note: This ladder is heavily inspired by Better's Technical Career Ladder and Rent the Runway's Engineering Ladder, which we believe have the appropriate levels of specificity to enable meaningful career development conversations.
It can be helpful to maintain a bragging document to really understand the ladder and also to get your work recognized. Julia Evans has put it really well in her blog post explaining that neither you nor your manager will remember everything you did. To help you track your work and also get alignment with your manager on where you are standing in terms of performance you can use this template as a base for your bragging. It also contains some real world bragging examples of fellow Artsy engineers.
To help with the visualisation of the ladder we have created this visual, inspired by honeycomb.io. It is not perfect but it allows for a quick overview of the levels in terms of impact as well as ownership. We wanted to show that each level encompasses the previous levels and there is flexibility in how to interpret and operate on each level based on individual interests. As mentioned in the linked article "...someone might operate at a higher level of ownership in a smaller scope or at a smaller level of ownership at a larger scope, or somewhere in between. Of course, there is value in growing in both dimensions, but it is more common to stretch in one direction or the other at any given point."
Every team at Artsy has a Technical Lead who is part of the Core Team (Product Manager, Technical Lead, Data Analyst, Product Designer and Engineering Manager). The Technical Lead's key responsibilities are:
Taking on a Technical Lead role is a great opportunity for someone to expand their impact (including to expand scope, to achieve team wide impact, or to pave the way towards an Engineering Management career). Throughout their career, an Individual Contributor or an Engineering Manager may swap in and out of this Technical Lead role.
See this document for an expanded set of Tech Lead Responsibilities at Artsy.
A manager’s role at Artsy balances people management responsibilities with team delivery responsibilities. As a people manager, they are responsible for hiring, retaining, growing and managing the performance of their reports. Additionally, they're expected to significantly impact teams' success through their own technical contribution and/or delivery management. Delivery management is broadly defined here as any non-coding activity that will help the team ship faster, with better quality, and with increased impact (for instance: improving team processes, mitigating risks around release planning, facilitating internal and external communication). As an engineering manager grows at Artsy, their scope of impact will increase from one team to multiple teams and from managing ICs to managing ICs and other EMs.
I’m not a Microsoft spokesperson. I’m just a dev manager sharing my thoughts. I’ve been a lead at Microsoft since 2005 and have led teams that range from 5 to 30 people on a bunch of different products. I learned a ton from the school of hard knocks and a couple of great mentors. I never took a management class before I became a lead. I was AWFUL when I first started. I cringe thinking about my early mistakes. After 8 years I feel like it is time to share some of my thoughts and help those out there struggling with the decision on whether or not they should get into management.
At Microsoft there are two career paths: individual contributor (IC) and management. Microsoft has structured the career model to encourage both paths and doesn’t pressure people one way or the other. The level bands are: SDE, SDE II, Senior, Principal & Partner. Most people start off on the IC track and are given the choice to fork off into management once they get to the Senior or Principal band. Both paths share the same level bands, but the competencies change. ICs are generally going to focus more on depth of technical knowledge and managers are going to focus more on technical breadth and collaboration. You don’t have to take the management path to be a success. There are plenty of Principal and Partner level ICs at the company.
Choosing the right path is hard. But the good thing is that you can go back and forth between the two paths. I know people that have gone back and forth many times throughout their career. Sometimes because they wanted to and others because they were forced to. Like I mentioned in my work:life balance post, it’s all about seasons. Sometimes you want to learn a new technical skill or go deep into something and other times you want to learn how to manage people or products. Pick the role for a season and be open to changing if it doesn’t work out or if you want a change of pace.
You can fail at being a lead and pick yourself up again and go back to being an IC and vice-versa. Don’t ask yourself “What do I want to do for the rest of my career?” Instead ask yourself “What do I want to do for the next season of my career?” That could be a year or it could be 5 years. It’s up to you what you want to do. Most people, if they set their minds to it, can be fine leads. But if their heart isn’t into it or if they get into it for the wrong reasons then they will likely fail. Remember that you can always switch back and try again down the road.
Lots of people join Microsoft at the SDE or SDE II level bands. I tell them to not even worry about whether or not they should become a lead. They have many years to go before they are even allowed to be a manager. I tell them to work on being a technical leader, because all ICs need to be technical leaders anyway. Once your technical leadership skills have matured AND you are a Senior, then you can start to think about it. Otherwise don’t stress over it. Prove yourself as an IC technical leader and go from there. If you are an SDE or SDE II and have your heart set on being a lead, then discuss it with your manager and they can hopefully set you up to be in explicit technical leadership roles to give you more years of practice. I’ve done that and it has helped.
I’ve mentored many people who want to get into management and the first question I ask is: “Is anyone following you now?” If not then they aren’t ready to be a lead. The best response I can get after I promote someone to a lead role is “Aren’t they already a lead?” That means that are already seen by the team as a leader.
Sometimes I’ll ask other people on the team if they could work for the person I’m thinking about making a lead. If the answer is no, then I drill into why and get that feedback to the person who wants to be a lead. For my teams, promoting someone to a lead should be a big celebration that most of the team supports. If the majority of the team doesn’t think the person should be a lead then it is going to be a very hard uphill battle for them and for me. I’d rather push the promotion out a bit and let the person mature before pulling the trigger.
Why do you want to be a lead? Is it because you think that is what you need to do to get ahead. Wrong. Is it because you want to have a bunch of mini-mes that can implement all your ideas? Wrong motive. Is it because you want to mentor, encourage and support a team to help them reach their full potential? Getting closer. Decide to be a lead because you think you’d love it and you’d serve yourself and your company better for doing so.
Do you have to be the most-liked person in the room? If so, then you’ll struggle as a lead. Sometimes you will do things that you know are right that will make you unpopular with some folks. Those situations should be addressed with open, honest and respectful communication, but they will come up. Prepare yourself for some awkward situations where you aren’t the most popular person in the room. It’s okay. It will pass and hopefully whatever made you unpopular will turn into a very big plus later down the road when it all works out as you had hoped.
Are you good at going into a deep hole for 14 hour chunks of time for weeks at a time and coming out with a masterpiece? Don’t you love that? Well, then you probably won’t be successful as a lead at Microsoft. (Probably not a good agile dev either, but that’s a different topic). I have yet to meet a lead that codes as much as they did when they were an IC. Yes, most leads still code, but it isn’t their primary focus.
Do you feel like you have many good years of hard-core coding left in you? If so, then do us all a favor and don’t become a lead. There are so many other things that go into being an effective lead that if you spend days in a cave your team and the product will suffer.
How are your interpersonal skills? Be honest. Do you like interacting with people? Do people like interacting with you? You will spend many hours talking with your folks as a team and individually. Some will bore you. Some will be engaging. You have to put energy and time into each relationship to figure out what makes these people tick.
Sometimes you are going to just click with your folks and other times you won’t. You have to be able to carry a conversation with someone you don’t click with because they are on your team and they are looking to you for guidance. It’s tough. I’ve been there. But, I’m still here.
You have to be good at recognizing when something is wrong with your folks. You have to be able to read people’s expressions, demeanor and posture to figure out if they’d like you to dig into something they aren’t saying. That’s a complex topic and I don’t have it all figured out, but it is a skill that needs to be learned.
Are you good at recognizing talented people? To be an effective lead you need to be interviewing for a long time before you can make a final hire/no-hire decision. You need to be bold enough to give someone a no-hire and send them home. Even after your entire team gave them a hire. The most expensive and regretful thing you can do is make a bad hire. I’ve done it. It’s painful. If you want to be a lead then get interviewing now. Get very good at asking the right questions. You will ask those questions over and over again and you’ll want to be able to distinguish a good answer from a great answer.
Being a lead isn’t going to make you any more money than being an IC. A Principal IC developer makes the same amount of money as a Principal Lead.
As an engineer in today’s world you are already making enough money to live off of. Your motivation in life shouldn’t be to make more money it should be to do more of what you love. A potential few more dollars here and there isn’t going to change your lifestyle, but being a lead when you really want to be an IC will destroy you.
There are a ton of management training courses out there, but none of them prepare you for real-world management. I will promote people into leadership positions, but only after they have proven to be a technical leader. I give them trial runs. I set them up for success and let them fail. They learn from the trial and, if they want to, they give it another go.
A trial run may include being the feature lead on an area of the product with a couple of devs that they lead. Or it may be a new product where they are assigned a few vendors to help them. The idea is to see if they can swing it as a technical leader.
Go through a couple of complete product development cycles as an IC. Feel the joy and pain of releasing software as a member of the team before you try and lead one. There are so many things to learn and then teach from time management to deployment to capacity planning to support. A lead needs to be good at them all and know how to teach the skills to their teams. Baby steps.
You have an employee on your team that isn’t meeting expectations. Do you have it in you to talk to them about their performance and provide them with practical guidance on how they can improve? If not, then you aren’t ready. You can’t just tell them they aren’t doing it right. You have to give them concrete feedback with examples to back it up.
You must be able to either help them get better or help them find a new job. It doesn’t happen often, but you might someday have to let someone go. Do you have what it takes to tell someone you like that they aren’t a fit for the job?
My style is to give direct feedback early and often. Sometimes people don’t like it. But most of the time they do. Some of them didn’t speak with me for days because they didn’t like what I had to say. But I held my ground and let them digest the message. In every case the people come back to me, after some introspection, and thank me for the feedback and had a plan for how they are going to turn things around.
The best thing you can do as a manager is give feedback to your folks. It’s tough. But essential to great leadership. And don’t save it up for a big reveal at review time. Give consistent direct feedback early and often that is both constructive and encouraging.
Yes, you should have your own management style. But your preferred style won’t fit every situation. Here are some good words of advice when I was just getting started: Learn to adapt your style based on the situation. In a nutshell, when given a task, people can possess or lack the necessary competence and commitment to complete it. It is up to you as a manager to figure out what the person needs in any given situation and adjust your style. Sometimes you are directing every step and other times you are encouraging and supporting. You can find out more about Situational Leadership here.
Don’t be in a hurry to get into management. It’s better to take your time, build a following as a technical leader, develop your style and then become an official lead. It is better to learn and develop your technical leadership chops before you have to take on people management. It’s better to do something amazing as an individual contributor to earn the respect of those around you. It’s better to enjoy where you are and be totally content with what you are doing. Jump in too early and you might get in way above your head and struggle for years. Sometimes that can be a good, but a slow ramp into management to test the waters and prove yourself has been more successful for me and the people I have promoted to leads.
Jon
Special thanks to John Kurlak, Jim Gale and James Trott for reviewing this post. They have been awesome at reading through my epic posts and have provided very valuable feedback. I owe them a couple of tacos.
Hire Me Now: Licensing MM at Microsoft. Recruit now-hire-me.blogspot.com. · Career Stage: (IC 1-7 or M1-5) IC3-IC4 - Small/Medium Sub IC4-IC5 - Area Level
At Microsoft there are two career paths: individual contributor (IC) and management. Microsoft has structured the career model to encourage both paths and doesn't pressure people one way or the other. The level bands are: SDE, SDE II, Senior, Principal & Partner.
Career Stages are used to maintain parity between geographies and I know that the titles don't map (eg Microsoft's Senior is IC4 and G/FB"" ·" Top answer: "L59,60 -- Sde 1L61,62 -- sde 2L63,64 -- seniorL65,66 -- principalFor comparisons with
Microsoft has three main technical disciplines: Program Manager (PM), Software Development Engineer (SDE), and Software Development Engineer in Test ("How hard is it to reach employee level 63 at"""How do Microsoft career levels/titles map the career"""What are the details of the internal level system for"""Microsoft and Amazon: What is the general
"Great place to work, but depends on your career stage". 3.0. Former Employee - Microsoft Program Manager in Seattle, WA. Recommends."Missing: ic4 | Must include: ic4
For Engineering IC2 - 59,60 IC3 - 61,62 IC4 - 63,64 IC5 - 65,66 IC6 - 67,68 Lead positions start at equivalent of IC3 Manager positions start at the equ...
You might have the Microsoft Senior Career Stage Profile in front of you all marked up and broken into more sections in OneNote, but which
More Questions
- What is ghi recovery?
- What is pbl in marine insurance?
- What is lt degree?
- What is mfa requirement satisfied by claim in the token?
- What is data center/web hosting/transit?
- What is an internet bp fee?
- What is syncb/ntwk on credit report?
- What is misc debit in electricity bill?
- What is wallet whale loan?
- What is eosess in share market?