Skip to content

Algorithms Day to Day

I recently spent some time playing around on http://www.hackerrank.com – doing various programming puzzles. It can be somewhat addictive and if nothing else is good exercise for your brain. It got me thinking about how little actual algorithm writing and data structure definition has happened in most of my professional career. I definitely USE data structures (in Java most commonly HashMap, List, and Set), but I rarely have to WRITE low level data structures, unless you consider Object Oriented classes data structures. The vast majority of the development I have done consists of if/else style business logic, fetching/displaying/updating data for user facing use cases (web, Android, thick clients), and system to system integration – exchanging data in various formats over various protocols (XML, REST, tcpip, Etc). I’m trying to think of the most algorithmically complicated thing I’ve ever actually been paid to do…. might be writing libraries to manipulate TLV data (tag-length-value), some encryption related code (such as creating/validating digital signatures), or using basic arithmetic for financial calculations. The other really complicated problems I’ve had to work on are usually around multi-threading.

So, I find it interesting how many tech companies seem to put so much focus on these fun little algorithms in their interview processes. Is my job history unique? Do most of the rest of you out there do a lot of “algorithmic” coding? And if so, like what?

4 thoughts on “Algorithms Day to Day”

  1. Through 90% of my coding career, the math involved never got much beyond basic arithmetic. The complexity was using in the logic or data design. The most complicated thing mathematically I participated in was a project which implemented the Western Electric Rule System to constantly sample a lot of ephemeral data and make some stable usable data out of it. It involved a nearly unmaintainable C++ service though.

  2. Never did much of that myself, mostly implemented relatively simple business rules in applications or built reporting systems on SQL/Relational databases. Getting started this week on it though, using P5.js and algorithms in javascript to generate images. Not exactly a job though.

    1. Image processing is a good one. Haven’t done that personally. GPS processing might be another. I did have a job where there was code to validate airspaces – make sure they didn’t intersect other airspaces, or terrain. However, I never really worked on that personally.

    2. Image processing is a good one – I just haven’t had much occasion to do any. GPS might be another area where there is some interesting “algorithmic” coding….

Comments are closed.