Working alone or in a team ?
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
Really depends on the project. In my jaded experience: If a project is small enough that it can be run by a single coder, he is usually much more efficient than in a team - especially if he's a very-good-but-not-great coder. One could blame it on communicaiton overhead, but there's probably more. Knowing every corner of the project helps a lot in deciding which shortcut is ok and which one is not. Of course, with a certain size he needs to take others on board. But two guys are more efficient as one usually only when they worked very well together on the same project. New guy = slowdown. Additionally, many developers start with no team experience that makes a huge difference. So, while his attitude is certainly raising an eyebrow, he might have a point there.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
I'v been working for my current company for about a year now, the first 6 months or so I worked in a 2-man team (if you can call that a team) and everything went to hell My boss fired the other guy after those 6 months (various reasons but not important here) and the project was passed off to me (and me alone). For the last 6 months I'v been programming on it alone (redoing the whole thing because of some bad choices made on the other guy's promisses, bad components and such) While doing that project (wich is about 100k - 200k lines code) I'v done several others (smaller ones) and creating a standerd for .NET (the company used to do only access dev.) and have to say I kinda like the solo working Yes it's hard to remember everything (if not impossible) but if you've worked with a completly incompetant person (who is supposed to have 20 years experiance more than me) it's a relieve to work solo (if you can handle the late nights / stress / deadlines / ...) But my experiance in these matters is limited so...
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
Are they planning on you not getting sick or taking vacation during the project? What if you leave, who knows what you've done? With 2 or more, work still gets done, and knowledge gets passed around. Here, I work solo, and I wish I could discuss problems with someone. :sigh:
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." "There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
Experience doesn't mean right. I learn that every day, it seems (me being the "experienced" one, hahaha).
ForumExpertOnLine wrote:
Do you believe solo programming is better than a team work ?
I would say your manager doesn't know how to really manage. Sounds like he's uncomfortable managing a team. Sounds like there's a lot of inefficiency, probably people writing the same or similar routines. Also, it sounds like maintenance would be difficult, because working solo, everyone has their own coding styles, etc. I suppose he doesn't support code reviews either? All in all, if you've got a group of programmers, they should be interacting and working on being efficient to save themselves time and the company $$$. Solo programming might be ok in this environment if your manager supports interaction, code reviews, a common code library, consistency in style, and so forth. Does he? Marc
-
Are they planning on you not getting sick or taking vacation during the project? What if you leave, who knows what you've done? With 2 or more, work still gets done, and knowledge gets passed around. Here, I work solo, and I wish I could discuss problems with someone. :sigh:
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." "There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."
Richard Jones wrote:
Are they planning on you not getting sick or taking vacation during the project?
I will get vacations, no problem for that. But project will be on hold at that time. Yes it's waste of time for the client.
Richard Jones wrote:
What if you leave, who knows what you've done?
This is a big issue. I have some documents which explains the program flow. I have created API documentation too which explains the meaning of each classes. I am a TDD fan, so used concepts like MVP, Dependency Injection etc in this project. Most of the guys work here are big zero in all these, so they will find difficulty to understand it when I leave the company. I could learn many things and implement it without waiting for someones permission, this is the only advantage I see with solo programming.
Richard Jones wrote:
Here, I work solo, and I wish I could discuss problems with someone
OMG, I am getting lot of unexpected answers. When I started the discussion, I thought I am the only one who works solo. But I was wrong, many guys replied to me are working as solo!
-
Really depends on the project. In my jaded experience: If a project is small enough that it can be run by a single coder, he is usually much more efficient than in a team - especially if he's a very-good-but-not-great coder. One could blame it on communicaiton overhead, but there's probably more. Knowing every corner of the project helps a lot in deciding which shortcut is ok and which one is not. Of course, with a certain size he needs to take others on board. But two guys are more efficient as one usually only when they worked very well together on the same project. New guy = slowdown. Additionally, many developers start with no team experience that makes a huge difference. So, while his attitude is certainly raising an eyebrow, he might have a point there.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighistpeterchen wrote:
Knowing every corner of the project helps a lot in deciding which shortcut is ok and which one is not.
I agree 100%. But think about a big project in which I was working since 1 year! It will be tough to remember each and every corner of it. And I don't have anyone around here who knows this project. So to know what happens in one corner, I need to look at the code and test cases written by me. It's a time wastage, isn't it ?
-
Experience doesn't mean right. I learn that every day, it seems (me being the "experienced" one, hahaha).
ForumExpertOnLine wrote:
Do you believe solo programming is better than a team work ?
I would say your manager doesn't know how to really manage. Sounds like he's uncomfortable managing a team. Sounds like there's a lot of inefficiency, probably people writing the same or similar routines. Also, it sounds like maintenance would be difficult, because working solo, everyone has their own coding styles, etc. I suppose he doesn't support code reviews either? All in all, if you've got a group of programmers, they should be interacting and working on being efficient to save themselves time and the company $$$. Solo programming might be ok in this environment if your manager supports interaction, code reviews, a common code library, consistency in style, and so forth. Does he? Marc
Good thoughts marc.
Marc Clifton wrote:
Sounds like he's uncomfortable managing a team
I also believe so.
Marc Clifton wrote:
Also, it sounds like maintenance would be difficult, because working solo, everyone has their own coding styles, etc. I suppose he doesn't support code reviews either?
He does code reviews. But as I said earlier, I am a TDD enthusiast and I follow most of the patterns which fit the scenario. So a person who haven't even heard about such a method will get confused and won't understand anything. So usually he never looks into my code.
Marc Clifton wrote:
a common code library, consistency in style
No. There is nothing like this. Each programmer follow their own styles.
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
I get a lot more done solo, but knowing who I can talk to if I need help. I am very introverted and so every interruption breaks my train of thought and sets me back. But then again, my boss knows if there is a problem no one else can fix, I can do it over a weekend with no one else around.
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
I have experienced 3 levels of Solo programming. The first was where I was 1 of 5 programmers for a company where each of us developed our own projects and consulted with each other only when there was an issue that we absolutely could not resolve on our own. The second was where I was the only programmer working for a company writing software that was very specific to their business model. The third (my current job) is where I am one of 4 programmers. Each project is assigned to the team and each team member takes a certain portion of the project to develop as their own. While this is much more of a team method it is still solo programming as opposed to paired or extreme programming. The advantages and disadvantegs to each: In the first case the advantage was that I could easily define my task list as I saw fit. That was about the only advantage. I eventaully left that company, one of the reasons being that i felt I was not growing as a programmer. There simply was NO interaction between developers. The software we were putting out was not evolving, it was cookie cutter. Individual development like this usually means no (or very slow) growth as a team. In the second case the advantage was that I was pretty much my own boss. I set deadlines, I determined priorities, I did it all. However, this was another case where my personal growth as a developer was limited to what I could find on the internet. This situation probably suits a self-taught type of developer well, but for me it lasted about 2 years then things began to get really stale. My productivity went down and my ideas were running out. The last situation, and my current position, is my preferred methods for development. I am able to grow as a developer due to the amount of interaction I have with the team. As a team we are able to designate task specific roles for each member. When there are questions about the database, well we have a DBA role that is filled by one of the team. She doesn't have to worry about Web 2.0 stuff because we have a UI guy that keeps on top of that. The only downside is the same thing that makes this such a powerful development model and that is interaction. In order for this to work you absolutely MUST have a solid team that can work well together. Without that you will run into many instances of team members complaining that other members are trying to tell them how to do their job, or trying to do their job for them. As for your boss who has 20 years of experience, if he is truly that ri
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
The best team is always two friends in a room coding. Other configurations are sometimes necessarry but never optimal. :)
Idaho Edokpayi
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
Well, the other members have pretty much answered ... Large projects are hard to find and get, so probably your boss has adapted to what's best for small or relatively small jobs. In addition, if your boss has the experience and never learned working with teams, chances are he will never learn (which is for the best imho) and probably pass any large jobs.
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
I've done it both ways and there are trade offs. With a team approach, you can often get each part of the system in the hands of someone best qualified to do it. However, getting everyone to work together is sometimes a challenge. I've found it especially difficult to bring people up to speed on domain-specific things. On the other hand, with a single developer you often have code that is mediocre in some areas. That may or may not be important, depending on which areas and the type of app. I've seen that things often are more consistent, etc. So what do I prefer? I usually work alone, but the best situation for me is working alone with other developers around to compare notes. That way you get the best of both situations, but the onus is on the individual to make sure he talks to his peers and makes the effort to seek out advice, etc. On the type of projects I work on, I prefer to work in almost total isolation at the beginning, at least until I have something that works and I've identified the pitfalls and problem areas. At that point I like to open the process up and get insight and ideas on how to improve things. I fully realize that a redesign may be prudent, but at least I have a working prototype to show and discuss. On a recent project, preliminary estimates from a team were to get a version ready in 3 months. I had a working prototype out in less than 2 weeks working alone. Is it optimized? No. Does it work? You bet - it was in daily use after the 2 weeks. So what's best in general? My guess is that it depends on the particular people and projects involved. I don't believe there's a magic formula that ensures optimum success.
The PetroNerd
Walt Fair, Jr. Comport Computing Specializing in Technical Engineering Software
-
The company which I am working believes in solo programming and not in team works. Each programmer will be assigned to a project and he/she has to do it alone. This is something new to me as my last company works with teams and I believe team work has more advantage than going solo. I got irritated and presented my worries to the manager. He said "I have 20 years experience in IT industry and from my experience solo programming worked always better than a team". I am surprised ! I argued to my best to prove he is wrong, but I couldn't prove my point as I am not much experienced like him. I just want to get your opinions on this ? Do you believe solo programming is better than a team work ?
If the project is small enough for one developer to do then I agree completely with your manager. Evidence can be found everywhere, for example a busy restaurant kitchen is often more efficient and able to put out more dishes the less people you have working in it to a certain point. The reason is that large teams are often brought down to the level of the weakest members. One good developer can out code 10 or more mediocre ones working in a team and the reality is that good developers are in very short supply; you do the math. :) When you are talking about a team you are really talking about a committee and for centuries mankind has been fully aware of the lack of efficiency in a committee to do anything: http://thinkexist.com/quotes/with/keyword/committee/[^]
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
modified on Thursday, July 10, 2008 12:35 PM
-
Experience doesn't mean right. I learn that every day, it seems (me being the "experienced" one, hahaha).
ForumExpertOnLine wrote:
Do you believe solo programming is better than a team work ?
I would say your manager doesn't know how to really manage. Sounds like he's uncomfortable managing a team. Sounds like there's a lot of inefficiency, probably people writing the same or similar routines. Also, it sounds like maintenance would be difficult, because working solo, everyone has their own coding styles, etc. I suppose he doesn't support code reviews either? All in all, if you've got a group of programmers, they should be interacting and working on being efficient to save themselves time and the company $$$. Solo programming might be ok in this environment if your manager supports interaction, code reviews, a common code library, consistency in style, and so forth. Does he? Marc
Marc Clifton wrote:
I would say your manager doesn't know how to really manage. Sounds like he's uncomfortable managing a team.
If all they have to work on are small projects I think you're making a perfectly incorrect assumption here.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
Working SOLO not beneficial for both company and developer. With the Company Perspective : 1) Only one guy is aware about project. It that involved guy left the company project may be in risk. 2) Company cannot meet the deadline at time. 3) There is different pahse of SDLC. Which cannot be followed by only one guy. 4) Company expectation will be higher than output. 5) Project will loss the standard. It will not be 100% bug free, User friendly and performance centric. 6) Project maintainance cost would be increased. With the Developer Perspective : 1) Working alone become boring job. Nobody will be discuss about project. And you cannot share your problem with anyone.(Like me) 2) You cannot fullfill company expectation on time. It will down your image in company. 3) You will be depend on internet for finding your solution. 4) You will be moody about project. Because project is only in your hand. And you have to decide its "to do list". So you will prepare this list according to your convenience. 5) You will choose very easy way to find the solution. Because you dont want to take risk. 6) Updating yourself will be tough because no comptetion with you. Its all happened with me. I left that company and now i am in team as Team leader in my new company. :)
Everything you wrote is based on a specific perspective and wild assumptions. Your points could just as easily be completely wrong depending on the projects involved. Personally for smaller projects that one person can complete in a year or less I think the less developers involved the greater the efficiency and in my opinion all your points are turned upside down in a case like that.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
Marc Clifton wrote:
I would say your manager doesn't know how to really manage. Sounds like he's uncomfortable managing a team.
If all they have to work on are small projects I think you're making a perfectly incorrect assumption here.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
John C wrote:
If all they have to work on are small projects I think you're making a perfectly incorrect assumption here.
True, except that even then, there should be some oversight of all the projects to share code and investigate other efficiencies. Marc
-
I have experienced 3 levels of Solo programming. The first was where I was 1 of 5 programmers for a company where each of us developed our own projects and consulted with each other only when there was an issue that we absolutely could not resolve on our own. The second was where I was the only programmer working for a company writing software that was very specific to their business model. The third (my current job) is where I am one of 4 programmers. Each project is assigned to the team and each team member takes a certain portion of the project to develop as their own. While this is much more of a team method it is still solo programming as opposed to paired or extreme programming. The advantages and disadvantegs to each: In the first case the advantage was that I could easily define my task list as I saw fit. That was about the only advantage. I eventaully left that company, one of the reasons being that i felt I was not growing as a programmer. There simply was NO interaction between developers. The software we were putting out was not evolving, it was cookie cutter. Individual development like this usually means no (or very slow) growth as a team. In the second case the advantage was that I was pretty much my own boss. I set deadlines, I determined priorities, I did it all. However, this was another case where my personal growth as a developer was limited to what I could find on the internet. This situation probably suits a self-taught type of developer well, but for me it lasted about 2 years then things began to get really stale. My productivity went down and my ideas were running out. The last situation, and my current position, is my preferred methods for development. I am able to grow as a developer due to the amount of interaction I have with the team. As a team we are able to designate task specific roles for each member. When there are questions about the database, well we have a DBA role that is filled by one of the team. She doesn't have to worry about Web 2.0 stuff because we have a UI guy that keeps on top of that. The only downside is the same thing that makes this such a powerful development model and that is interaction. In order for this to work you absolutely MUST have a solid team that can work well together. Without that you will run into many instances of team members complaining that other members are trying to tell them how to do their job, or trying to do their job for them. As for your boss who has 20 years of experience, if he is truly that ri
simdor wrote:
Or just do what I did and find a better job.
Thanks for the post. It is great. Ya I found another job and waiting to get relieved from my current job.
-
If the project is small enough for one developer to do then I agree completely with your manager. Evidence can be found everywhere, for example a busy restaurant kitchen is often more efficient and able to put out more dishes the less people you have working in it to a certain point. The reason is that large teams are often brought down to the level of the weakest members. One good developer can out code 10 or more mediocre ones working in a team and the reality is that good developers are in very short supply; you do the math. :) When you are talking about a team you are really talking about a committee and for centuries mankind has been fully aware of the lack of efficiency in a committee to do anything: http://thinkexist.com/quotes/with/keyword/committee/[^]
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
modified on Thursday, July 10, 2008 12:35 PM
John C wrote:
If the project is small enough for one developer to do then I agree completely with your manager.
I don't know how you monitor the size of project. The project which I am working is still on development since 1 year. AFAIK, it's a big one or a medium sized one, Right ? Thanks for replying me.
-
Stuart Dootson wrote:
I feel the success (or otherwise) of solo working depends on how happy you are to direct your own work and how responsibility you're happy to take.
I am happy with the work, but when project becomes big, it's hard to remember whole modules. One advantage I felt with solo model is, we are free to take decisions.
I think the main advantage of team working is that you have more options to choose (yours and your teammates). I've done a couple of solo projects and took some horrid decisions that, had I had a parthner, he'd had strangled me. When in a team, you analize your decisions better, because you want your mates to understand why yours is a good choise. You also learn from the experience of your mates, who have solutions different to your owns. And in the end, you end taking the best choises your team can come up with, instead of only what you can come up with. Also, when actually programming, you can share good practices among your team. This improves the quality and efficiency of everyone's work. It's like being capacited all the time. Also, having the need to make your project understandable to the rest of the team, you document your work more carefully. This means that if (when) you leave the company, someone will be able to mantain your project with less effort (meaning less time and costs for the company, if to convince your boss).
-
John C wrote:
If the project is small enough for one developer to do then I agree completely with your manager.
I don't know how you monitor the size of project. The project which I am working is still on development since 1 year. AFAIK, it's a big one or a medium sized one, Right ? Thanks for replying me.
To me a year is a small project for one developer. My largest project took 3 years of initial planning and development. Personally I like to work on something myself and have complete control over it so the length of time it takes is irrelevant to me because it's not about the amount of work at all, it's about having no one else looking over my shoulder or interrupting me while I'm trying to get on with it. I wouldn't do very well in a team of even one more programmer unless the work was divided into big separate chunks. I like to get things done, not talk about it endlessly. My personal nightmare of coding would be stuck working in a cubicle somewhere on tiny peices of some huge application but to each his own.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson