3 ms·
I only used clever algorithms maybe, MAYBE a dozen times in 12 years as a java developer. I know I can, in university I implemented huffman compression(I know
by raducu 6y ago
I only used clever algorithms maybe, MAYBE a dozen times in 12 years as a java developer.
I know I can, in university I implemented huffman compression(I know there is nothing special about it algorithm-wise) in java and I got the best run-time in 2 series of ~100 students, and by that I mean orders of magnitude better; my runtime was on par with the best C++ programs I could find, and my program could work on arbitrary file size, the fastest C++ program I could find at that time (20 years ago?) loaded everything in-memory.
I wrote all the data structures from scratch, using java structures consumed a lot of memory and was way slower.
But the jobs I got in my country as a J2EE developer were much better paying, at that time at least, than any C++/algorithms stuff.
If I was younger, with the same singlemindedness I used to have, I'd absolutely spend 1-2 years tuning my algorithms skills so I could get those sweet FANG job.
Or if I had the ego of my ex submediocre-redneck boss who thought Spring Framework was bullshit, without actually knowing it, and got into programming competitions(only to be butthurt by his results because he did not put in the effort to actually practice algorithms and data structures), again, I'd study hard on algorithms and datastructures.
Or if that was my hobbie -- algorithms and datastructures is 100% a valid hobbie -- but it is simply not my hobbie.
Sure, if I encounter a hard problem, I can look up the best algorithms, copy&paste, modify, optimize and optimize untill I'm satisfied with the result, but there simply is no payoff for me to be an algorithms grand master.