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

Conversely, too much practical experience can lead to a lack of fundamental understanding, innovation, and helplessness.

I can’t stand it when an engineer wastes hours looking for a library, instead of even considering actually writing code themselves. Many just can’t because they’re so accustomed to glueing together other people’s code.

Of course, I’ve worked with academic types that can never stop theorizing and actually be productive. That have zero discipline.

There has to be a balance. But yes, fresh out of school == fairly worthless for anything I’ve worked on ever.

> too much practical experience can lead to a lack of fundamental understanding

That's too little theoretical background, not too much practical experience. If you take someone with a good grasp of the basics, you will never remove that grasp by giving them more practical experience.

I meant, in the context of schooling & learning. Coding boot camps can sometimes result in some behaviors that require unlearning.

I often see the opposite: people wasting hours writing code when they could have found the appropriate library with a few minutes of searching. Often the library is actually already installed with the project or even part of the standard library.

The most difficult case is when writing the code from scratch actually is a lot faster than choosing and learning the API for a library, but in the long term takes more effort to maintain (higher TCO).

The choice depends not only on how complex your own code would be, but also how mature and well maintained the library is (e.g. maybe a library that's just right is some solo developer's pet project, whereas a slightly more awkward fit is actively developed by a big company). That is the sort of thing where making the right choice really requires a lot of experience.

I’m mostly talking about trivial things. For example: Adding a third-party dependency to evaluate euclidian distance. i.e. A^2 + B^2 == C^2.

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