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.
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.