Live data from Hacker News

Ask HN: As a self-taught developer, what are your self-directed learning tips?

news.ycombinator.com

41–50 of 72 posts

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#41
post #38

Ten years into my self-taught software engineer career I ran across a statement "if you aren't seeing problems in your work that can be solved by graphs (or any advanced algorithms really), then you are likely avoiding those problems." I thought he may be right, picked up an algorithm book and started a "coding club" at the company I was working at where we'd meet and go over the details of a specific algorithm. I be…

Also, check out all the free MIT OpenCourseWare CS classes. I listened/watched through a bunch of them a few times and then did some online exercises (leetcode, advent of code, hackerrank, et al) and it really helped me understand algorithms better and I also became a much better programmer for it.

I'd also suggest going through Network+ and Security+ study guides too. IDK if the certs are worth it because I haven't actually taken the tests, but the books alone taught me a ton of the important concepts at a high level.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#42

What worked for me: I started out chasing my curiosity: wanted to make a simple video game, so I Googled my way to one as my first real programming project. I think passion projects are the way to start, because learning programming is frustrating no matter what (but totally doable, and totally worth it). Some folks prefer guided courses; they're great, but they just don't work for me (I get impatient and bored). The…

I know it varies by topic, but my experience asking ChatGPT about things I already know about (eg a smattering of topics in algebra) was bad. Like, bad bad. It got the intuition completely wrong, and asking for more explanation just got you complete garbage that ignored everything except the most trivial cases. Just be careful for anything outside of a 101 class!

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#43

I have a CS degree, but I had to teach myself the theory due to my school's sad excuse for professors. Here are the two things I did that taught me the most about programming: learning how operating systems and programming languages work, and writing a raytracer and a software rasterizer. The former two put all my years of tinkering on computers into perspective. The latter tested my programming and problem solving s…

This x1000. Back in the 90's writing software 3d rasterizers was right of passage of sorts. Writing parsers and interpreters too. At least that was my impression. Doing "hard" things like this can be very illuminating, it's kind of a super power to know how these things work. "Pulling back the curtain" on things that seem like black magic before.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#44
Build hard things. Write a programming language, a text editor, a database. Also try and break things. For example how many requests a second can you run before things hang etc. Basically get out of web dev as I see many people just stuck there.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#45
post #38

Ten years into my self-taught software engineer career I ran across a statement "if you aren't seeing problems in your work that can be solved by graphs (or any advanced algorithms really), then you are likely avoiding those problems." I thought he may be right, picked up an algorithm book and started a "coding club" at the company I was working at where we'd meet and go over the details of a specific algorithm. I be…

This is a great comment. I was self-taught and then went back to school, so I have pretty good experience with both paths.

I hear a lot of time from developers "I never use those fancy algorithms!" or "I've never needed any math beyond HS algebra!" but I find that very often it's precisely because programmers aren't familiar with those solutions that they don't see the areas they can be applied to.

One of the biggest insights from my after-self-taught CS degree was that one class in particular stands out as a the dividing line between feeling knowledgable and not: Compilers.

To anyone wanting to improve their CS background: If you can't get back to school full time, try to audit a course on compilers (this is one area where having a structured course really helps). Pretty much all aspects of Computer Science are touched on in that one area: algorithms, data structures, graph theory, theory of computation etc. Plus it's just a lot of challenging programming to be done.

But once you see a high level program that you wrote compiled to assembly by a compiler that your wrote every piece of, you really feel like you understand both CS and software.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#46
I've tried a number of approaches but the one that has worked for me: try and build a software product / company with commercial application. Even if it doesn't work out the economic incentive of finding PMF will give you all the motivation you need to keep plugging away at learning whatever languages, frameworks required to convert your idea into a functional software product.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#47

I have a CS degree, but I had to teach myself the theory due to my school's sad excuse for professors. Here are the two things I did that taught me the most about programming: learning how operating systems and programming languages work, and writing a raytracer and a software rasterizer. The former two put all my years of tinkering on computers into perspective. The latter tested my programming and problem solving s…

This x1000. Back in the 90's writing software 3d rasterizers was right of passage of sorts. Writing parsers and interpreters too. At least that was my impression. Doing "hard" things like this can be very illuminating, it's kind of a super power to know how these things work. "Pulling back the curtain" on things that seem like black magic before.

I absolutely agree. You need to solve hard problems to strengthen your problem solving skills.

I want to implement my own interpreter next. I think I'm going to pick up Crafting Interpreter's whenever I feel ready to dive into my next project.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#48
I am self taught. Here are my personal laws of programming.

1. Own your environment. Make it yours and bend it to your will. The more you outsource that, like frameworks or state management or helpers the more you increase your tech debt and erode your pivot points.

2. Always preference durability over composition and composition over inheritance.

3. Always do more work up front than you need to if it means doing less work in the future.

4. What separates excellent developers from average developers is basic organizational skills.

5. Always select for simplicity and competence over compatibility and aesthetics. This determines capacity for critical decisions over institutional preferences.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#49

I have a CS degree, but I had to teach myself the theory due to my school's sad excuse for professors. Here are the two things I did that taught me the most about programming: learning how operating systems and programming languages work, and writing a raytracer and a software rasterizer. The former two put all my years of tinkering on computers into perspective. The latter tested my programming and problem solving s…

This x1000. Back in the 90's writing software 3d rasterizers was right of passage of sorts. Writing parsers and interpreters too. At least that was my impression. Doing "hard" things like this can be very illuminating, it's kind of a super power to know how these things work. "Pulling back the curtain" on things that seem like black magic before.

It's how I started too (before my CS degree). Ray tracing, fractals, IFS, demo scene effects. All good fun! Got me hooked. Now I write emulators for fun.

Re: Ask HN: As a self-taught developer, what are your self-directed learning tips?

#50
I am not “self taught” in the sense that I taught myself to code when I was young, and got a CS degree, and continue to learn new technology on my own , but I feel that the feeling you have is not related to being self taught or not.

When I turned 30-ish and had a kid and a wife and a mortgage… I lost a metric ton of interest in computers and computing. It happens. The truth is that software is a terrible time-sink and life is much cooler. To that end, a job is a job, and if your job is to pet puppies: after 40 years of work, you’re going to hate puppies.

Try to think about what you’re doing as providing for the people you love. Don’t think that the grass is greener on some other project. Try to become a true master of your craft. Stay up to date on your skills, without chasing the new-and-shiney framework or language. If you are still interested in professional growth: become a mentor, get into project management, start a side project.

For me, I doubled down on “just” being a C++ developer. I just don’t want to climb the corporate ladder. And, should my skills ever find a dead end, so be it. But, I doubt it. I just churn the tasks at the best pace I can maintain and do my best to focus my energy towards things that actually matter.

Post reply on HN