You’ve been asked to add a feature to the app you’re working on. What do you say when your boss or client asks: “how hard would it be to add feature X”? If you’re like me, you might say “I’ll take a look” or “this could be interesting - I’ll let you know”. I hate saying “no" to clients and I love delivering value, so I would put on my cowboy hat and see if I could figure out how to implement feature X. Sometimes this approach worked. Other times… not so much. In fact it cost me my job.
In that situation it turned out that the problem I was trying to solve is known as NP-Hard, a classification in Complexity Theory, and if I would have known that at the time I would have been able to explain to my client that what they were trying to do wouldn’t work the way they wanted. I would have saved my job, avoided the needless waste of investor money, and the company might still be around. In this talk we’ll venture into Complexity Theory, understanding what simple, hard, and impossible problems look like all in an effort to save you time, money and possibly your job. If you fancy stories about failure, this might be for you.