Collaboration and Programming: Important or Not? [modified]
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
My $.02 Collaboration works wonderfully - even if everyone has a speciality - as long as the quality of the collaborators is on a par. When you are required to work with people who can't match your quality, it reduces your time as a programmer by demanding that you spend time as a teacher - or, in the worst cases, traffic cop.
Jon Smith & Wesson: The original point and click interface
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
We collaborate by mutual code reviews at the end of each week. Other than that, it's goal specific, ad-hoc meetings with only those concerned.
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
I've not had to do much collaboration. Mostly it's been: Them: "Hey! Do you have a function/method/class to do such-and-such?" Me: "Yeah, sure, here you go." or "No, but I could whip one up for you real quick." Them: "Oh, great, that's just what I needed, thanks." That's how my
Set
class came about. Just as long as they don't say, "send codez plz". -
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
I'm an old timer and personally I think collaboration of any kind is an excellent way to bring the level of productivity and inventiveness down to the level of the worst member of the collaborators.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
The last time I tried this we almost came to blows. It only benefits the least talented.
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
Ed, I've been programming almost as long as you. Collaboration works best when responsibilities are well-defined and the participants have a good eye on 'the big picture'. Keeping a broad view requires communication, that 'lots of talking' you noticed in your current environment. You and the rest of the team have to talk to each other so you keep that situational awareness going. If you're creating interface X so that Fred can do function Y, but Fred decides he needs function Z instead, the only way you know about it is if you talk to Fred on a regular basis. I've seen too many projects that started with a big up-front design and then everyone went off and coded. Sometime later, usually close to the delivery date, someone noticed that they needed to integrate the bits and pieces. That's when the recriminations and the all-nighters start. People start making shim logic to glue pieces together, features get dropped, you get the idea. It's a mess that rarely ends with a completely successful product. This doesn't have to be a formal process. I think it's better if it isn't. It's a matter of having the attitude that you've got to remember the global implications of how you're implementing your responsibilities. When you're doing something that could affect other people, check it out.
Software Zen:
delete this;
-
The last time I tried this we almost came to blows. It only benefits the least talented.
But only if they learn from it. Otherwise it's a good way to keep them in their place and maintain superstar status.
-
The last time I tried this we almost came to blows. It only benefits the least talented.
I have a feeling your sig explains your view even better than your post :-D.
Software Zen:
delete this;
-
Hello all, I've been a programmer for over 30 years, enjoy it, and am constantly assessing industry trends. One trend that has gone over my head is that of collaboration. Even when working in teams, I've always had an area of specialization and collaborated very little outside of initial design meetings, pre-launch debugging, and problem resolution. The environment I currently work in stresses collaboration, which tends to translate in my mind to just lots of unproductive talking. I'd like to hear from programmers across the spectrum, from recent college grads to old timers, on how collaboration works (or not) for you, its pros and cons, etc. Thank you...
modified on Wednesday, January 14, 2009 1:21 PM
I have been lucky to work with good and smart people during most of my career, and it has been a pleasure collaborating with them. To me programming is a team sport, and I always liked basketabll players like Magic and Bird who could bring the quality of the whole team up.
Old Ed wrote:
which tends to translate in my mind to just lots of talking.
What's wrong with talking :) ?
-
I have been lucky to work with good and smart people during most of my career, and it has been a pleasure collaborating with them. To me programming is a team sport, and I always liked basketabll players like Magic and Bird who could bring the quality of the whole team up.
Old Ed wrote:
which tends to translate in my mind to just lots of talking.
What's wrong with talking :) ?
In principle nothing is wrong with talking. But I've found that much of the talking hasn't been productive or rich with ideas. And don't get me started on the "team" metaphor. Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application. Note that I changed my post to read "which tends to translate in my mind to just lots of unproductive talking.".
-
I have a feeling your sig explains your view even better than your post :-D.
Software Zen:
delete this;
-
Ed, I've been programming almost as long as you. Collaboration works best when responsibilities are well-defined and the participants have a good eye on 'the big picture'. Keeping a broad view requires communication, that 'lots of talking' you noticed in your current environment. You and the rest of the team have to talk to each other so you keep that situational awareness going. If you're creating interface X so that Fred can do function Y, but Fred decides he needs function Z instead, the only way you know about it is if you talk to Fred on a regular basis. I've seen too many projects that started with a big up-front design and then everyone went off and coded. Sometime later, usually close to the delivery date, someone noticed that they needed to integrate the bits and pieces. That's when the recriminations and the all-nighters start. People start making shim logic to glue pieces together, features get dropped, you get the idea. It's a mess that rarely ends with a completely successful product. This doesn't have to be a formal process. I think it's better if it isn't. It's a matter of having the attitude that you've got to remember the global implications of how you're implementing your responsibilities. When you're doing something that could affect other people, check it out.
Software Zen:
delete this;
Your points are well taken. I did work on one great product team where the members were well matched experience and temperament wise. And the manager was a great architect and manager, a rare find. In that environment communication/collaboration was quite natural.
-
In principle nothing is wrong with talking. But I've found that much of the talking hasn't been productive or rich with ideas. And don't get me started on the "team" metaphor. Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application. Note that I changed my post to read "which tends to translate in my mind to just lots of unproductive talking.".
Old Ed wrote:
Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application.
Again, I have probably been lucky but my experience is very different. Maybe because I have worked mostly for software companies where most managers come from development. In my experience activities such as code reviews, engineering presentations and mentoring of junior developers benefit the overall performance of a group (avoiding the word "team" here).
-
In principle nothing is wrong with talking. But I've found that much of the talking hasn't been productive or rich with ideas. And don't get me started on the "team" metaphor. Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application. Note that I changed my post to read "which tends to translate in my mind to just lots of unproductive talking.".
My first computer had 64K of Magnetic Core Memory, which was about the size of a modern desktop computer. Collaboration is what allows my piece of code to work with someone else's piece of code. Even with comprehensive documentation (often a waste of time), it comes down to reading the code I interface with and talking to the other developer about how his software works in the overall project's scheme. I gotta make my stuff work with everyone else's so I gotta talk to them about it. When I do a complete standalone software product, including the installation, I don't have to collaborate with anyone, and that is kind of nice sometimes. Other than getting stuff to work together, leave me alone and let me get my work done.
SS => Qualified in Submarines "We sleep soundly in our beds because rough men stand ready in the night to visit violence on those who would do us harm". Winston Churchill
-
In principle nothing is wrong with talking. But I've found that much of the talking hasn't been productive or rich with ideas. And don't get me started on the "team" metaphor. Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application. Note that I changed my post to read "which tends to translate in my mind to just lots of unproductive talking.".
Old Ed wrote:
And don't get me started on the "team" metaphor. Overall I haven't found teams to be managed well, with the most vocal member many times being the most valued, whether or not their actions were best for the application.
Reminds me of a previous job where the manager told me that I was going to be the "Team Leader." To his horror I informed him that we didn't have real teams. When he calmed down he asked me why I thought that. To which I replied that real teams have cheerleaders that wear skimpy uniforms. If I could choose the cheerleaders and their uniforms, then I'd be team leader, otherwise no thanks. Never did get the cheerleader babes, but at least I didn't have to write the reports on the team meetings I slept through.
CQ de W5ALT
Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software
-
I have a feeling your sig explains your view even better than your post :-D.
Software Zen:
delete this;
The same feeling here. :-D
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
I'm an old timer and personally I think collaboration of any kind is an excellent way to bring the level of productivity and inventiveness down to the level of the worst member of the collaborators.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
Welcome in the CP's Memorable Quotes page [^]. :-D
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
Welcome in the CP's Memorable Quotes page [^]. :-D
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
I'm an old timer and personally I think collaboration of any kind is an excellent way to bring the level of productivity and inventiveness down to the level of the worst member of the collaborators.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
Could be worse. The intelligence of a committee is equal to the IQ of the dumbest member of the committee divided by the square of the number of members. Suddenly govt antics begin to make sense. :-D
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall