Do you remember when you used to learn algorithms? It was probably either back when you were studying for your degree, or when you were brushing up for a technical interview. If you're like most of the developers I know, solving algorithms probably went from being a fun past-time, to a bothersome necessity, to a thing of the past. Our life has been greatly improved by our tools and there's little need to know all sorting methods out there, or how to search through a tree. Or maybe we're wrong, maybe knowing these things could make a difference in how we write code.
I am going to try to dispel some of the myths surrounding the study of algorithms and competitive programming, and argue that sharpening this skill is something that benefits us, as software developers, outside of passing technical tests; that knowing many algorithms makes us better and faster problem solvers.
Lastly, this talk is about resources and ways in which to gamify the study of algorithms. Going at it the same way as for exams or interviews makes it very bothersome very quickly. It gets easy to lose sight of the biggest picture and to start thinking of algorithms in abstract terms, outside their applications. All these are factors that prompt the question: why should I carry on with it?
Therefore, something needs to be changed in the way we do this. Algorithms are fun and they don't deserve the disdain we give them. Knowing algorithms is not only for the geniuses and innovators.