Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Extremely common, and was one I fell into as a junior dev myself (early 2010's).

Some reasons (based on my experience):

- University classes were either very low level, or using some new framework to increase your employment prospects

- All the experienced devs would hop jobs every few years, leaving less opportunity for mentorship.

- Lack of convenient resources for gaining base knowledge. Googling "how to make a todo list webpage tutorial" will always have articles using the latest web frameworks, for instance.

(Not really anyone's fault, a good engineer has know where to go for the right information. But as a junior without that skill it's easy not to get good information.)

My personal strat when learning a framework is sometimes building what I want without it, running into the common problem patterns, and then looking at how a framework solves it.

It's very time consuming so I only do that for personal projects, but I think I've learned the most base knowledge for really groking a framework doing that.



> a good engineer has know where to go for the right information

That colleges aren't teaching this as a first-rate topic is a real failure. This is, in my opinion, the most important skill any engineer should have.


I would add that intuition and knowing how to question it is also vastly important.

My main driver is Ruby - I have a good feeling about code that can be refactored to use Enumerable more effectively; but I also know that Enumerable offers so much that I might be expecting too much of it. So 80% of the time I point to a method that solves the exact problem and the rest of the time I know how to write it differently.

"Why do you know about filter_map?"

"Because people were confused about reduce and each_with_object and map and maybe you just want to loop through non-nil objects in one pass"


> I would add that intuition and knowing how to question it is also vastly important.

I agree. Especially knowing how to question and how to break problems down. I'm not sure intuition is a thing that can be taught, but it's a thing that emerges as a consequence of being curious and learning how to question and find answers to those questions.

That aspect is also why I think that being generally curious and having a broad base of knowledge makes you a better engineer. It's amazing how often apparently unrelated knowledge can give you an insight into solving programming problems. People who are laser-focused on "computer stuff" specifically often miss important insights.


And the concept of intuition is discussed in ch22 of thinking fast and slow (can’t find my copy atm) with regards to how firefighters are able to make those split second decisions.

If you’re interested/havent already read: https://stenzelclinical.com/wp-content/uploads/2021/12/Kahne...


Definitely. And at a slightly higher level, open mindedness is paramount to this. Engaging with other perspectives in good faith not only expands ur worldview but also pushes you to reconsider why you believe/do a thing a certain way.

And like you mention, when a problem arises and you query ur mental rolodex, there’s many more solutions/ideas to iterate over and consider


I agree with you that this perhaps the most useful engineering skill. I think schools try to teach this fairly young with supplemental book reading on top of lectures. That’s the teacher telling you where to find the information, but forcing you to process it yourself. The next level after that is finding the information you need on Wikipedia and beyond.

I think students at all levels tend to avoid this, and there isn’t stomach to fail them for it on the academic or family sides.


Two things to learn...

How to ask the best questions

How to find the answer to such questions

Totally undervalued skills everywhere


One of the most important general life skills imo


... or a student.




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

Search: