I’ve been very impressed recently with the BBC series Sherlock, the modern take on Sherlock Holmes. What had impressed me the most is that it wasn’t spoon-feeding television – you had to keep watching, and keep alert to figure out what was going on. There were also the helpful “pop-ups” during the program – such as when Sherlock received a text message or phone call you knew who it was from (rather than the script writers having to work it in somewhere).
So what has Sherlock got to do with software/web development? How different would it be if developers were more like Sherlock? Or how would Sherlock be as a developer?:
1.He wouldn’t stop until the project was completed – even to the point of obsession.
2.Bypass all protocol (managers) to get it done.
3.If customers were wrong, he would tell them. Almost treat them like fools. Almost.
4.If someone asked how he did things, he would tell them. Does he keep any secrets?
5.Was Sherlock bothered by money/fees?
6.Although he looks like he’s not doing anything, he’s constantly thinking and processing.
7.Work on bite size chunks to complete the whole.
8.If you have a sidekick (Martin Freeman was brilliant as Watson), give them jobs to do too. They may seem like mundane jobs, but they’re helpful to the overall project.
9.Work quickly. Time is not on your side.
Have I missed any other traits? Would Sherlock make a good developer? He’d get on peoples nerves (point 3. above), yet people seemed to like and respect him. Maybe there are times when some of the above are required, and other times when they’re not. What do you think?