Live data from Hacker News

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

news.ycombinator.com

51–60 of 209 posts

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

#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?

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

#52
post #36

Earlier quoted context omitted.

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?

someone who despite having been in the industry many years, has only learned more and more jargon, but not technical skills. So they sound almost like the experience they have counts, except when you put them next to someone with the same level of experience and stronger understanding, the difference is obvious.

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

#53
Adding on top of what others have said..

* Switch job to a place where you can be pushed and mentored

* Make a lot of mistakes, but be sure to learn from them

* There are so many amazing books where the authors shared their mistakes/experience and how they made things better

* It's often much better to slow down and get things right by researching, discussing and prototyping than rushing and having to rebuild it a few times or maintaining shitty code.

* Try to think of the 10X when working on something. Of course, optimize for the current spec, but what happens if you get 10X more loads/users? Is there a way you can make it work for that use-case with roughly the same time? Often, the answer is yes by using a well-tested library and better tools. Ironically, sometimes being forced to think at a bigger scale makes you realize that your solution wasn't that great after all.. and that this problem was already solved.

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

#54
> So my question is: What is the best way for me to go about learning best practices in API development, or using MongoDB, or even just being a better software developer in general?

The path to enlightenment leads through suffering. I particularly like "Why I stopped using X" or "X sucks" or "Pitfalls when using X" kind of blog posts. Browsing Stackoverflow to see what kind of issues other people run into also can help sometimes. Focus on the negative. If nobody complains about it, it's probably not a real problem.

That's also why I'm often skeptical about so-called "best practices". It gives people excuses to do questionable busywork passed off as "polish". Real work is not about getting an A+ with a smiley face, it's about choosing the trade-offs that provide the most value. That implies cutting out a lot of "nice" things that aren't strictly necessary.

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

#55
In general I think it's good to be in touch with communities centred around your language and framework to get a good idea of how people are solving similar problems to yours. Things change so much over the years and there are multiple ways to solve the same problems that you won't get from just reading official documentation. Once you get a sense of the general playing field you can deep dive into certain topics.

I can't speak for other languages and frameworks but I know with Android Development it's useful to keep an eye on the subreddit (https://www.reddit.com/r/androiddev/) to see what the latest general consensus is with libraries and frameworks. There's also a #android-dev channel on Freenode IRC that I dip into from time to time. Meetups are pretty good too, and people tend to enjoy conferences although personally with my poor attention span I tend to switch off. There's a weekly newsletter as well which I find really useful (https://androidweekly.net/).

No idea what the equivalents would be for Node + Express and MongoDB but I'm sure they exist :).

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

#56
post #36

Earlier quoted context omitted.

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?

One definition: A developer who joins a team, builds out a product, and then leaves for a new job after a couple years. They don't stick around long enough to see their code become legacy, and then get replaced.

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

#57
Books. IMO, Books is the best way of aquiring knowledge.

It’s dense and visual. It’s also more carefully crafted and corrected through time then say blog posts, online videos or podcasts. Compared to a coach or a teacher, you also are getting the actual root of the information and not a distilled and approximate version of it. Even when the person teaching is the one who actually wrote the book!

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

#59
post #36

Earlier quoted context omitted.

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?

“One year of experience ten times” is shorthand for repeating the same banal tasks over and over and never increasing your skillset. Versus “ten years of experience”, indicatig 10 years of varied tasks, increased responsibility, increasing your skillset etc...

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

#60
There are three ways of learning

1. by doing a job and making mistakes

2. by studying theory

3. by observing how more experienced colleagues do a job that is very similar to yours (design review, code review, pair programming, daily conversations)

You are already using the 1st way.

You definitely can use the 2nd way by reading books (Martin Fowler, Bob Martin, Eric Evans, Kent Beck etc.), watching some video courses, reading code of open source projects, etc.

But in your case it is almost impossible to use the 3rd way. And as for as I know the 3rd way is far more efficient then others. I would propose to quit the job where you can't use the 3rd way.

Post reply on HN