Algorithms are methods that take data, perform a series of tasks, and stop when the answer is found. They’re used in day to day problems and teach you that large problems can be broken down into smaller problems. Sometimes we try to tackle obstacles head on and become lost in a tangle of if checks. Instead we should take a step back and figure out, what is the root problem and how can we write a maintainable solution that will scale proficiently.