After going through a web dev bootcamp myself where we actually devoted a decent amount of time to algorithms and their time/space complexity -- this has been the thing I have used the least in my professional career.
Developers who learn about time/space complexity view code in a different way. They can reason about code in new ways and it also helps discuss code between devs.
When I work with large data sets, It's difficult to explain why something is taking a long time without thinking of it in terms of O complexity.
Not OP but I did a 3 month boot camp, where the final month was spent on a big group project (which was great) and then algorithm optimization, red-black trees, and a bunch of stuff that I didn't actually think I needed on the job for 2 years.
Sometime in my third year on the job I had to find the duplicates in an array. My beautiful solution "arr.select{|x| arr.count(x) > 1}.uniq" didn't work because I had 100,000 items in the array. My solution was O(n^2), and that finally made sense to me, and it actually mattered.
I would say this was when I didn't feel like a Bootcamp beginner anymore, and thought of myself as an intermediate professional programmer.
Yup. Understanding fundamental computer science is a good example of the Dunning-Kruger effect. If you don't understand it, you likely don't even realize that you're missing something important.
It's not meant as an insult. I meant professional as in
>characterized by or conforming to the technical or ethical standards of a profession.
In Germany we use the word to express sophistication and technical expertise.
If you don't know how to handle algorithmic complexity it's less likely you will take a job that demands knowing much about it, but that doesn't mean it's not professionally needed.
When I work with large data sets, It's difficult to explain why something is taking a long time without thinking of it in terms of O complexity.