This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have 5 years of development experience in waterfall methodology. But I have been doing pair programming for the last 8 months or so and i find it difficult to pair and share keyboard with extrovert or aggressive or expert or fast thinking developers. I have found that I'm able to navigate the pair but when it comes to driving I come into panic mode. My heart start pounding faster and my mind goes blank for a few secs. I forget what to do and instead of driving I start feeling that as if my fellow developer is really getting pissed off and frustrated by my slowness.
There is another set of people in the team who have got a very relaxed and laid back kind of approach. Interestingly i found that I enjoy pairing with them. I'am able to communicate and drive with them properly; and at the end of the day I feel that i have really contributed.
But when i pair with these extrovert or aggressive or expert or fast thinking developers :twisted: i just am not able to cope with there speed and knowledge. :roll: I just sit with them for the whole day and try to understand and sometime navigate if possible. I feel scared of taking the keyboard as this will again be a mental torture for me; To cope up with what has been done. I sometimes sit after pairing hours and try to rewrite the code on my personnel workstation. This is causing an imbalance between my working and home hours.
Can anyone suggest what can I do about it? How can i keep myself motivated? The last thing i need is to change my job and go back to the traditional old ways of coding.... Probably there must be a better solution to this problem.
Any help or suggestions are welcome.
Have you tried to talk with your 'speedy' partners about your situation how you feel? I guess most advanced developers are willed to explain things in a slower manner if they are asked to slow down. But if you just sit next to them without asking I assume they just think that you either understand want they are doing or they are thinking that you simply don't care.
All developers I've met who were far more advanced than me, have been very patient, after I showed a genuine interest in understanding a problem/concept/etc. they were working on. The biggest mistake is, to let them explain something to you and you are just trying to pretend, that you understood the explanation. If the developer realizes that you didn't understand his explanation and you just pretend to, he is not further willed to give you a brief explanation because he thinks that you don't care.
Have you talked with other co-workers about their experience with those fast-developers? If they have the same feeling like you, maybe you should talk to your manager about the situation.
Joined: May 21, 2006
Thanks for the reply, you are very right, I do most of time pretend that i have undustood the concept orproblem without actually understanding it. I dont know from where i got into this habbit of taking things offline for no reason. I pretend because i feel i may understand the thing offline in a better way and in totallity. I wanna come out of this habit but i dont know how?
One of the most important reasons for pairing is mentoring. Those expert or fast-thinking guys should be trying to help you learn what they know -- that's absolutely part of their job description. It's your job to learn. You're messing things up by saying "yes, I understand" when you don't, and preventing everyone from doing their job -- so don't do that! I know what you mean about taking things offline; I'm kind of an introvert myself. But if you put in a little effort, you'll find that it gets easier over time.
Now, for the aggressive or fast-talking developers who aren't experts, those are harder to deal with. Here, it is your job to educate them sometimes. If you don't feel right about saying "you're wrong, let's do this instead", then you can say "that's one way to do it; what do you think about this iother way of doing it?"
But in any case, you have to try harder to stay engaged. What's happening now is not good for the team, and it's definitely not good for you.
I love to do developemnt, but most of the time in this methodology I feel i do not get sufficient credit for my efforts. I particularly loose more of my interest when I see that those who in my opinion are good it chatting and communicating in the team takes all the credit. I'm not an outspoken person. And what makes me feel bad is when I give an idea and some other chatterbox picks it up quickly, beautifies it and present to team... and what worst other people praises it!!!
This makes me loose interest. Is this natural or I'm a greedy selfish beast who don't want my ego to get hurt... How can I get such a maturity?
Joachim Rohde wrote:Have you tried to talk with your 'speedy' partners about your situation how you feel?
I'd have to agree. You should make it clear that you are interested in improving. Most people will listen. You can help sell it to them by suggesting that it will help everyone later in the project.
The biggest mistake is, to let them explain something to you and you are just trying to pretend, that you understood the explanation.
Also agree. I had one guy tell me he understood everything, but he came back three more times, each time demonstrating a complete lack of understanding. At first I thought it was me, but I realized that there was a communication barrier.
Finally: pairing isn't for everyone. Most people can do well with it, but there are some who cannot--and that applies to people on both ends of the spectrum.
When you feel that you get nervous, first breath slowly and deeply. Gather your courage and speak up. Ask your partner for help on feeling less nervous. Enjoy the liberation that brings!
At the end of a Pair Programming session, hold a short retrospective. Tear an index card in two parts, have every partner write down on one half what he found to be working well, and what could be improved. Exchange your halves, read and ask questions. Bring your halve to the next session with the same person and review it at the beginning. Decide together what you want your session to be like.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus