How To Not Fit In On A Development Team

I’ve stated several times in the past that being a software developer today involves so much more than just being able to whip up code… it involves having great interpersonal skills, an ability to work with domain experts / customers, being very communicative, etcetera etcetera.

Anyhow, here’s a few ways in my opinion to make yourself not fit in on a team.

  1. Make an assumption that you are smarter than your teammates
  2. Do what the customer asks without speaking to them
  3. Spend time alone rewriting other team members code, and then showing them how much better it is, with an emphasis that “YOUR” way is better
  4. Throw a fit if things aren’t going your way. If that line of code that got committed doesn’t meet your satisfaction, let the team know the world will soon end
  5. Make sure you go directly to management for questions about anything without involving the team.. management knows everything after all, your team doesn’t
  6. When you’re pairing, your peer is just excess baggage. Give them a few seconds to try something, but remind them that their idea is flawed and quickly take the keyboard from them… that’ll learn em!

Suffice to say… I think those kind of actions will lead one to swiftly being “voted off the island”, for a lack of a better term. Of course, it is a little too easy to come up with ways to describe negative behaviors in relation to team work, so why not cover what it takes to really fit in on a development team:

  1. You got great ideas, but your peers do too. Remember teamwork is more about collaboration, not about who’s right. Find a middle ground.
  2. Make customers a part of your team. Customers might submit a story or ask you to do something, but they want doesn’t always match what they need! So always try to work with them to meet their needs the best way possible.
  3. When you pair program, take turns as navigator and driver. And don’t backseat drive! Remember: it’s pair programming, not “just sit there and watch what I type!”
  4. Be sociable… this is definitely the number one skill one must hone. You really need to be relaxed and take it easy… this isn’t some battlefield and attempts at dominance are always frowned on.
  5. If you see some code that could be improved, invite someone to join you in a session refactoring it … it’s not that they wrote the code wrong or bad, but simply their design can be improved upon
  6. Let’s face it.. your teammates work hard and do great jobs… make sure you recognize their accomplishments and praise them for their hard work. Praise always makes someone happy. ;)

Remember… there is no I in team. Don’t hold hidden agendas or grudges, don’t try to “beat” other people on your team… instead, work for the benefit of everyone involved, be patient for those who might be a little bit n00bish. ;)

