Psychology in Programming with Adam Tornhill
Carl and Richard talk to Adam Tornhill about his work understanding the psychology of programming. The conversation starts out with some thinking around getting into "the flow," being able to focus effectively on programming. Adam then digs into where bugs come from and the role of complexity in code. He has been studying code repositories to determine where bugs are likely to appear based on the idea that complex code changes more than simple code. The discussion also explores the idea that while coding parallel code is challenging, parallel development is even harder - can you really get multiple people working on the same project at the same time? You think you do, but do you really! Time to study your source tracking system!
Adam combines degrees in engineering and psychology to get a different perspective on the cognitive and social challenges of software. In his day job as a software consultant Adam works as an architect and programmer. In that role he often codes in C#, Java and Python. In his spare time he's more likely to hack Clojure or Erlang. Adam has published an open-source library for building distributed Erlang nodes in C++. He's the author of the popular Lisp for the Web tutorial, has self-published a book on Patterns in C and is currently writing on Code as a Crime Scene for the Pragmatic Programmers. Other interests include modern history, music and martial arts.