Suppose you’ve just designed a new architecture, library, or process. At first, everything’s going great, but over time you notice some issues - issues that stem from people that aren’t using your creation properly! If they’d just use everything correctly, there wouldn’t be any problems, but to your horror people continue to make mistakes and cause your beautiful product to fail.
People will always make mistakes, but the core mistake here is designing without keeping human fallibility in mind. It’s easy to come up with a new architecture, library, or process. But how do you make sure people use it correctly in the long run? Without considering this problem, your software will come up short.
In this talk, I’ll go over the task of maintaining software correctness, along with plenty of examples. By the end of this talk, you’ll have a bunch of strategies for writing software that encourages correct implementations in the long run.
Dan Lew has code in his DNA and has been speaking since he was two years old. He's focused these skills on development for the past decade, working on many large applications (FlightTrack, Expedia, Trello) as well as maintaining some open source libraries and applications. Currently he works on the circular economy at Rheaply.
When not speaking, he's silent.