Iulia Avram

Does this run in linear time? A case for algorithmics

Algorithms are fun to learn and their usefulness goes beyond getting that good grade or acing a coding interview. This talk aims to showcase some the hidden benefits of keeping your algorithmic skills sharp, as well as the speaker’s personal recommendations in keeping up the good work without feeling like studying for an exam.

How many sorting methods can you name out of your head? What is greedy? If these terms sound familiar, you’ve probably heard of algorithmics. For the everyday developer, algorithms are either the scare of all the technical interviews, or that one course you took in university which they vaguely remember. It seems that if you’re not working for one of the big companies, you will never use them. So you might ask yourself: Why do I need to know about linear time when the libraries I’m using already optimise for this?

While you might not implement binary search in that new feature you’re working on, or use dynamic programming, diving a bit deeper into this world could prove useful in training your mind to see patterns you might have a harder time seeing otherwise, or to write code that is better optimised and will give the end users a better experience. 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.