DEV Community

Discussion on: 5 most underrated skills of a top developer

leob profile image

Performance is of utmost importance, but in most cases it's achieved by applying "best practices" like using your framework's ORM or database library correctly (for instance use eager loading, use SQL joins, define database indexes), using caching where needed, properly designing your database schema, and so on.

But, I'd argue that most of that has little if anything to do with "algorithms". Most web/app developers are never going to program their own bubblesort or quicksort or whatever (let alone their own encryption or security), they just use the most suitable "sort" or "crypt" routine provided by their programming language or framework, whether that's JS, PHP, Ruby, Rails, Laravel, Node or whatever it is.

So performance, yes, important - theoretical knowledge of algorithms, no not really, UNLESS you want to design programming languages, compilers or frameworks.

(analogy: most people are perfectly able to drive a car without knowing or understanding how the combustion engine and all of the other technology inside of it work "under the hood" - but if you want to become a car mechanic, or a designer, or an engineer, yes then of course it becomes important)

Thread Thread
horomancer profile image

wait in your analogy are devs just car drivers? i figured they would be more like mechanics, or maybe modders, and the consumers of their products would be drivers.

Thread Thread
anubhavitis profile image
Anubhav Singhal ☃️ Author

Exactly, Horomancer.

Thread Thread
leob profile image
leob • Edited on

Analogies only ever take you so far, but yeah if you're a dev and you're not actively developing (or modifying the internals of) your programming language, compiler or framework, yes then you are a user of that tool ... the "driver" so to speak :)

Maybe that's not a popular view, because we like to see ourselves as geniuses, but it's a practical and realistic one.