Neal is Director, Software Architect, and Meme Wrangler
at ThoughtWorks, a software company and a community of
passionate, purpose-led individuals, who thinks disruptively to
deliver technology to address the toughest challenges, all while
seeking to revolutionize the IT industry and create positive social
change. He is an internationally recognized expert on software
development and delivery, especially in the intersection of agile
engineering techniques and software architecture. Neal has authored
magazine articles, seven books (and counting), dozens of video
presentations, and spoken at hundreds of developers conferences
worldwide. His topics include software architecture, continuous
delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations. Check out his web site at nealford.com.
When you were hired by your current employer, you may think it’s because of your winning personality, your dazzling smile, or your encyclopedic knowledge of [insert technology here]. But it’s not. You were hired for your ability to sit and concentrate for long periods of time to solve problems, then placed in an environment where it’s utterly impossible to do that! Who decides that, despite overwhelming evidence that it’s bad for productivity and people hate it, that you must sit in a cubicle? The furniture police! This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to gird yourself against all those distractions. I talk about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the mid-guided attempts to sap your ability to produce good work. And I give you ways to go on the lam from the furniture police and ammunition to fight back!
Most developers thing that Test-driven development (TDD) is about testing, but testing is only a small benefit from using TDD techniques. This session demonstrates how stringent TDD improves the structure of your code. I discuss TDD as a technique for vetting consumer calls, using mock objects to understand complex interactions between collaborators, and some discussions of improved code metrics yielded by TDD. This session shows that TDD is much more than testing: it fundamentally makes your code better at multiple levels.