Live data from Hacker News

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

news.ycombinator.com

181–190 of 209 posts

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

#181

Earlier quoted context omitted.

Not crazy at all. Problem is YouTube only goes to 2x

Highly recommended: Video Speed Controller. Firefox: https://addons.mozilla.org/en-US/firefox/addon/videospeed/ Chrome: https://chrome.google.com/webstore/detail/video-speed-contro...

A fantastic app. It saves your preferences across all embedded video formats too (bar a very select few - looking at you Crunchy Roll) which means which means you don't need to reset your speed to 2x every time you delete your cookies/cache, or visit a new website!

I watch all my videos at 2x speed now and I was shocked how much time I saved. It no longer takes me most of the night to work through my YouTube notifications, and has left me so much more time for project work during the week.

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

#182
I love this question, but I would like to extend it a bit. Even though the body of the question the OP asked is about software dev specifically, how do you learn other non-software dev best practices when no one is there to teach you?

Specifically, how do you learn how to build a company around your product? Or how to build a board of advisors/directors? What are the best practices around managing those?

How do you shift your cash flow management thinking from spending out of the reserves built up, to spending out of future cash flows?

In other words, aside from building product, there are so many other skills that a founder has to learn as they grow their company. I assume most YC companies learn this stuff from YC or their batch mates that have done it before them.

But for those of us not in the Valley or in YC, how do we learn this stuff?

Also, I guess the main premise behind my question was how do we learn best practices in company building in general? Ie how do we build the machine that builds the machine using best practices for everything, or as many things as possible (for both tech and non-tech companies)?

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

#183

I did a quick control-f "read" and almost everyone is telling you to read books or articles about best practices. That might be useful once as a highlevel overview when getting started on a topic, but my personal advice is to only do that briefly. You'll get the most bang for your buck READING CODE. There is no better way to improve as a developer than reading good code. Reading articles and books will teach you thin…

How do you learn to read code without guidance and without getting lost? How do you keep your thoughts organized? At each step, how do you confidently decide where to go next? ——— I’d like you to take as given that I’m reasonably intelligent — I graduated from MIT and have been working as a software engineer for 6 years. Yet when I sit down to read https://github.com/cypress-io/cypress or https://github.com/webpack/w…

I have the same problem. Every now and then I find some interesting OSS project I want to contribute or understand at a deeper level, but it's really hard to start doing something on it if there isn't an updated guide for contributors.

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

#184

Earlier quoted context omitted.

I'm glad to hear I'm not the only one who watches YouTube presentations on 1.5-2x speed. I mentioned that at work once and people looked at me like I was crazy.

Not crazy at all. Problem is YouTube only goes to 2x

You can use console in browser to control playback rate: 1. select video element with: $('video') 2. than set playbackRate property on it

example write in console: $('video').playbackRate = 3; (and playback rate would be 3x) Works with rates between 0.0625 - 16.0(tested in Chrome and FF).

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

#186

I did a quick control-f "read" and almost everyone is telling you to read books or articles about best practices. That might be useful once as a highlevel overview when getting started on a topic, but my personal advice is to only do that briefly. You'll get the most bang for your buck READING CODE. There is no better way to improve as a developer than reading good code. Reading articles and books will teach you thin…

How do you learn to read code without guidance and without getting lost? How do you keep your thoughts organized? At each step, how do you confidently decide where to go next? ——— I’d like you to take as given that I’m reasonably intelligent — I graduated from MIT and have been working as a software engineer for 6 years. Yet when I sit down to read https://github.com/cypress-io/cypress or https://github.com/webpack/w…

Great question. This question itself is worth a separate thread.

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

#187

I did a quick control-f "read" and almost everyone is telling you to read books or articles about best practices. That might be useful once as a highlevel overview when getting started on a topic, but my personal advice is to only do that briefly. You'll get the most bang for your buck READING CODE. There is no better way to improve as a developer than reading good code. Reading articles and books will teach you thin…

How do you learn to read code without guidance and without getting lost? How do you keep your thoughts organized? At each step, how do you confidently decide where to go next? ——— I’d like you to take as given that I’m reasonably intelligent — I graduated from MIT and have been working as a software engineer for 6 years. Yet when I sit down to read https://github.com/cypress-io/cypress or https://github.com/webpack/w…

I've spend my career reading code. I find it particularly difficult without guidance. I would recommend using some old school technology (pen/pencil and blank paper) and draw diagrams, write down every question and observation, notes. Others may recommend using some digital tool, but be mindful how much energy you spend organising your thoughts, drawing with a digital tool. If your goal is to understand a software, then don't waste time creating beautiful documentation first.

It is also important to have a clear goal. Let's say you want to understand how webpack starts up, or how it does a specific feature. Make this question your main concern and don't wander around. Don't try to understand everything at once. Divide and conquer.

It is also useful if you can ask questions, but please spend some time coming up with a theory first why things are the way they are. Formulate a hypothesis (e.g. "this piece is necessary because it handles an edge case", or "this piece of code looks uglier than the rest, is there a reason?") and try to prove it. If you can engage with the community, the better, but please don't outsource your "thinking efforts" to other project members. You can't learn how to reason about code, if you don't reason.

The most important one: be humble. Just because you would've solved a problem differently, it doesn't mean that the code is bad. Don't spend time judging the code. You are there to learn from others, so be open to other solutions. Whether it is a good or bad example is so difficult to judge... be patient and you will realise what kind of code is easy to understand. Once you have some idea, take that knowledge to your next project. This may take weeks/months/years depending on the project size.

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

#188

Conference Youtube videos. They are a goldmine of useful tips and tricks. Go look for videos from the Node [1] and MongoDB [2] conferences and you will find tons of war stories and what is actually working for people. Using this option arguably connects you directly with some of the best people in the world who are actually using this stuff. ps. using the youtube 2x playback speed option can really help digest lots o…

Yes! Videos are the best.

Two things:

1) Sometimes it can be hard to find good YT vids, especially a series of vids that will deep dive into the topic you care about. Maybe sign up for an online course where there videos of the instructor coding in real-time and address things in detail.

That will definitely give you a place to start with someone who has actually professionally done things you’re doing according to some best practice.

2) After you’ve got an idea of what you think is best practice, even if you have lots of questions remaining, just keep moving ahead with your project with a focus on making sure your API successfully does what you plan for it to do.

it’s not possible for you to know all the best practices, especially in isolation, and still be productive. you have to get your work done, and some of it is just going to be terrible. It’s possible that you may end up with a lot of tech debt that requires time to go back over it to refactor, but what does your boss expect if you’re alone and making the whole thing by yourself?

Unfortunately, you have to meet your timelines, so compromises must inevitably be made. More could be said about this, but i’ll leave it there.

Also, overtime, you will start to see what the better way to implement things are, as you continue building out features and run into use-cases you might not have thought of previously. The videos and documentation you read later on will make more sense since you have a framework in your mind of how the patterns get used or implemented in code.

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

#189
post #52

Earlier quoted context omitted.

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.

Sometimes there is a mismatch between seniority and experience.

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

#190
Direct your learning by what you need for your work. You can watch videos on the frameworks and tools you're using, read blog posts on issues you might have etc.

After you have some more experience (and confidence) start reading books. Your first one should be Code Complete 2.

Post reply on HN