7 ms·
I Am a Programmer – No, I Don't Want to Be a Team Player
- labrador 4y agoI've come to the conclusion that this is easily explained. Managers are extroverts or they wouldn't have become managers. Extroverts think that working with others is best and can't understand introverts who would rather work alone. To an extrovert that is anti-social and a sign of deeper issues. On the other hand, a lot of great software I've run across has been written by introverts, but I can't think of any that has been written by extroverts. Where do they find the time to devote the focus required when they are busy socializing? I'm confident about my first paragraph above, not as much about the second.
- superchroma 4y agoOn your first point, I agree, I've seen extroverted employees enter the management track and get promoted to such positions over others. On the topic of great software, I would offer that maybe this is beside the point. I'm not convinced that in most organizations of sufficient size that you can even get great software, because they fall down a road of lowest common denominator development to tackle issues of huge scale, complexity and managing varying levels of talent. In my experience there tends to be so much intertia and process created to corrall people that usually inspired people are left shackled at the hand and foot and prevented from effecting meaningful change. Once this happens, it comes down to the capacity for individuals to bring people on board (usually not an advertised developer skill) and sell ideas to others to effect change, which I think informs at least part of the thinking in hiring "team players" - which really is management engineering around the problems that they've created.
- labrador 4y agoThere are too many examples to list of one programmer inventing software that the rest of take for granted now. The best example of more than one is probably Jeff Dean and Sanjay Ghemawat at Google, but that's just two people. It's possible the companies who want team players are acknowledging that their programmers aren't the best so everyone needs to work together to make something that works.
- superchroma 4y agoI've revised my comment a little. Yes, it's definitely possible. The example that comes to my mind now is the guy who runs Krita, which is a project with huge scope, but I think that to do this effectively requires a high level of discipline and patience that many people don't have and that is difficult to test for when hiring, which is why companies are forced to turn to bureaucracy instead.
- labrador 4y agoI recently watched a documentary on Henry Ford. One of his innovations was to move manufacture from a craftsmen model that required high skills to an assembly line model that used more people with less skill to get the same result. The managing engineer is the one holding it together. With this in mind it makes sense to hire team players who are good enough over highly skilled workers who work in isolation. The trick then becomes finding highly skilled workers who are able to engineer and manage solutions for the lower skilled workers to implement.
- Silhouette 4y agoDoes that analogy really hold when you're making software and not a physical product? In software development you don't need a production line staffed by minimally skilled workers to implement the plan of the expert. Automation is what we do. Of course you still often need those experts to have decent soft skills because many commercial projects will still need multiple developers even if everyone involved is very good. But the communication and management overheads scale far more than linearly with the size of the team so a relatively small team of very skilled developers can easily outperform a much larger team of mediocre developers in practice.
- superchroma 4y agoWell, maybe? For every hard problem which requires smart people to actually innovate, there's 100 which involve writing boilerplate to get information from a form to a database and back again.
- NoPicklez 4y agoThat is a very overblown assumption of what an extrovert is assuming that extroverts can't focus because they're busy socialising. I know plenty of supposed introverts that cannot focus. Being an introvert doesn't necessarily mean you aren't necessarily social or sociable.
- HellDunkel 4y agoStill, extroverts can‘t go deep focus for very long. Probably is a fact by definition, not sure…
- NoPicklez 4y agoGiven that our perception of introversion & extroversion is on a scale, what is your definition of "very long". There are plenty of lazy, unmotivated introverts.
- CRConrad 4y ago> Given that our perception of introversion & extroversion is on a scale, what is your definition of "very long". That's also on a scale.
- HellDunkel 4y agoBy no way am i an expert on the topic. My take is that i see extroverts as generally more extrinsically motivated. So in terms of archieving things i regard them as sprinters, beeing more dependent on feedback by other people, as opposed to marathon runners.
- NoPicklez 4y agoI suppose the argument falls down when there are both introverted and extroverted marathon runners.
- brnt 4y agoIt's important to be aware that one isn't either an introvert or extravert; it's a scale. And you can move around it. I use software everyday built by (large) teams which no doubt required some extroverts to get done. In fact, I don't think I use any software written by a single person? Some people must not have worked in very good teams when I see the subject come up. Having my first proper training (it involved Belbin, but there are other models like it) openee my eyes to understanding interpersonal dynamics and what separates funtioning dynamics to non functioning ones (some diversity in attitudes and skills!). Writing great code means nothing if nobody knows about it, is able to use it, or needs it, etc. I recently organized a training like this for my current team (of highly skeptical software engineers) and it was a great succes. It would be a good start if people wouldn't reduce themselves to a single stereotype. People can be and are multiple things at once, and I'd say it's extremely healthy and useful to be skilled in more than a single way.
- picsao 4y ago
- loldk 4y ago
- superchroma 4y agoI think this misses the point about the sorts of team players these companies are trying to get, who are usually decent solo programmers but who also are often fun, light and friendly, actively work to build trust with a team through socialization, promote good practices and patterns and don't begrudge the fact that a portion of their day is to be spent in meetings, reviewing others' code and generally communicating. These people exist, I've met some of them. I've met some of their opposites too, who are usually more quiet, sometimes cranky people who just want to be left alone all the time, and I can definitely see why the former is more attractive from a management perspective. There probably are tens of thousands of developers readily available who say they like to work in long uninterrupted blocks, and who will be happy to just own something like a dog with a bone before they throw it over the fence for others to look at, and I just don't think that's that special in a person - I think most humans like to work this way naturally, so when you talk about this to a hiring manager or team lead, I can certainly imagine why they aren't energized by the prospect. Also, you have to remember that these people aren't naive, and have probably seen enough staff and candidates to suspect that this sort of description is a cover for general irritability or other personality qualities that interfere with team harmony. Also, in my experience, in a company that's scaling, with software with lots of interlocking pieces and projects large enough that an individual can't tackle them solo, these people tend not to do so well when compared to "social developers", I would imagine.
- gsatic 4y agoThe larger the code base gets, the less you can rely on loners to solve issues. It's why there is a mountain range of stagnating open source projects. It's all mostly from communication breakdown/lack of social skills. Not coding chops. Beyond a point, most issues will require multiple people to work together and loners get more and more ineffective over time as their social skills degrade from lack of practice. Software is getting more and more complex not less. Collaboration and communication will be prioritized, and things that interfere with it depriortized, by the ever optimizing corporate robot.
- fzeroracer 4y agoWhat? This just seemed like a bunch of nonsense to me. Like let me make this clear, I am a born introvert. I prefer being by myself and doing my own thing. That makes me happy. But that doesn't mean I hate being a team player, nor do I think programming is a solo activity. It is very much so a group one. And in my experience, the people that tend to go into a cave for a few hours and produce a solution will tend to produce the wrong solution. Because no spec or ask is perfect; you should be asking clarification and follow-up questions (even obvious ones!) to understand what is actually wanted. In more complex systems you might be working on a very small part, and exiting into the sun with a system that doesn't fit the rest of the system means you've spent the past 7-8 hours engineering a solution to the wrong problem.
- satisfice 4y agoYou don't want me to have even a FEW HOURS to work out a difficult problem? That is utterly unreasonable. I think you are imagining only a certain kind of problem while ignoring many other kinds. It took me hours to work out how to make a lovely visualization using the Plotly library in Python. No one else knew how to use Plotly. I figured it out and gave them a demo. They are glad I went into the cave. Most of my work is doing blockbusting like that, not doing easy things. But certainly, if someone on the team knows something about the tech I'm researching, I check in with him.
- HWR_14 4y agoSpending hours learning something and sharing that knowledge is being a team player.
- fzeroracer 4y agoWhat you are talking about is something that only exists as the result of teamwork. We all rely on documentation, people asking questions, people giving answers and people working as a team. If you're working on rare things where you are the only expert on the team then yes, you can have the opportunity to go into full focus mode and hammer something out. And as the other poster said, sharing that knowledge after you've finished is part of being a team player. If you simply say 'I am an individual contributor, I turn in my work and then I'm done' that to me sounds like someone that's not interested in sharing knowledge.
- satisfice 4y agoThere is almost no such thing as a silo. "Silo" is a term invented to slander people who like to do good work in peace. Only once in my career of decades have I seen an environment that was truly siloed, in the sense of people locking themselves away from each other. That was a government agency in Washington D.C. It was soul-destroying. I frequently see teams that aren't in very close touch with other teams. But to call that a silo is too much.
- NoPicklez 4y agoI disagree, Silo is not a term invented to slander people its a broad term where two teams don't work or communicate with one another like they should.
- Silhouette 4y agoSomehow I suspect that a lot of managers who are looking for "team players" are really looking for people who are OK with being on real-time messaging all day where the managers can constantly lurk and feel involved. I'm not sure a dislike of that kind of working environment has anything whatsoever to do with whether you're an introvert or an extrovert or how open you are to discussions with colleagues at times when they're useful.
- deleted 4y ago[deleted]
- nbzso 4y agoI found this article from Hbr.org (2017). Collaboration Overload Is a Symptom of a Deeper Organizational Problem https://hbr.org/2017/03/collaboration-overload-is-a-symptom-of-a-deeper-organizational-problem https://hbr.org/2017/03/collaboration-overload-is-a-symptom-...
- themenomen 4y agoWhy bother giving explanations of the true self and showing the other, a person with which you are going to have little to no contact, a glimpse of how you truly feel, more so in the event of trying to secure a position that will dictate how you live your live for the next months to years financially speaking. It is in my opinion, better to say what they want to listen, to sweeten every managers and upper management ears with faked feelings of team player and how amazing you are with people, rather than let them know how you feel deep inside, solely for their own satisfaction of believing they are making a top tier team. At the end the only thing that matters is how you perform, what you deliver and the quality of it.
- HellDunkel 4y agoThe intention of this piece likely was to shed some light onto this hybris you are describing. Why bother? An open dialogue on such issues could help build healthier workplaces, better industry performance, improve sustainability and fairness. Now of course you don’t need all of that if it was the case that everything that counts is what you deliver.
- ankurdhama 4y ago> Do you work in a team, or do you like to work solo This question doesn't make any sense. Work is very overarching term here. There are may aspects of "work", some of them require you to do "thinking" (which is a solo activity) and some of them require you to communicate and discuss the outcome of your thinking (which is a team activity).
- HellDunkel 4y agoA great post. I would get the book if it was printed!
- bitwize 4y agoProgramming has gone from a great career choice for autists to pretty much an option for allistic extraverts only. After that management consultant taught Microsoft and other companies "beware a guy in a room" in the 90s, that guy in the room went from the layer of golden eggs to a liability almost overnight. The ask now is for CONSTANT collaboration and CONSTANT communication. Mainly because it provides an audit trail. All those Slack messages and Teams calls, together with stats from JIRA on when your stories get assigned and completed, and how complex they are (yes, story points WILL be transmuted into hours, if not in your scrum meetings then in your performance reviews) can be used to determine how you're performing with up-to-the-minute data, and allow management to either intervene to shape your behavior or take disciplinary action up to/including termination if that fails. Another way to look at it is, you know how we don't trust AI, so we're developing tech to make AI disclose how it arrived at its conclusions so it can be tuned and tweaked to get the responses we want or at least avoid results we don't want? You, developer, are an intelligence, and Corporate wants to tune and tweak you to get the results they want. An easy way of doing that is to reward you for gabbing with teammates and punish you for thinking on your own, so you are forced to disclose your thought process at all times as it happens so that management can observe, analyze, and modify it in real time. If you work best by thinking on your own, don't get into programming unless you are co-owner of the business.
- jdlshore 4y agoPen’s description of pair-programming’s origins is incorrect: > Besides, pair programming is an industry fad. Someone created a great tool to teach kids how to code, then decided to sell it to companies (because they got deeper pockets than schools and governments paying for kids' programming classes). Instead of selling just the tool (that possibly costs millions in licensing every year), they nowadays come up with a methodology (Agile, anyone?). This is so far off-base, I wonder where Pen got it from. For the record, pair programming originated at the C3 project (the Chrysler payroll project that gave birth to Extreme Programming). To the best of my knowledge, it was suggested by Ward Cunningham, or perhaps Kent Beck, based on the way the two of them worked together at Tektronix. There was no tool being sold and no school children.
- YourGrace 4y agoI wouldn't hire this person either if I had interviewed them. When I think of a team player, I think of someone who recognizes that a team is composed of people with various skill-sets and being a team player is helping to enable the other teammates to grow at their job. Being a team player is about contributing to the team outside of just your code such as teaching the strategies you use, and your mental model for solving problems you face. It sounds like the author expects everyone to discuss a spec, and then go into their cave and solve the problem by themselves which seems very individualistic to me. Overall, if you don't want to contribute to the overall growth of your team, than I wouldn't expect those teams to want to work with you either. Maybe off topic, this article seems like it's main purpose is to drive traffic as the author is selling an ebook.
- rgavuliak 4y agoBeing a team player in my mind (an IC turned manager) is helping the organization optimize for building the right thing, not building things right. You can find a lot of programmers that are decent technically, but the best ones I've worked with cared about making sure what we're building makes sense. It allows us to design architectures that are fit for future changes in regards to how the product evolves. For this to happen you need to communicate and acknowledge that sometimes not coding, but aligning makes the coding part of the job much more efficient.
- dusted 4y agoI'm going to get downvoted so hard for this. But I agree with OP. Thing is, OP is a _REAL_PROGRAMMER_ and the world have moved beyond those. The vast amount of shops have no tasks for _REAL_PRORGAMMERS_, what they need are hipsters with trouble hair and strong opinions on pronouns who know just enough to glue together this months random assortment of nodejs libraries for their web"app". OPs points are valid, you can in fact work in a silo and function very well in a team at the same point. As long as you never tell anyone that matter that you do this.. You update your status, you help stuck team mates and you tell your part at the standup. You code not just for yourself but with the idea that others have a chance of taking it over when you jump in front of a trai.... get hit by a bus ;)
- kramerger 4y ago> what they need are hipsters with trouble hair and strong opinions on pronouns Mate, seriosly, where did _that_ come from? I mean, as a _REAL PROGRAMMER_ myself, it sounds to me as _you_ have strong opinions about other peoples pronouns ;)
- dusted 4y agoI only want one pronoun, and it should mean "you're not interesting enough for me to care" :) I don't know where it came from tbh, probably monday lack of caffeine and capacity to handle the many facets of being human.. A weariness of constantly seeing articles about why and how my gender and culture is toxic and must change to focus on stuff I don't care about.. I just want to program computers.. I don't care about the politics or culture, if I did, I'd have become something in the humanities.. And the constant pressure to extinguish the thing in my field that makes it comfortable for me to be there.. That I do in fact get to be left alone for long stretches of time to focus on doing something I _can_ do well, rather than a constant nagging about the things I find uncomfortable and can't do well.. Kinda gets to me the end, the constant hate on the oldfashioned stereotypical loner geek.. The constant pressure to push them out because they don't conform socially or enjoy working in teams.. Thing is, while functioning in a team is something that can be learnt to some degree, it's not the default mode of operation for all of us.. And the pressure to make it the default mode of operation for all software development nags me, because it means that there won't be a place for me in the future, I will be excluded, in the holy name of inclusivity (which means something very specific, namely defined by problem hair and pronouns). Because, I'm one of the wrong ones, I've always been, but in the past, computers were the one place where I could be myself on my own terms.
- watwut 4y ago> I read and re-read his reply. To me, it looked devoid of any substance. What was the tiniest amount of time period you had to visit your teammate to qualify as a team player? Here is the thing, in workplace I am in now, you would suffer and not fit. It is very agile scrum-like. You dont get larger task to start-finish like op described as what he likes. Instead, task is split between multiple people and there are constant overlaps. You dont fix own bugs in own code, someone else does it while you fix third person bugs. There is nothing you "own", ever. > and emerge victorious having nailed the problem, and/or designed the kickass solution. That victorious outcome takes months, sometimes years, yes. There is no such aspect in agile teams. It is frustrating even for people who are significantly more "team like" then you sounds like.