Hacker News new | past | comments | ask | show | jobs | submit login

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.


Maybe your not working on professional things? Also what is a decent ammount of time?


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.


pro·fes·sion·al prəˈfeSH(ə)n(ə)l/Submit adjective 1. relating to or connected with a profession.

What do you mean by, "not working on professional things"? Seems a bit insulting to me?


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.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: