Basic knowledge making you able to do rudimentary big O analysis is always useful. Unintended polynomial running time where linear is possible is a very common performance regression.
This year I started my leetcode grinding for interview purposes. But when I look back, I can tell that's all this practice and analysis of solutions made me a much better engineer than before.
The most impactful thing in my 6+ year career was my understanding of how to think effectively about my code.
Before that, I got some basic knowledge about CS theory, master theorem, asymptotic, all these things, and was a typical skeptical developer who was thinking like, "yeah, that's cool, but you don't actually need it. At all, basic knowledge is enough."
Today, I will recommend that anyone go through basic algo and ds courses (Sedgwick book or course, Skiena book too) and try to practice them.
Now I'm even trying to participate in leetcode and codeforces contests. In the end, after the first months of frustration about how stupid I was and how I couldn't find a solution to easy problems, it's started to be fun, and I loved it.
- Ruby on Rails
- VueJS for the store. Just the part where I render the products
- PostgreSQL
- Bulma CSS
- PostgreSQL
- DigitalOcean
- Cloudflare
Two important JS libraries from Shopify:
- Shopify BuyButton.js for the product modal, cart and checkout
- Shopify JavaScript Buy SDK for product pagination