Jun 21, 2022

3 Pillars of IC Success

#career #programming

As an individual contributor with a reasonable degree of autonomy, it can sometimes be difficult to choose or prioritize work in an organization that has an endless amount of it. As someone who has been in this position for over ten years, I’ve been surprised by the lack of actionable advice here1. But it turns out that this is for good reason; actionable advice is dependent on too many factors. Instead, it can be useful to establish a framework for making decisions. By framework, I mean a set of guiding principles to orient yourself by, before approaching a decision.

For me, these principles are:

  • Make the product better
  • Make your manager successful
  • Make customers happier

There is some overlap between these goals in many situations, but the important thing is to pick a primary and note which of the other goals are also coincidentally addressed.

Making the product better

It can be tricky to figure out what contributes to improving the product, as you can argue that everything improves the product. For example, does writing tests improve the product directly? Spending a week bootstrapping a test environment makes no impact on the product, but it could yield dividends in the form of fewer regressions or making new hire onboarding faster, which results in more features. It can be futile to draw arbitrary lines here, but the important thing is to understand how any particular task contributes to this goal, and how to tell that story.

Making your manager successful

Regardless of your relationship with your manager, they are your first contact, and your first line of defense. Managers get job reqs because they have an agenda that requires a team to execute. In other words, an IC role only exists in service of someone else’s agenda. This does not mean that an IC has no agency or autonomy, but it means that if they are not executing their manager’s agenda, something is wrong. As an IC, at the very least, it is important to understand your manager’s role, priorities, and goals.

Making customers happy

“Customer is king” is a tired expression in the era of disruption, but it’s a useful as a homing signal. In a large enough organization, ICs may not always have direct contact with the end user (and there are good organizational reasons for this), but cognizance of the customer is often helpful when justifying or prioritizing tasks. In the case where ICs have access to customers, it can be a challenging balancing act to respond to customer feedback while holding a reference to the bigger picture. However, delighting customers can be a useful tool on the road to success.

As most frameworks are, this one too exists as a guide, rather than a prescription. As such, it requires a critical eye and may not apply to every situation. I wrote this in 2018 in the thick of my time at Apple. As much as Apple is an innovative company, it is also a large company with a myriad of coroporate structures that can be difficult to navigate. Writing this framework down helped me think about how and where to invest my time.


  1. I wrote this post in my notes in 2018, so it's possible things have changed since then!

If you like this post, please share it on Twitter. You can also email me email me or subscribe to my RSS feed.