You’re likely going to be a member of a team, where you’re a team manager or whether you’re just one of the team members. You’re going to have to figure out how to deal with the people on your team. And it boils down to communication skills. One of the first things that you need to figure out is how do all the people on your team like to be contacted? Do they prefer email? Do they like talking on the phone? Are they likely to want to come over and talk to you or use instant messaging for instance? One other thing you need to figure out is what are the cues that they send out that mean send an email? It could be that they’ve got their office door closed. They’ve got headphones on or their on the phone. Any of these things usually mean they don’t want to be interrupted. Would you want to be interrupted in those circumstances? Think about how they’re going to feel. Anytime you’re working with other people, try to be polite. Be respectful and be grateful for help. And that’s going to really help you in dealing with your team members and people on other teams. They’re going to want to do the same thing back to you. If they see that you’re a nice person, they’re going to be nice back to you and that’s going to make everything nice and harmonious. Anytime that you’re asking questions, whether it’s just a one on one question or a question to a team distribution list, do some research first. This also applies to asking questions in public forums or on Twitter or something like that. Do some research. You don’t want to be called out that you’ve done no research and somebody sends you one of those funny let me Google that for you answers that just shows you didn’t do any research, don’t bother us. If you have an issue with a team member, try to solve it with him or her first. Don’t go straight to your manager because that just creates resentment. If you have good communication skills, try to figure out why the person has a problem with you or try to figure out what you have a problem with with the other person. Discuss it with them. Try and discuss it face to face if you can, on the phone if you can’t. But don’t just rely on email because email can really be misconstrued. But do try to figure out with them rather than just going straight to your manager or straight to H. R. The more helpful you can be to your team members, the more helpful they’re going to be to you in return. That’s just basic human nature. Remember; you’re a team. A team works together. Everybody needs to help each other so you can work towards the common goals. That also means that you need to give credit to your team members when it’s warranted. If a large project got done, it’s unlikely that it was just you that did it. If you’re the lead on that particular project, make sure that you give public credit to others that worked on it. That means that when it’s their turn to be lead, they’ll give public credit to you. Everybody is going to be successful together as a team.
Inter-team relationships can be really strained sometimes. It could be tested versus development or development versus program management or DBAs versus development in a SQL server ship. This comes from a very them versus us attitude that teams can have, especially if there have been problems with interacting with other teams in the past. There are some tricks though you can use to try and strengthen inter-team relationships. The first one sounds kind of obvious, but it’s when you’re dealing with another team, don’t be accusatory. Don’t be combative. Don’t blame them for something. Remember that everybody’s working for the same company. Everybody’s pulling for the same goals. You could try organizing regular meetings to talk about how your team works and that can give the other team some insight into how the team works, what the goals are, whether you’ve got management telling you you have to develop something and given it to the test team by a certain date and then it has to go into production by a certain date. And these other teams might not understand the goals and the limitations and the expectations that your team is working under. So if everybody can kind of get a feeling for what’s driving all of the different teams, it can help to figure out where the pressure’s coming from to get things done and throw things over the wall to test or to DBAs and so on, that can cause problems. You could also have regular meetings to discuss methodologies and how things are done in your particular company, between the teams, and that can allow people to offer feedback; essentially criticism; but feedback on how to do improvements in a kind of safe, non-accusatory way, where everybody’s there and everybody’s listening and everybody can say yeah, that actually is a pretty good idea that we do a little more testing before we give it to the test team so we know it’s not going to fall over straight away. Or we do a little bit more testing before we give it to the developers; I’m sorry before we give it to the DBAs so we know it’s not going to immediately cause performance problems when it goes into production. All these different things just foster more communication between the various teams, rather than only communicating when there’s a problem that needs to be dealt with and there’s pressure on and people don’t communicate very well.