There are definitely different types of programming jobs, but for some contrast: I have never had a job where runtime complexity did not come up as a significant factor somewhat frequently.
It really comes down to what you’re doing, but at a certain scale or size of problem you really do need to know about algorithms, data structures, and runtime complexity to avoid having your runtime explode, server costs become untenable, opening the door to extremely long running requests and other problems.
So... That's less likely where you'll need your dynamic programming or palindromes in constant time or space.
That's what most people on HN forget. The programming world is huge. Even more so, if you include all the stuff we wouldn't traditionally include, such as people using code to optimise business or production processes.
It's always best to assume that you don't know what "most software jobs" are like, because you're very unlikely to have seen more than a tiny slice of it.
But what leetcode and leetcode interviews optimize for isn't all that valuable. In the context of the job there are usually different space/time constraints than what you'll see in leetcode, and there are also integration constraints that can change/invalidate textbook approaches.
Most importantly, though, you always have more than 30-60 minutes to figure things out, and can consult whatever references you want.
I found that the biggest performance increase came from async downloads. By sending multiple http requests at once it went from 10 to 2min. After that, optimizing the queries sent to the API reduced the amount of data that had to be downloaded. Finally, I found the best way to bulk upload data to mysql was to use file based uploads which simply copy themselves into the database. Sending 500 inserts at a time was wayyyyy slower. Managed to get it down to 30s. I also switched from python to Java but I never measured the difference between the two
1.) DS and Algo knowledge are way overrated in day-to-day job functions. I have yet to have to implement a single DS or Algo from those classes (they are almost always available to the framework, standard library, or language), runtime complexity has literally never once come up in my life, and the most I've ever needed to know about data structures is "which one should I use here?" and 99% of the time its either a vector (arraylist) or a map (dictionary).
2.) Just because you don't have a proclivity for code-golf does not mean you don't know DS and Algos, it just means that you don't waste your free time writing unreadable code for useless puzzles which serve only as interview questions.