Sherlock Holmes: The Original Developer?
Sherlock Holmes, Consulting Developer - Stuart Halloway
Estimated read time: 1:20
Summary
Stuart Halloway humorously aligns the detective skills of Sherlock Holmes with software development in his talk, drawing parallels between Holmes's methods and good programming practices. Discussing a book titled 'Your Code as a Crime Scene', Halloway argues that Holmes could be seen as the first software developer. Holmes's problem-solving, tool usage, focus on small details, and iterative thinking are likened to aspects relevant in programming. Importantly, Holmes's "little brain-attic" is about selective knowledge storage—akin to focusing on essential code details. Furthermore, habits like pair programming and taking time to think correlate to Holmes's methods. Finally, Halloway suggests involvement in the team and a balanced lifestyle, where productivity stems from meaningful work objectives.
Highlights
- Stuart Halloway describes Sherlock Holmes as the 'original software developer.' 🎩👨💻
- Programming is likened to crime-solving, with proper problem statements and iterative approaches. 🔍🧩
- Simple, elegant tools win the day, just like Holmes with his magnifying glass. 🔧👓
- Hammock time replaces Holmes's smoking habit for modern programmers—perfect time to mull over code. 🛌💡
- Precision in coding mirrors Holmes's attention to trifles. Every detail has a purpose! 🧐🎯
Key Takeaways
- Holmes's detective skills are just like programming tactics—problem solve iteratively and get it right! 🕵️♂️💻
- Use a minimalist approach with tools; keep it simple and effective like a trusty magnifying glass. 🔍✨
- Holmes loves problem statements as much as splitting atoms—that is, he nags to get them perfectly right. 💥🗣️
- Coding might be the only thing more detailed than Holmes's observations on 'trifles.' Pay attention! 📝👀
- Taking breaks, whether to smoke a pipe or simply ponder like Holmes, is essential. Chill, think, then code. 🛋️🧘♂️
Overview
In his talk, Stuart Halloway cleverly parallels the investigative techniques of Sherlock Holmes with programming skills. Just like the detective's method of extracting detailed problem statements, programmers must too iterate over understanding the problem they're tackling.
Halloway emphasizes the importance of simplicity in tool usage, evoking Holmes' preference for straightforward solutions over complicated ones. This approach is likely to result in clearer, more effective programming practices.
An intriguing addition is Holmes's tendency to mull over details with great scrutiny, akin to a developer’s need to maintain focus on even the smallest code nuances. Holmes serves as a fictional symbol for programming excellence, encouraging developers to find a balanced, thoughtful approach to coding challenges.
Chapters
- 00:00 - 03:00: Introduction and Problem Solving The chapter begins with the author expressing delight at being back in Durham and meeting old and new friends. It starts with a reference to a 2015 book by Adam Tornhill titled 'Your Code as a Crime Scene'. The book states that criminal investigators often ask the same initial questions as programmers do when examining a codebase.
- 03:00 - 09:00: Iterative Problem Statements The chapter draws an intriguing parallel between the famous detective Sherlock Holmes and modern software developers. It starts by establishing a playful premise that Sherlock Holmes can be considered the 'original' or 'OG' software developer. This comparison sets the stage for the upcoming exploration of Holmes's methods and their resemblance to logical and iterative problem-solving techniques employed in software development.
- 09:00 - 16:00: Using Simple Tools The chapter titled 'Using Simple Tools' explores the lessons in software development that can be gleaned from the character Sherlock Holmes. Instead of focusing on film or television adaptations of Holmes, the emphasis is on the original books and how Holmes' methods can inspire better practices in development. Throughout the talk, canonical quotes are used to reinforce the ideas presented, with a consistent slide design for easy reference.
- 16:00 - 23:00: The Importance of Reflection In this chapter, the importance of reflection is highlighted through a presentation slide featuring a prominent quote. The chapter discusses the common practice of showcasing quotes in large fonts with story names in small, often unreadable fonts, making it difficult for audiences to verify them immediately. However, the speaker assures that the slides will be available online later for fact-checking, fostering an environment of transparency and encouraging the audience to delve deeper into the original stories. The chapter effectively underscores the role of reflection and verification in understanding and learning from presented ideas.
- 23:00 - 25:00: The Role of Trifles The chapter titled 'The Role of Trifles' emphasizes the concept that while common logic may seem rare, it can still find relevance in various settings such as software meetings or retrospectives. The idea that people are 'mostly criminals' and 'grams are mostly bad' seems to underline common misconceptions or biases. The chapter then shifts focus to problem-solving within programming, highlighting the work of Rich in effectively communicating this notion, particularly within the context of Clojure programming.
- 25:00 - 31:00: Writing Things Down This chapter discusses the importance of clearly defining the problem statement before taking action. The narrative shares an anecdote about meetings where a person is about to dive into problem-solving by typing on their keyboard, only to be reminded to take a step back and articulate the problem first. This instance, although seemingly simple, underscores a challenging aspect that many face when trying to implement in practice. The emphasis is on the necessity of writing things down to clarify thoughts and focus efforts effectively.
- 31:00 - 37:00: Taking Action with Precision The chapter titled 'Taking Action with Precision' emphasizes the importance of having a clear problem statement before proceeding with any action, drawing inspiration from Sherlock Holmes' methodical approach. Holmes utilizes an iterative process, insisting on having people repeatedly verbalize the information needed to develop a precise problem statement, as exemplified in 'The Stockbroker's Clerk'.
- 37:00 - 46:00: Work-Life Balance and Social Skills The chapter focuses on the concept of work-life balance and its relation to social skills, using an analogy from a story. The reference to 'Adventure of Black Peter' suggests that repeating and discussing events can enhance understanding and learning. The narrative highlights techniques like pair programming and cardboard cutout programming. These methods involve explaining thoughts and concepts to others to clarify one's understanding, similar to how Holmes shares his thoughts with Watson to solve mysteries. This process is valuable for improving work-life balance by fostering better communication and collaboration skills, which are essential social skills.
- 46:00 - 55:30: Connection to Clojure Community The chapter titled 'Connection to Clojure Community' humorously discusses the origins of pair programming, attributing its invention to the fictional characters Holmes and Watson. The speaker suggests that to become a good software developer, one should pair program with a friend, albeit jokingly mentioning the addition of a Victorian wardrobe and a moustache. The chapter goes on to highlight that most problem statements in software development are poorly constructed and emphasizes the importance of formulating them correctly.
Sherlock Holmes, Consulting Developer - Stuart Halloway Transcription
- 00:00 - 00:30 all right it's such a pleasure to be back in Durham for cange and to be finishing the day with so many friends old and new and I want to start by talking about a 2015 book by Adam torn he'll your code as a crime scene and he says that criminal investigators ask many of the same opening two questions that programmers ask while they're working through a codebase and this is
- 00:30 - 01:00 spot-on and and I would take it a step further and say that in fact Sherlock Holmes is the OG software developer and this talk is going to be making this point starting with the obligatory definition slide so today's definition is the cannon the cannon is the 56 short stories and four novels about Sherlock Holmes that were written by Sir Arthur Conan Doyle there's a lot of other stuff
- 01:00 - 01:30 about Sherlock Holmes how many people have seen a movie with Sherlock Holmes in it or a TV show with Sherlock Holmes in it so we're not going to be talking about those today we're going to be talking about the books and we're talking about what we can learn from Sherlock Holmes about how we do software development and how we could do it better throughout the talk I'm gonna be quoting from the Canon and all the slides that quote from the Canon look the same for your easy reference they
- 01:30 - 02:00 have a quote in big font in the middle of the slide and at the bottom is the name of the story in a font so small that you can't read it and therefore have no way to actually fact-checked me however after the talk today I will post the slides online so if you want to go back and read the original stories behind these ideas you'll be able to do so and you can see this quote from the adventure of the copper beeches a crime
- 02:00 - 02:30 is Lodge a common logic is rare that sounds almost like something you could hear said in a software meeting or a stand-up or a retrospective you know people are mostly criminals and grams are mostly bad so I want to start with problem solving programming is problem solving and this is an idea that rich has done a great job of communicating to us in the closure
- 02:30 - 03:00 ecosystem and so it's a regular idea and I've actually seen this this happens a cognate egg that happens on the product team with the atomic but I've seen this percolate through in other companies so I've been in meetings at other companies where someone starts to do something very movie software is like whipping out a keyboard and someone else just puts a hand on their shoulder says whoa there what's the problem statement and the thing about it is that it's an easy idea but it's tough to master so how does one
- 03:00 - 03:30 you know I can say you know you shouldn't proceed without a good problem statement but how does one go about getting one and the way Holmes approaches it is iteratively one of the things that Sherlock Holmes does is insist on having other people verbalize multiple times the information that he's going to use to come up with a problem statement so he says in the stockbrokers clerk please tell me the succession of events again and in the
- 03:30 - 04:00 adventure of black Peter he says I would be none the worse if I could hear that sequence of events one more time every once in a while he even be stirs himself to state the events for somebody else to listen to a second time and he clearly is the father of pair programming and cardboard cutout programming it says you know what I don't understand this right now so I'm going to say it to you Watson and by the time I'm done saying it I'll
- 04:00 - 04:30 have gained at least some measure of additional insight so great Holmes and Watson invented pair programming and all you have to do to be a good software developer is find a friend get a cool Victorian wardrobe optional goofy moustache and boom the problem though is that most problem statements are bad and they are bad in particular ways and so getting a problem statement right is
- 04:30 - 05:00 an iterative process for most people now rich is particularly good at this so if you play this game with him um he has this skill which is not talking until he's done his thinking which is really unfair because I'm I'm totally the opposite I definitely talk by way of thinking and I say progressively less stupid things until I get to something somewhat reasonable but which has this like trick where he just sits there and the look says those things your other people are saying seem kind of stupid
- 05:00 - 05:30 and then eventually eventually he'll be like okay here's the problem but you actually see this process play out you know rich is not the original here Sherlock Holmes is the original you see this process play out in the stories and one of the important things that you want to do is separate usually bad problem statements are complected yeah doesn't say everybody has to drink right now so that's water by the way yeah
- 05:30 - 06:00 water yeah the UK you can do what you want I'm still on the clock so what Holmes does is takes apart problem statements that seem like simple statements but er actually compounds and sometimes that's about teasing apart assumptions so there were no footmarks Oh meaning that you saw no footmarks oh he's taken what seemed like an idea and broken it into two ideas which is that there was somebody looking for foot marks and they
- 06:00 - 06:30 failed to find any is an entirely different point then there were no foot marks and this is incredibly important because when we are doing making problem statements we often bake in the analysis of the problem not the problem itself so we say something that combines what the problem is with our beginning analysis of the problem or our presumptions or worst of all we bake in common sense which is a terrible enemy of doing good
- 06:30 - 07:00 work and a great example of this is in the story the Reigate Squires we're policemen says two homes how can we get at the criminals pocket before we catch the criminal and the way they actually catch the criminal in this story is that Holmes says you know what we don't have the criminal and we don't know who the criminal is but if we had the criminals pocket we would have the information we need to capture the criminal now everybody else does not is
- 07:00 - 07:30 not capable of using that as a problem statement because their common sense cuts in and what does your common sense tell you in that situation if I don't know who the criminal is and I don't have the criminal there's no possible way I could have the criminals pocket but Holmes teases those things apart and once he does that it turns out that there is a way in the story and you can go read it to acquire this criminals pocket without acquiring the criminal which is what they go about doing and so it's an iterative exercise and you need
- 07:30 - 08:00 to tease apart the problem from your assumptions so the first trick to being a good software developer is to state the problem that's probably unremarkable in a closure room now the second important thing is that you need tools you need lots of tools they need to be super shiny you need IDs and build tools and debuggers and frameworks that's what we all do around here tool driven
- 08:00 - 08:30 development well and this is in fact supported a little bit in the canon to this extent Holmes as a tool user and he's a very good tool user and in fact and I didn't know this until I was researching the talk that Holmes is the first character in fiction to use the magnifying glass as an investigative tool so but that being said the magnifying glass kind of gives you a little bit of insight into the sorts of
- 08:30 - 09:00 tools that Holmes goes for he's not looking for something big or fancy or shiny or complicated or enterprise-e he's looking for something lean and general-purpose and so even though Holmes does use tools and he uses other tools as well the things that stands out about him is not that he has more better tools than the police but that he has a small set of tools and he uses them extremely well and his best tool is in fact his eyes and so there's you know
- 09:00 - 09:30 story after story poor Watson will say you seem to have seen something I didn't see and Holmes will say well we both looked at the same thing right but I did in fact to Deus a little bit more or problems may be solved in the study that have baffled those who sought a solution by the aid of their senses so Holmes would rather sit and think before even pulling out a tool to begin with and then the tool set is the least important
- 09:30 - 10:00 part algorithms are fairly simple and that simplicity is a strength ok that's actually not a quote from the Canon that's actually that's actually back to the atom torn hill book so but it is in fact the same idea so the second point that I would make is use simple tools and I don't need to elaborate on this because there are entire talks in the closure world about simplicity but I would make the point that these tools are likely to be small relative to the power that they deliver they're likely
- 10:00 - 10:30 to be general-purpose and to work in a generic way with data now the next piece of advice I'm going to give you is proved controversial with test audiences the third thing you need to do to be a good software developer is smoke and unfortunately when I say smoke I don't mean smoke a little bit or smoke once or
- 10:30 - 11:00 don't inhale I actually mean smoke a lot so when you have a problem you need to smoke several pipes cigarettes are okay too but pipes are good and this is the kind of thing that you could do all day right you could so without further ado and or explanation or a justification
- 11:00 - 11:30 I'm just gonna say that you need to smoke a lot now happily for the most part rich is a shifty character who's just trading on Sherlock Holmes's Fame in building closure and atomic and things like that but this is an area where rich actually provided a healthful innovation which is instead of smoking you can use hammock time so hammock type is a non cancer-causing substitute for smoking but it actually accomplishes the same
- 11:30 - 12:00 purposes right it gives you the opportunity to let the stuff that you've loaded into your background mind percolate and develop ideas and once you realize that smoking was the one that Holmes liked and that hammock time is the one that Hickey liked one thing you might conclude is that your name actually has to start with a CH to be good at this game which is why Holloway actually prefers trail run driven development so the
- 12:00 - 12:30 thing that really works for me is going out on a trail and taking a three-mile run or a 5-mile run I wish my legs would let me do longer than that because it's actually where the work gets done so as I become more aerobic leafit I write better software which is sort of a win-win but the idea is to give your mind the freedom to work and you know rich is given an entire talk about this hammock driven development the one point I would bring up from that talk to remind you of here because Holmes thinks
- 12:30 - 13:00 about it a lot is that when you're doing this work you need to consider multiple alternatives one of the things that vanishes in implementation and a lot of architecture diagrams and other kinds of artifacts and documentation is the consideration of alternatives and when you have a theory about a crime you need to have your second best theory and you need to know why your first best theory is better than your second best theory when you have a plan for software that you're going to build you need to have a plan that says if I were forbidden to
- 13:00 - 13:30 use this plan what would my next plan be and what would its characteristics be and why do I like my first best plan better so but just as a code word for these ideas just remember smoke a lot whether your problem is a crime or a program your reasoning must account for everything in particular the word that homes like to use is trifles you must account for trifles that initially seem
- 13:30 - 14:00 unconnected to the problem and when you're reading the Holmes stories the word trifle is a literary tip that Holmes is about to outperform everybody else whenever a witness says well I almost didn't think this was worth mentioning because it can't possibly be related to the case it was just too trivial you can rest assured that that is going to be a linchpin in actually solving the problem and Holmes says it
- 14:00 - 14:30 again and again there's nothing so important as trifles you know my method it is founded upon the observation of trifles and does your explanation cover every point this is a thing that software developers mess up over and over again you have ten pieces of information at your fingertips about a problem and you have a theory that is supported by nine of those pieces of
- 14:30 - 15:00 information but outright contradicted by the tenth piece of information which admittedly is the least important most minor detail of all that information so choice a you're like well hey 90% that's a b-plus or an a-minus we should just proceed forward or choice B you have to think longer and in my work in support I can tell you that anybody who's ever worked in support what what do people do they're like well there was a problem and I didn't know what was going on
- 15:00 - 15:30 so I did stuff so the fourth thing to remember is account for details you have to account for all the trifles and it's often the case that are our biases have us want to look at the information that's most exciting that's most emotionally charged right the pool of blood on the floor is a lot more interesting than the little trail dust on the windowsill but when you're
- 15:30 - 16:00 doing problem-solving it's not about the thing that's biggest it's about how the things all relate together and they all have to work they can't mostly work so this is great but there's a problem you can make your problem statements you can have good tools you can use them carefully you can smoke a lot and you can count for all
- 16:00 - 16:30 the trifles but deep down where you don't want to look you're just afraid that Sherlock Holmes is smarter than you are and that the actual reason that Sherlock Holmes can solve these cases and the actual reason that the top-performing developers can write software is they have an enormous mind Palace that you simply don't have and it's a gift from nature that you cannot get and the Canon supports this idea
- 16:30 - 17:00 Holmes has things that in individual citation don't seem like superpowers when you start listing them so here's one I can distinguish at a glance the ash of any brand of cigar or tobacco and in a culture where everybody's smoking this is pretty useful in identifying crimes or it would be a poor expert who could not give the date of a document and by this the power I'm describing is
- 17:00 - 17:30 I could look out into the room and tell how old pieces of paper were that were in your hands that one's 15 years old that one's 35 years old or my personal favorite Sherlock Holmes was the world's leading expert in his time in a little-known field trouser splash geolocation and so the way this works is you look at somebody's trousers from across the room and you have a complete Google map story in your head of where
- 17:30 - 18:00 they've been and the stories enumerate these unusual skills again and again and so the bottom line is there are a few people who are superhuman and they're gifted and they can this stuff and the rest of us can't but that's not where the Canon stops and in fact mine palace is probably the most insidious phrase to work its way into pop culture from the Sherlock Holmes stories because that is not what Sherlock Holmes calls his head he calls
- 18:00 - 18:30 it a little brain-attic a little teeny-weeny brain-attic and the point that Holmes makes about his brain attic when he's asked not only it's not large its small but his superpower is in not putting things in there his superpower is not in putting things in there it is avoiding putting things in there it is avoiding exposure to information that will waste the very tiny space in his
- 18:30 - 19:00 mind palace this is the Victorian equivalent of stay off Facebook and FoxNews but an in fact it goes further than that not only does he avoid exposing himself to information that's not going to help him solve crimes he even avoids perfectly useful information that might be distracting at one point Watson finds out that Holmes does not know if the earth goes around the Sun or if the Sun goes around the
- 19:00 - 19:30 earth and he's appalled because all smart Victorians of course know the facts of this case and Holmes says not only do I not know that I'm going to endeavor to forget it because he does not foresee that that's gonna be useful in solving crimes now okay so he has a tiny mind attic not an enormous mind Palace and he has chosen to furnish it with the things that are important for his job that's a good lesson but the other thing that he does and I think
- 19:30 - 20:00 that the it's quite clear in the Canon but a little bit hard to see in TV and movies is he writes things down Holmes is an inveterate logger and keeper of information he maintains an index of every past case he will not talk about cases that are not the per case unless he is first given time to go and read the index and pond and reload the context anybody who has had to work on software that they wrote three years ago knows exactly what we're
- 20:00 - 20:30 talking about here so he's constantly suggesting not I have encyclopedic memory of every case that I've ever worked on but I have written things down Holmes likes to draw maps and he likes to use maps and he likes to take notes while he's interviewing witnesses and suspects and perhaps the best single indicator of Holmes as a normal person
- 20:30 - 21:00 accomplishing extraordinary things comes in the adventure of the dancing men when he asked to crypt analyze the messages of the dancing men if Holmes were the kind of savant that we can't approach he would stare at these dancing men and there would be some weird camera effects and some cool soundtrack music by a hip composer after which the answer would just appear to him but that is not at all what happens in the story what Holmes actually does is what you or I or
- 21:00 - 21:30 anybody else might do he sits for hours and fills a wastebasket with scrap paper as he works out on paper the frequency analysis I'm gonna start by guessing the most common character is e and see where that takes me and then I'm gonna start you know go down this road he does what an ordinary person who is careful and methodical would do so Holmes is not at all Rain Man and in fact the character
- 21:30 - 22:00 in fiction or in TV and movies that he most reminds me of is the t800 he maintains detailed files maintaining detail files is not a savant like superpower you can do that too so my fifth piece of advice to you is to write things down it is stunning to me I know this I know this sounds trite and I get up we know once a year in front of an overlapping group of people and keep telling people to write things down when you don't
- 22:00 - 22:30 write things down you're basically saying I can outperform other people who are writing things down while juggling chainsaws my head and developers do this all the time they wrestle with problems and they and they don't just write things down so I cannot underscore this point enough now you've stated a problem you've iterated on it you've used your Universal toolkit to collect some information you have arisen from your hammock empowered with new ideas you've written down a careful plan including
- 22:30 - 23:00 multiple alternatives now it's time to kick some ass and this in fact is a thing that Holmes does and it's totally supported in the Canon he's a decent shot with a pistol and a rifle although that is not something that comes up that often because Watson is a crack shot so Watson usually gets that job but he's also a very good stick fighter and boxer and not only is he good at those things he positively enjoys them he is flushed
- 23:00 - 23:30 with delight as he tells Watson how he beat the crap out of a ruffian and so what are we to make of this well first off yay that's cool action movie time I think the modern analog to this might be Amazon's bias for action I'm not sure if any of you have ever interviewed for a job at Amazon but one of the things that Amazon tells you they actually have a website you can go read this is speed matters in business decisions and
- 23:30 - 24:00 actions are reversible we do not need a lot of study we need action action action action gunshots stick fights beating up ruffians this is a terrible idea Amazon is completely wrong about this which is why Jeff Bezos is where he is and where I am hmm he just got lucky he's still wrong act a
- 24:00 - 24:30 little less think a little more Holmes swings into action but he thinks first he sifts the details and in fact Holmes stops working entirely when he doesn't have good information he doesn't have good information he puts it on the Shelf Alex Miller I'm sure remembers how long the ideas that became speck sat on the Shelf in people's heads until they came together as something that actually became code it was a period of years
- 24:30 - 25:00 Holmes says you know what we're gonna put the problem on the shelf and he goes and does something fun he says I don't have what I need to solve this problem right now and Watson in fact calls attention to this quite explicitly he says Sherlock Holmes just puts his brain into neutral and goes and does something fun when he doesn't have the information he needs to move forward conversely who in the Holmes stories has a bias for action it's not Holmes it's poor Lestrade right Lestrade is always
- 25:00 - 25:30 moping about all his different fictional incarnations swinging into action and Holmes characterizes that action as a herd of buffalo wallowing all over the evidence and ruining it so yes you are going to act eventually if you're writing software you know some fraction of the time you're gonna be presented with a problem and say you know what this problem actually could benefit from some software that doesn't exist that I
- 25:30 - 26:00 know how to write but when it comes time act with precision so that's it if you want to code like Holmes come up with a good problem statement prefer simple tools smoke a lot account for trifles write things down and act with precision awesome it's possible though that something about this combination of things leads you to be a very odd ball person and the movies
- 26:00 - 26:30 certainly give Holmes a comically manic personality he pursues both criminal cases and his other applications with feverish energy and the Canon supports this when Holmes is working on a case he does things like forget to eat breakfast he does things like work 15 hours a day for five days at a stretch that's what we in the agile community call a sprint
- 26:30 - 27:00 but that is only part of the story Holmes activates like that when he knows there's a moment in time when you have to move quickly because the facts and the criminals are getting away and then when that's not the time he chills and he says you know what I think we should have a whiskey and soda this is this interrogating this witness has gotten me kind of tired or we're gonna have to go
- 27:00 - 27:30 and catch the bad guys tonight we should just sit around and smoke there's the smoking again and just turn our minds to something more cheerful or bird-watching not the home so you think of if you're watching the movies you know we're gonna stop in the middle of the case we're gonna do a little bird-watching and take a hike so in addition to all these other things you need to enjoy your life it's fine to work hard part of the time but then you should play hard and then you
- 27:30 - 28:00 should chill the eff out go outdoors be still be quiet the other thing besides the workaholic idea that is associated with homes is that both he and Mycroft are lacking in people's skills and if you remember this is actually Mycroft not Sherlock but it's the best picture this is a scene from one of the movies that underscores the fact that the Holmes brothers are not entirely aware
- 28:00 - 28:30 of what is appropriate attire and so there's an idea and of course this goes with the whole savant genius thing right you're really good at something then you must also have a low social IQ right you spent all of your like you know it's like a role-playing game you spent all of your resource allocation points on being incredibly awesome at this one skill and you got had nothing left over for social IQ and you see that in the Canon Watson complains that homes is not
- 28:30 - 29:00 patient with dummies when people have dumb ideas he is not patient at all and Holmes says mean things to people when they have dumb ideas I'm so disappointed in Stanley Hopkins I had hoped for better things from him one should look for a possible alternative and provide against it now actually in Holmes's defence he didn't say that to Hopkins face so he was actually complaining privately to Watson which shows social
- 29:00 - 29:30 IQ right he's not venting so the person he's upset with he's actually turning to Watson and you know saying that in a sidebar that would make you feel better until you see what he actually said to Stanley Hopkins face which is I understand however that there were some objects which you failed to overlook which you scratch your head for a second and then realise that you're being insulted but there's an important point here which is that Holmes when he's demonstrating low social IQ if you want to call it that 100% of the time as far
- 29:30 - 30:00 as I can tell in the stories his anger is directed at poor work and incompetence by other people who are doing the job he's doing other people who are trying and not doing a very good job and causing people to come to harm because they're not tracking down crimes Holmes has a perfectly high social IQ when he's talking to victims or witnesses and so you see Watson saying things like Holmes welcomed her with easy courtesy
- 30:00 - 30:30 or a sat down on the couch and patted him kindly on the shoulder or even he has a past master in the art of putting the witness at ease so now here I think we should part ways with Holmes I think it's okay to be nice to your co-workers as well as your stakeholders but the point that I want to make is that Holmes has a social IQ he has a set of social skills and he knows he's making choices
- 30:30 - 31:00 about when to use them all the other things that have to do with being an excellent detective or an excellent programmer are really orthogonal to these social skills and so you could as Holmes does to victims and even to criminals you could be nice and you should be nice
- 31:00 - 31:30 since this is a software conference you are probably wondering what is Sherlocks favorite language for programming and I think it's pretty clear that Holmes spent a lot of his time laying groundwork for the closure ecosystem that all of the ideas that I've stated today about problems and simple tools and Hammack time and trifles and writing things down and work-life balance all of
- 31:30 - 32:00 these things are ideas that have traction in the closure community because we as a group have worked hard to make that the case and so I would like to be the first to welcome Sherlock Holmes into our community as the OG closure Ian [Applause]
- 32:00 - 32:30 that said you're probably wondering what his favorite databases well we have less evidence about this but he has a horror of destroying documents especially those that were connected with past cases so it's pretty clear that Holmes would would only have ever worked with an immutable database that kept a log and then provided an index where you could
- 32:30 - 33:00 get back to your information so you don't have to be a genius or a jerk or work 15 hour days in solitude to be a good programmer or a great programmer but you should have an objective know what you're doing say it out loud have a plan find a problem that you care about and work on it you should seek simplicity in your tools and in your approach to the problem you should take nicotine time or hammock time or run in
- 33:00 - 33:30 the woods timer whatever works for you you should master the trifles good design has to account for all the pieces not just some of the pieces you should write things down and when you've done all those things and you choose to act you should act with precision and you should balance that with enjoying your life and being nice in the rest of the evening thank you [Applause]