Just some random thoughts… strong group cohesion on is just too important in the software development world these days to pass up… you and your team won’t succeed well if morale as well as group cohesion is low. So make it work! ;)

  • Pingback: Tech.It.To.Me->{By.Anton.Perez} » How to fit in a development team

  • bill

    “…the world will soon end.”

    I like that.

  • Peter

    Hey – the link in

    “If you’re new here, you may want to subscribe to my RSS feed. Thanks for visiting!”

    is wrong… It links to some kind of wordpress theme feed.

  • frank

    “There is no I in team” but there is an M and an E

  • http://blog.james-carr.org James Carr

    Thanks Peter… it’s been fixed.

  • John

    “There is no I in team” – man I really hate that. You know what. There’s no U, we or us in it either.

  • http://blog.james-carr.org James Carr

    true.

  • Mike G

    Heard at an employee appraisal: “There’s no ‘I’ in team, but there is a ‘u’ in cunt”.

  • Jack

    Thanks!

  • Spaz

    @John
    Point is… Don’t be a dick.

    @OP
    This post is kind of an obvious one, i think you’re just trying to spark convo though… so yeah… here it is…

  • http://blog.james-carr.org James Carr

    @Spaz yep… Recently I’ve pondered, “What makes a great team” and I think that what it really boils down to is a team is great if everyone is laid back and aren’t jerks to each other. ;)

  • Miklos H

    “it involves having great interpersonal skills, an ability to work with domain experts / customers, being very communicative”

    And you are wrong. I am introverted, grumpy and not a teamplayer. A classical nerd. Still they need me. Hello, there is a shortage of good developers! And you cannot outsource ERP customization to India as they need people who understand the business processes and can sort things out in 15 minutes right in the live system when things go wrong as they always do, not next day or something.

    I think your are just too pessimistic – or very ambitious, whatever.

  • Miklos H

    Anyway, I think you are either a shameless careerist who would give up his dignity and personal desires and motivations for success or I don’t know, a very, very good, very selfless saintly kind of guy, who feels no desire to dominate others, no desire to petty revenges, something like that. The first option sounds disgusting and the second one sounds unreal, like not a normal person, but a saint.

  • http://beplacid.net atc

    Some fair points. Nice post.

  • mitch

    Another one that’s important, try to figure it out yourself first. I know people always say, “It’s great to ask questions! Don’t waste time tyring to figure something out if your could just get an answer much faster!”

    That breaks concentration of your teammate, and althought it is good to ask questions, its even better to be activley trying to learn and understand the enviorment your working in, to help better yourself.

    If i just tell you the answer, unless you use that to build an understanding, you just wasted my time. I can’t stand it when you have to answer the same “type” of questions for people that they wouldn’t have even needed to ask if they just understood the idea/process/structure behind what they are doing.

    There is a middle ground, dont sit on your ass for two days because you just cant figure something out.

  • frank sal

    I am a developer and have been for a long time. I worked with many teams and my own company (founded with 3 friends) has more than 200 devvers working in teams obviously.
    This kind of post is obvious… For manager types and crappy programmers. Most our loner programmers including me (I don’t have to program anymore) are many times better than the sociable, team guys. And the people who I met who say that even brilliant programmers these days must have those skills are usually completely devoid of skills themselves. They need to hide behind talking, consensus etc.

    Programmers not liking all this crap; go work for a nice real company where you can be the wizard you are and get things done instead of wasting time talking to clients. We’ll hire you.

  • Brian

    Pair programming? No serious developer takes this agile crap seriously. It sounds to me like a programmer got thrown into your team that was far far above your teams mediocre abilities and pissed on your parade from a great height, and now you’re crying.

  • http://blog.james-carr.org James Carr

    @brian nope… just speaking from experience of working on many different teams. More often than not, I find people with these attitudes are dumber than they portray themselves to be.

    Why does the simple notion of “don’t be a jerk to your team” upset you so much?

  • BJ

    “# Make an assumption that you are smarter than your teammates”

    So what happens if it’s not an assumption? Some times you really are the smartest guy in the room (someone has to be).

  • http://blog.james-carr.org James Carr

    @BJ

    Good point! I think at that point it’s no longer assumption… if you really are the smartest or the brightest on the team then your team should be leveraging that.

    If a developer is in the spot that his/her team doesn’t recognize that they really are the smartest on the team, either they aren’t really that smart, haven’t proved themselves, or team politics/feuds are at work that are symptoms of far worse things than how well they meld with the team. ;)

  • Alexia

    @Miklos H

    True, they can’t outsource ERP customization to India, but they sure can move the entire company there, which means…they won’t need you anymore ;) . Trust me, its happened to a few of my friends.

    However, I do know and work with a lot introverts who are great programmers and the best people, but somehow manages to fit in with the extraverts. I think that James is just trying to point out the qualities of a toxic member, which if you’ve ever had to deal with one is a PAIN IN THE ASS!!!!!!!

    Also, if you’ve ever met James Carr in person, you’re definitely wrong in your judgement against him. He’s neither a shameless careerist or a saint, just a very bright man who likes to dig deeper than the average programmer, especially a toxic one.

  • Alexia

    @brian
    “…It sounds to me like a programmer got thrown into your team that was far far above your teams mediocre abilities and pissed on your parade from a great height, and now you’re crying.”

    First of all, any smart programmer would accept that agile does work even if he doesn’t believe in it. It doesn’t necessarily work for everyone, its just a methodology amongst the few out there that just works.

    Also, just because he listed a few qualities of a bad team member, doesn’t necessarily mean he’s a bad programmer or necessarily smarter than anyone else. But if you can’t be a team player, then you have no business being on a team.

    Besides, if you’ve never worked with one of those, then you don’t know what the word “HELL” means, unless you’re that kind of person.

  • Alexia

    @BJ

    I agree that sometimes you are the smart one in your team.

    However, from my experience, people who are smarter than the rest of their team members are still polite and respectful and puts forth the effort to help other team members in better ways than the ones James mentioned.

  • http://www.paul-zubkov.com Paul

    I think respect is the key in any team environment. The beauty of development is if you are doing it, you will learn new things, like it or not, and it will shape and improve both individual developers and the team. Also, pair programming? Come on, really?

  • Markus

    I, as a manager, will only ask for respect and tolerance in the team. the best skilled programmer will crash the project, if he/she only thinks in 1/0 and not in intra-team complexity. this is not only for programmers, but for all members of a team working on the same project. if i would only focus on what i am paid for, like many programmers do, i would have no fun and definitely no success in my job and with my projects. please programmers: don’t be so proud of talking a language i will never fully understand!

  • philip andrew

    Not that many people are that good.

    50% of people are below average.

  • http://mcreynolds.isa-geek.net David McReynolds

    But what if I really am smarter than the people I meet?

  • http://codeclimber.blogspot.com Ethan Vizitei

    This post exemplifies one of the reasons I think I prefer working for small companies when compared to larger ones. More people seems to be inevitably linked to more time spent on “social” tasks and less time spent achieving things. I don’t think this is because the people working in large companies are necessarily possessing an inferior skill-set (although by definition, some of them are), but more because each additional node in the network adds a bit of latency to the overall process. Here I’m going to venture into the world of “opinion” as I say that many of the programmers who seem to be “jerks” are really just frustrated with what they see as insurmountable inefficiency. Admittedly, they are not coping very well with that feeling when they are taking it out on their teammates.

    For anyone who sees a little of themselves in that “jerk” programmer, I’d ask them to give working for a smaller company a try. They might find it’s a better fit for their personality.

  • http://blog.james-carr.org James Carr

    Hey Ethan,

    Actually your comments about latency brings up a good point. I’ve found that small teams of 4 or so tend to do a lot better than teams of, say, 6 or 8.

    As for “jerk programmers” … I guess I came off wrong. After all, I do get frustrated when I get paired up with an absolute novice sometimes. But even a team of very smart people need to be able to work well with each other in order to get work done… otherwise you’ll have grudges, “secret rewrite wars”, and other nasty bad attitudes that result in an ineffecient team.

    The moral I was trying to get get across (and I think it’s a pretty obvious one) is that if you’re on a team, ANY team, don’t be a dick. If you have issues with incompetence, either remove the incompetent or move to a better team. ;)