Live data from Hacker News

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

news.ycombinator.com

61–70 of 209 posts

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

#61
post #51
post #39

A lot of it is about learning how to learn. Developing skill and mastery is a similar problem in almost any field, and you can learn a lot by reading from masters in other fields. I'm currently reading Handmade: Creative Focus in the Age of Distraction , by Gary Rogowski, who makes furniture. The first half of the book, at least (that's how far I am) is all about the wide variety of difficult lessons he's learned on…

This is interesting to me. Would you have any other book recommendations in this vein?

Effortless Mastery, by Kenny Werner. The Music Lesson, by Victor Wooten. Both of these are about music, but are really about mastery.

Shop Class as Soulcraft, by Matthew B. Crawford. This is a much more philosophical/academic argument that skilled manual labor is both intellectually and morally superior to most office work - you're shaping reality, rather than shaping yourself. I happily lump the craft of software development in with physical labor here, though, as it faces the same kinds of reality-based limitations.

Zen Mind, Beginner's Mind, by Shunryu Suzuki. Transcribed lectures by a well-known Zen monk. The entire book is basically about learning how to sit still. If you can't even sit still, how do you expect to do anything else well? And do you have any idea what it even means to just sit still?

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

#62
Books & projects.

I google around for recommendation on books and get books and read them and do projects. Books will go over a concept but it won't be enough for me to get it in my head so I would google around for blogs about the concept and do the examples in those blogs. Here's an example of me practicing the GenServer concept (https://github.com/mythicalprogrammer/elixir_genserver_pract...). I also find code reviewing of library very helpful in writing better code. I used to do this with Scala and Javascript.

Most of the stuff I've learned is on my free time and something I'm passionate about. Currently it's Elixir. I spent sometime reading and then did a project. Currently burnt out from the project but I learned a lot and I'll come back to it.

I know many people just jump in and do stuff. What works for me is to read a bit do project then read a little bit more. My elixir project went through 3 authentication systems btw. I started with Coherence then Guardian then Coherence and now POW. I relearn session and learn a bit more about tokens and API.

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

#63
- online curses

- hours of youtube conferences

Sometimes learn is impossible at work, or...

i had and experience... i was working for a bizarre company, the culture was very far from what i could consider decent, in some cases they were toxic. Nobody could understand what i was trying to say/do. MSSQL, C# and other very cool stuff.

But wait... they weren't able to understand what i was doing but... i was able to understand what their business was, their special use-cases, their customers and requirements.

Those moment are in the past now. But i learned a lot from people that could not understand me, having a completely different background.

Everybody can teach us something...

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

#64

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...

++ to this. Experience is the best teacher, though I think it widely depends on the person learning. Some individuals will learn well from others' whereas others really need to feel the fire to know why it's hot.

This, of course, coming from a person with burn marks :)

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

#65
I don't think this will help tremendously, but don't feel frightened if there is nobody to mentor or push you. When I started fresh from college (although that is some kind of experience), I found myself in a small start-up with 4 people, one of which was my good friend, but we were not leaders, just executors. The owner was the business guy, with little technical knowledge. Nevertheless, we pushed on hard. Learned ourselves (each of us four had little overlap, we interfaced). And you know what, although I felt lost and disoriented, I learned a lot, in perspective. Partially because I was inexperienced, but everything we did was quality, I must say.

Some years after I got into a company where everyone was much more experienced, and with mentors and all that. You know what? I become a mentor to most of them in a matter of months... Don't know how it happened, but it turned out that I've proven more agile.

Now I'm in a much more experienced and serious company, and now I do have seniors than myself. That helps a bit by helping me differentiate valuable from invaluable knowledge. But again, if you don't push yourself, no body will instead of you.

I'm not that experienced, it was only 6 years since I graduated.

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

#66
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.

Using source control is basic and vague, the specific practices around it you might be tempted to call an education are just as subject to getting lost in dogma vs. developing personal wisdom as anything else.

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

#70
I suggest:

1. Read - books and articles about what you are doing

2. Go to conferences and meetups and ask questions

3. Make learning and self-mentoring part of your daily flow

4. See mistakes as learning opportunities and get your team to see it the same way, talk about mistakes with your team

5. If possible, find someone to mentor you externally, maybe even just an hour or two a month, just to ask them questions

Learn how to learn and how to figure things out. A mentor is there for perspective and pointing you in the right direction. Working with other like minded people that can help you at least think of things from a different perspective can go a long way.

Post reply on HN