Live data from Hacker News

Ask HN: How to learn best practices when you have no one to teach you?

news.ycombinator.com

41–50 of 209 posts

Re: Ask HN: How to learn best practices when you have no one to teach you?

#41
post #36
post #7

Earlier quoted context omitted.

In one sentence (by C.S. Lewis ): “Experience: that most brutal of teachers. But you learn, my God do you learn.”

Hopefully. A friend of mine once said "So do you have ten years of experience, or do you have one year of experience ten times?"

Relevant:

How Developers Stop Learning: Rise of the Expert Beginner https://daedtech.com/how-developers-stop-learning-rise-of-th...

How Software Groups Rot: Legacy of the Expert Beginner https://daedtech.com/how-software-groups-rot-legacy-of-the-e...

Re: Ask HN: How to learn best practices when you have no one to teach you?

#42
No one to teach you? Google, Udemy, GitHub, YouTube, Dev.to, etc. etc. When I started there was no internet and all I had was a book and 'phone a friend' if I broke something :)

Break stuff. Fix it. If you can't fix it ask for help. Rinse and repeat.

Re: Ask HN: How to learn best practices when you have no one to teach you?

#44
post #36
post #7

Earlier quoted context omitted.

In one sentence (by C.S. Lewis ): “Experience: that most brutal of teachers. But you learn, my God do you learn.”

Hopefully. A friend of mine once said "So do you have ten years of experience, or do you have one year of experience ten times?"

I've heard this old saw a million times, or maybe once a year for a million years, but what does it really mean? Nobody seems to be able to describe to me a developer with one year of experience ten times. What does this look like in practice?

Re: Ask HN: How to learn best practices when you have no one to teach you?

#45

There are a lot of famous books on the subject of best practices: "Code Complete" and "Clean Code" are the first to come to mind, but I'm sure the folks here can recommend others.

These are the timeless books and should be required reading Pragmatic Programmer: http://amzn.com/020161622X Code Complete 2: http://amzn.com/0735619670

Refactoring by Martin Fowler is a great one https://www.amazon.com/Refactoring-Improving-Existing-Addiso...

Design Patterns is also very well known https://www.amazon.com/Design-Patterns-Elements-Reusable-Obj...

Re: Ask HN: How to learn best practices when you have no one to teach you?

#46
Use a lot of API's to experience the pain points. Read a lot of other peoples source code. For example the code of your dependencies. Learn by failure, but also other peoples failures. Read blog post and articles about what you are doing. Participate in chats and forums. And be persitant and have good confidence.

Re: Ask HN: How to learn best practices when you have no one to teach you?

#47

1. Make lots of mistakes. 2. Experience pain in the form of late, buggy software and angry clients. 3. Read books and work on side projects. (Martin Fowler’s were my favorite). 4. Repeat for 5-10 years with hopefully ever-decreasing amounts of 1 and 2. You probably think I'm kidding...

This I think makes the difference between people who follow "best practices" and people who understand why they apply certain practices or not dependent on the situation.

Re: Ask HN: How to learn best practices when you have no one to teach you?

#49

1. Make lots of mistakes. 2. Experience pain in the form of late, buggy software and angry clients. 3. Read books and work on side projects. (Martin Fowler’s were my favorite). 4. Repeat for 5-10 years with hopefully ever-decreasing amounts of 1 and 2. You probably think I'm kidding...

This. I have been looking for a company to be mentored at for the past 8 years. They don't exist (well they do, but they are few and far in between - and it varies from team to team even in a company)

The way I've learned is through books/talks, common sense (often things are clearly terrible for obvious reasons), people willing to take risks on giving me projects, and sweat/mistakes/learning how to focus on the right things through experience

Re: Ask HN: How to learn best practices when you have no one to teach you?

#50
post #32

"Best practices" are not the best way to think about your output nor your (personal) development. The term is flawed to start with in the sense that it invites you to think of practices as fixed or objective rather than contextual. You should think of your development as striving to amass the experience/wisdom to recognize the practices that are likely to work better in each situation on the fly. And that just comes…

I think you're somewhat taking down a strawman here. Some practices (e.g. using source control, being super extra careful about state changes) are indeed almost always best, and it's rather likely that you'll also learn when to use them for the best practices you do learn. We're - so I hope - not talking about some nonsense like learning design patterns by heart or some such.
Post reply on HN