Wednesday, February 25, 2009

Safari 4 benchmarked



Image from www.cnet.co.uk
Safari 4 Benchmarked !

The Game !!

Excelling in the software industry takes more than just pure technical skills.

Recently I came across a really interesting situation. There is this engineer in my team who's techincally very gifted. Her knowledge of design patterns and their application, along with excellent coding structure and dicipline is very comforting. Even though she's relatively young, her determination to do the right thing, instead of short term gains and short cuts is refreshing. 

However, given her excellent technical ability, she prefer's to socialize with only those she deems as technically strong and highly interlect people. As a result of this she hardly socializes or even communicates with her own team members. She has no rapport with her team. She's very reluctant to offer a helping hand to team mates who are in trouble and she tends to complain and find fault in others very easily. Furthermore, her dicipline in terms of time entering and responding to emails - especially project management related is very very poor. 

This has resulted in a very tricky situation. With this economic situation, teams are very selective in who works at the client site and who should travel back and work offshore. Her position with this regard hangs in the balance. Her own team members and even the project managment team are not that keen on having her onsite as she is difficult to work with - however the client is extermely statisfied with her as her designs and code is of high quality.

Here's my take : As much as individual ability is important, the software industry is very much a team sport. You constantly work in teams, brain storm as a team and come up with a solid design together and then work in cohesion and harmony to develop the solution. Each players individuality bring different idea's - different idea's breed conflict - conflict breeds creativity. The key here is to not to lose sight of the end goal during the conflict - the end goal meaning the ultimate most suitable design. It is very easy to get carried away and play on ego's etc. But this is where maturity plays an important part.  

So to thrive in a situation like this, it is very important to develop people skills ! Cause you're constantly working with people. Here are some examples...
- You have a pretty good design - instead of surprising everyone and presenting it to the entire team basically forcing your way through which will result in everyone being on the defensive - why not share the design with a few fellow key team members first, get it reviewed by them before presenting it to the rest. This means you will already have their buy-in and hence getting it passed will be much easier. They most probably will fight your battles for you.
- You have done something really well - maybe some design, maybe some piece of code that has increased performance drastically - while basking in your glory, make sure you give credit where credit is due, maybe someone's idea or somethign someone said sparked that thought in you. Make sure you coin all those who helped you along the way to get it done and mention their names. This gives everyone a sense of pride too. They too contributed to the end goal. This will benefit in the long run, where each one feels like they really work together. An individual's glory means the team's glory !
- During times of adversity - most often during defect triages and defect reslution - the part we hate the most :D - make sure no finger pointing takes place. Its always we did this, rather than it was this person's fault. We're all human after all.
- Spend some time out of work to get to know your team, go for a beer maybe, shoot some pool, have lunch outs,  see what their interests are. Building  friendships tremendously helps getting work done. At times when you're not there, you can be sure someone will cover for you. That helps ! 
- Make sure you always satisfy your project managment team ;) ! Their needs are simple, enter time, give them periodic updates on the progress, and let them know of issues or risks early. By making their job easy and making them look good in front of their bosses and peers, they'll take care of you in case anything comes up. 

This is the game ! You gotta love it !  

Search This Blog