CompSci and My Day Job

4 years ago I had a vague idea about Big-O notation and absolutely no clue about combinatorial problems. I knew what a SHA256 hash was (sort of) but I didn't know how it was created, nor that it didn't completely protect some of my data. I knew these things were important, but I never understood how they could apply to the types of applications I was building at the time. All of this changed as I put together the first two volumes of The Imposter's Handbook.

I get to build a lot of fun things in my new position at Microsoft and I've been surprised at how often I use the things I've learned. Avoiding an obvious performance pitfall with Redis, for instance, because I understood the Big-O implications of the data structure I chose. Going back to ensure that a salt was added to a hash which stored sensitive data for an old client and, most importantly, discouraging a friend from trying to solve a problem that was very clearly NP-Complete.

In this talk I'll show you some of the fun things I've learned (like mod(%) and remainder being different things) and how I've applied them to the applications I create for my day job. You might know some of these concepts, or maybe you don't - either way: hopefully you'll leave with a few more tools under your belt to help you do your job better.