No More Ninjas
Movie ninjas are awesome with the kicking, punching, jumping, etc. Code ninjas are unwelcome on my team.
Let's take a brief look at the characteristics of the ninja:
Ninjas have great skill Ninjas work alone Ninjas are stealthy Ninjas use unorthodox tactics Ninjas are specialists in espionage, sabotage and assassination
Great Skill - That sounds like what I want in members of my team, provided of course that it doesn't come with Great Arrogance.
Working Alone - Uh oh. No thanks. I want people who collaborate and act as a team. Paired programming for a large portion of the day is a must.
Stealthy - I really don't want anyone sneaking around in my code. I want clear names and explicit abstractions. Make your movements obvious. Create work that you are proud to sign (and then sign it on check in, not in comments.)
Unorthodox Tactics - I liken this to creating your own ORM or web framework. Sure, there may be advantages sometimes, but these are most often outweighe...