Relevance of DS / Algo for Frontend Engineers

Intro

Working on the Frontend, typically does NOT require usage of fancy DS (Data Structures) / Algo (Algorithms). This leads us to conclude that DS / Algo are NOT relevant for Frontend Engineers - they are only relevant during the interview process. Believe me, this was my perception as well.

However, through experience I have learned that this is NOT the right conclusion to make - read on to learn why.

Why DS / Algo ?

In case you didn't notice, I used the word 'typically' at the start. This is because, it is indeed true that most of the time, you probably won't need to use / apply your knowledge of fancy DS / Algo.

There will come multiple occasions though, when you will need them. These could be - performance optimization, data processing, representation of data and so on ...

For example, during my time in the 'Prime Video' team at Amazon, I worked on a tool which required a matching / alignment algorithm to be run on the Frontend, since it had to be run after each operation by the user. Additionally, this was a 3-column matching / alignment, which did NOT map to any standard algorithm, since we had custom Business logic requirements.

Thus, I had to explore the standard set of algorithms, pick the one which mapped the most to our use-case and tweak it as needed. To ensure the UI remains responsive during execution, I ran this algorithm off the main thread using a Web Worker.

There are also other experiences, wherein knowledge of DS / Algo, came in handy.

Also, while one might be working as 'Front-End Engineer' - it does NOT mean that you would NOT be doing any Backend work at all OR would not be part of Backend Design reviews / discussions. Further, knowledge of DS / Algo translates to good 'Problem Solving' ability, which is vital NOT just in Software Development, but even in life.

To conclude, I would advise to NOT ignore DS / Algo OR to detest it. Embracing it will enhance your problem solving skills and trust me - at some point or the other, you will need it.


Please let me know your thoughts / comments on this - would love to hear your experiences.

Learn more about me @ namansancheti.in