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.
- Make an assumption that you are smarter than your teammates
- Do what the customer asks without speaking to them
- 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
- 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
- Make sure you go directly to management for questions about anything without involving the team.. management knows everything after all, your team doesn’t
- 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:
- You got great ideas, but your peers do too. Remember teamwork is more about collaboration, not about who’s right. Find a middle ground.
- 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.
- 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!”
- 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.
- 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
- 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!