Something weird happens when you have a single programmer producing applications and then you hire on more programmers. New problems arise. First, how does your team communicate? do they talk verbally or are they on a chat client? Do they work on the same projects or separate?

do the programmers use the same technology stack and version control? Are they reviewing one anothers code? What kind of hours are they working? Do they have support for server/network issues?

There are a lot of considerations that should be carefully considered when running a software development team. It is easy to lose a lot of productivity due to poor planning.

Programmers are far more productive when they are able to rely on others for help. For that to be possible, they need to have others around who understand what they are doing and the technology they are using.

Programming is a creative process. It requires creative solutions to abstract problems. If you see a programmer taking a break and staring up at the ceiling, don’t give him/her a hard time. Programmers often have rituals when it comes to solving problems. Mine is taking a walk with an emphesis of relaxation. I almost always have a much easier time figuring out solutions after one of these walks.

Everything I just said is likely true across many fields. Certain industries thrive best with certain conditions. For development it is careful up front planning with a realistic view with how creative processes work. Otherwise, you are going to doom your team and get a bunch of lowely foot in the door employees that take off the moment they gained enough experience. This makes everyone hate developers. I have seen it first hand and it is completely blaming the victim. Developers do not take jobs assuming they will leave right away. They leave because they are unable to work. Not producing projects is career suicide when trying to stay marketable.