I wrote the other day that all programmers are different and I meant it. But that doesnt mean there arent programmer archetypes. This is a good field guide to programmers that you can use as a starting point when getting to know your dev team: The Careerist - This person is a developer now, but they are hell bent on moving up. They are the ones taking MBA classes at night and trying to get put on committees and go to meetings. Sometimes they can feel like dead weight, but they are not all bad. On large projects theyll be happy to pull some project management duty and attend meetings on your teams behalf. The Hacker - The tinkerers. Theyll wire things together you never thought possible and build rube goldberg contraptions around your data that will make you cringe. But it will work. Its always good to have one of these guys on your team because every once in a while theyll hack your way out of the darkest night. Two of these guys on a team will get tricky: Theyll step on each others toes and hack over hacks. But if you can keep them apart its doable. Any more than two and your done for. Your code will end up riddled with impossible work arounds to workarounds and everything will grind to a halt. The OCD - Project management gold. This is the guy who delights in dotting every I and crossing every T. They go through every project meticulously and do all the scrub work that no one else does: Check database designs, document libraries, make sure the data validation routines actually work, cover the rest of your developers carelessness. These are hard to find because if theyre really careful they end up sysadmins or DBA's. If you do find them hoard them. The Architect - Loves to design systems. Likes thinking about how things fit together and how they should be designed. Generally good low level coders but not always. They arent going to be happy doing a lot of low level coding though, so they can be a pain. They want to think about the overall problem, not the nitty gritty details and being down in that grit can make them cranky. The Builder - Just likes to put stuff together. They fire up visual studio and type away all day. These guys are the backbone of your development team, if your lucky. Theyll code and be happy doing it because they like to build. Most of your development team should start here and grow into other archetypes as they get experience. The Fixer - Loves debugging and solving problems. If your code breaks theyre the ones who enjoy going over it with a fine tooth comb and finding out what happened. Fixers love the aha moment, when they finally figure out what happened. The Gold digger - Somebody told them that programming is where the money is so thats what they did. They are in it for the money but dont really care about it otherwise. They are not necessarily bad programmers, sometimes really smart people gravitate towards the money. But dont hold your breath. These are likely to turn into careerists quickly but if they dont and they're not any good theyll turn into a millstone around your neck even quicker. Of course no programmer fits completely into one archetype. Fixer/Hacker combinations are very common just like Gold Digger/Careerist combinations. You'll never see an OCD/Hacker combo though - water & oil. How should your dev team be set up? Builders are essential, because somebody needs to be happy with the actual nuts and bolts writing of software, and you'll need some architectural tendencies to make sure things are built and dont just evolve. Hackers and Fixers are nice to have around but not strictly necessary. Careerists can be useful and any programmer is going to have careerist tendencies at some point, but too pure of a specimen will kill you. Whatever youve got try to find out what they like to do and why and then keep them doing as much of that as possible.