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

Many "engineers" don't know what a hash table is under the hood, what binary search is or what pointers are, but they know Framework X, or Tool Y. They lack curiosity, desire to learn how things work, desire to discover. They don't trust concepts unless those concepts have a relatively large following and are deemed as "fresh", "cool", "new" and "inspiring" by trend setters. Also having some popular articles on Medium helps with trust.



Presumably they are never going to have to implement or modify a hash table (which kind? Cuckoo, Hopscotch, Robin Hood, ...?), but always use one provided by a library (very likely the standard library of their programming language). Of course knowledge about the performance characteristics of a hash table (especially in comparison to lists) is useful.

Binary search isn't all that great due to cache misses. It's likely you won't regret using a hash table instead.

As for pointers, depending on the programming language you use they may not be exposed in a way that the knowledge is all that relevant. In a language such as C you can't reasonably avoid them, but for Java, or Python, SQL, or JavaScript you just have references, which tend to be much simpler.

Knowledge about how to use Framework X will probably turn out to be a lot more relevant and helpful for the day-to-day work of most developers.


There are cases however for binary search where a hash table won't help. Pulling a sorted slice of data, for example, is useful in many domain.


It's funny, when it s not the devs, what you describe sounds strangely exactly like what many ivory tower CTO are like, "researching" useless shiny craps by reading some headline like "google does monorepos" and coming back saying "but you devs are just mindless morons, look at google they do monorepo, you should have the curiosity to merge all our github stuff into one giant repo".

Yes yes boss, we're on it.


It's more interesting and useful for me, and I assume other people, to learn about new ML architectures or frameworks that will facilitate my development than the underworkings of a hash table. This will probably bite me in the back eventually, but I see a lot of opportunity cost when choosing what to learn.




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

Search: