Re:Computer science is not software engineering
by 908B64B197 on Saturday December 26, 2020 @01:28PM
(#25545315)
> On the rare occasion that I need to use a data structure or an algorithm to optimize for Time Space complexity, I'll either use a community built package or a language level feature. I'll never invent my own because whatever I come up with will be half baked anyway.
In these cases you recognized you needed to use a specific algorithm or data structure and was aware of it's existence, name and properties. That's most of the work.
Contrast this with code where common data structures are re-implemented (I need a dictionary and all I know is an array, better iterate and compare the keys until I find the right thing). And that's only scratching the surface of bad code, believe me.
Re:Computer science is not software engineering
by syamilmj on Saturday December 26, 2020 @02:31PM
(#25545780)
Those who made “mistakes” like re-implementing basic data structure or algorithm will learn much more than what compsci degree can teach them.
Re:Computer science is not software engineering
by 908B64B197 on Saturday December 26, 2020 @02:36PM
(#25545829)
It's not a mistake to re-implement these. It's a mistake not to recognize that you need them in the first place.
Re:Computer science is not software engineering
by imtringued on Saturday December 26, 2020 @06:36PM
(#25547368)
Nobody wants this type of experimentation on a production code base though.
Re:Computer science is not software engineering
by rgblambda on Saturday December 26, 2020 @01:20PM
(#25545255)
>> if I'm being 100% honest, I don't even recall the majority of them.
100% this. A lot of these concepts go over your head if you haven't seen a practical application for them. By the time you've encountered such a use in industry, the knowledge is long forgotten.
Re:Computer science is not software engineering
by aries1980 on Saturday December 26, 2020 @03:02PM
(#25546011)
Yes, but the point of memorisation is you can much quicker re-learn the subject and you know there is a solution to a problem when you face it. If you have never learnt it, you don't know that there is a solution, or you start to optimise things in a way that is proven to be wrong. You might not able to recall them, but the knowledge is likely there in your subconscious.
My day to day job is piping APIs together and making sure we deliver features on time.
On the rare occasion that I need to use a data structure or an algorithm to optimize for Time Space complexity, I'll either use a community built package or a language level feature. I'll never invent my own because whatever I come up with will be half baked anyway.
Knowing all the above is useful for passing interviews but not much use in your everyday life unless you are doing something other than SWE such as R&D or data science.
Just my 2c.