Hacker News new | ask | show | jobs
by paganel 1458 days ago
Maybe a little meta, but when did the programmers -> individual contributors transition happen?

Until a few years ago saying and writing "programmers" on forums like HN was still prevalent, and then, after a certain moment, I started seeing "ICs" more and more.

6 comments

IC is anybody that isn't management. Programmer means anybody that creates programs.

This article did indeed confuse the two (probably because the author manages programmers but does not program herself), but they are independent concepts. All combinations of IC/not IC and programmer/not programmer exist.

“IC” encompasses programmer-adjacent roles like design, data science, roles closer to hardware. Also, even within software engineering, many aspects of the role do not involve programming per se: design, documentation, rollout planning, etc.
I've assumed it's a FAANGism. This is the only place I see the term used.
Terminology copied from large code factories and assembly lines, such as google, facebook and other modern day Chryslers and Fords. Beats "worker" or "resource".
It is wider than just HN. At work, IC tends to be the term used by management. Mostly I think it came with "agile" and the attempt to stop "not my job" responses to getting stuff done.
I think it's the complete opposite - IC was created (rightfully IMO) by technical contributors to reject the idea that the only way to progress in your career and make a bigger impact is to go into management. It's just the recognition of a parallel career path
If that was its purpose it failed. Many (most?) companies have no progression path other than management, but they'll happily call you an IC.
It’s nothing to do with Agile. It’s just a short way to say “employees who are not managers.”
Well, it was easy to be part of a team (even if you weren't really) when you were physically collocated with said team.

But now, unless you really really are part of that team, you are an IC. Programming, by nature of what it is and who does it, always had a bunch of IC's, but now the phenomenon is more clear due to remote (which is something I recommend a lot of people on here thing about as they design their career).

I'm not sure what you mean. In a corporate job ladder, anyone who isn't strictly a manager and writes at least SOME code is classified as an IC. That's not to say that there are no managers who also write code, though.
Yeah and I'm saying, from experience, people 'fall into' being a manager by nature of informal mentorship relationships that happen in person, but now you have to more aggressively 'opt-in' to be a manager.
That isn't what IC means - it means "not management". You do your job, whatever that may be and whomever you may be teamed with, but do not have direct reports.
I find it interesting that IC once meant, "integrated circuit" in the same culture which exists here now, but decades earlier. Having been on both sides of the false dichotomy that's drawn between management and individual contributors, my experience has been that great ICs don't necessarily need management and great management are often great precisely because of their individual contribution. It's paradoxical that perfection may emerge despite the fact that product, process, and people exist on a spectrum that produces so much conflict. One wonders whether product perfection is, in fact, emergent with respect to the conflict around people and process.
Yeah and I'm saying, from experience, people 'fall into' being a manager by nature of informal mentorship relationships that happen in person, but now you have to more aggressively 'opt-in' to be a manager.
If you're a high level IC you can have people temporarily assigned to you, though; it's assumed that you could be doing managing if you wanted to, and sometimes you just can't do your projects by yourself.
Everywhere I have worked, "IC" meant "not a people manager," so no, it is not a term which can be substituted with "programmer."