Live data from Hacker News

Ask HN: Programming Courses for Experienced Coders?

news.ycombinator.com

101–110 of 192 posts

Re: Ask HN: Programming Courses for Experienced Coders?

#101
post #52

It's not Elixir, but I'm working through Jeremy Koppel's "Advanced Software Design Course". I've been coding for 22 years and it is definitely growing me. https://www.mirdin.com/

I'd also recommend Mirdin. I did a short interactive course a while back, and I'm considering doing the full interactive course soon.

Re: Ask HN: Programming Courses for Experienced Coders?

#102
Here's a "life hack" - get a good book that doesn't make any assumptions about your background but otherwise goes deep, and then use an LLM's "talk to pdf" functionality (e.g. via the paid ChatGPT subscription). You can then describe the LLM your particular background and ask it to walk you through the book while skipping through "the boring parts" you are already familiar with.

Re: Ask HN: Programming Courses for Experienced Coders?

#103

Hello, recently I've enjoyed Casey Muratori's Performance-Aware Programming course[0]. You could read Algorithms for Modern Hardware[1] to learn similar set of stuff though. Casey's course is aimed at bringing beginners all the way to a nearly-industry-leading understanding of performance issues while the book assumes a bit more knowledge, but I think a lot of people have trouble getting into this stuff using a book…

I was going to say check out something from Casey too. Maybe just randomly jump into one of the 600+ videos for handmade hero and try to see what he's doing. I think Casey is a great educator, even if he has a lot of hot takes.

Re: Ask HN: Programming Courses for Experienced Coders?

#104
Lately, I have been struck by pragmatism of approaches discussed in https://clojuredesign.club/

For example, one can start separating pure functions from side-effects, aiming for aggressively minimal side-effecting functions. Applying this approach to calling REST APIs, one would first create a full request (including the http method, body, headers, etc) in a pure function, and only then send that request to the wire. With such a split, one can easily unit-test the request construction (it's a pure fn), and also explore the request.

It was mind-bending to me when I first heard it. The podcast is full of such approaches and it seems that Chris and Nate, the hosts, have quite some battle scars to source from.

Re: Ask HN: Programming Courses for Experienced Coders?

#105

I've taken 2 of David Beazley's courses.[1] And, I highly recommend them. If you haven't seen some of his talks, he's very good at explaining things by building them from nothing. I took 2 courses: "Rafting Trip" and "Write a Compiler". Both were awesome. The Rafting Trip took us through implementing the Raft consensus algorithm from scratch. And the "Write a Compiler" course had us build a small language using LLVM.…

I enjoyed the "Rafting Trip" as well, side tracking a bit, anyone have course recommendation for ML ranking and ML recommendation courses or probabilistic data structures and algorithm (for example, bloom filter, Freivalds' algorithm that make multiplying matrix to O(n^2) etc.... etc)?

Re: Ask HN: Programming Courses for Experienced Coders?

#106

There is a general lack of advanced materials in software engineering. This is one area where market economy works against common good, unfortunately. People who have the knowledge and want to capitalise on it are highly incentivised to preparing beginner level materials and maybe a tiny bit to prepare the something for people who already have a bit of knowledge. After that, the number of people who are your potentia…

I highly disagree. There's a huge amount of material out there for advanced software engineering. The problem is this material is exponentially harder and most programmers aren't interested in this stuff.

What OP is talking about is essentially learning a new language which is sort of trivial and not advanced. It's sort of a parallel track and he likely wants something that doesn't start at the very beginning. Something called: "Learning elixir for experienced programmers". This kind of thing isn't "advanced". It's more like "convenient". Most programmers spend there entire careers in this zone just learning new languages and new technologies. They are sort of moving horizontally through the field rather then upwards.

True advanced stuff is hard af, and the more advanced you get the less and less relevant it is to your job.

Re: Ask HN: Programming Courses for Experienced Coders?

#107

There is a general lack of advanced materials in software engineering. This is one area where market economy works against common good, unfortunately. People who have the knowledge and want to capitalise on it are highly incentivised to preparing beginner level materials and maybe a tiny bit to prepare the something for people who already have a bit of knowledge. After that, the number of people who are your potentia…

> People who have the knowledge and want to capitalise on it are highly incentivised to preparing beginner level materials and maybe a tiny bit to prepare the something for people who already have a bit of knowledge. After that, the number of people who are your potential target drops off sharply and you would have to increase the price dramatically.

I think, even aside from the incentives, its a matter of interest and time. Earlier in my career, when I was learning at a rapid pace, I also had the time and motivation to write blog posts about what I discovered, as did many of my peers. Its also easier to write about beginner concepts, because they're simpler.

As I've advanced in my career, the things I'm learning and doing are more and more complicated, and/or require much more prerequisite knowledge. Not only do I have less time, there's also a corresponding increase in difficulty in writing concisely and coherently about the more advanced concepts.

About once a week I read a blog post in a field I'm familiar with, and recognize it as something I myself would have written 10 years ago. But I also now see in it the potential problems and pitfalls, and tweaks to make to avoid them. I think to myself "I should write a blog post about that", and sometimes even jot down some notes or a draft, but the topic is just so complicated, and the potential problems so subtle, that it takes a large amount of effort just organizing it, and I get bored/distracted and move on, never finishing it.

Talking to those same peers now, they feel much the same. And even with the experts that do manage to write about expert topics, that's become their full time job. Then after a few years of full-time writing instead of full-time doing, I find when they write about a topic that I've been full-time doing while they were writing, there's gaps in their knowledge or new techniques and tradeoffs they've missed.

I don't know how to solve this problem, except maybe figure out a way to give the knowledgeable experts a sabbatical or something, where they can take a break and write. Good luck getting a startup to agree to that, though.

Re: Ask HN: Programming Courses for Experienced Coders?

#108
post #104

Lately, I have been struck by pragmatism of approaches discussed in https://clojuredesign.club/ For example, one can start separating pure functions from side-effects, aiming for aggressively minimal side-effecting functions. Applying this approach to calling REST APIs, one would first create a full request (including the http method, body, headers, etc) in a pure function, and only then send that request to the wire…

I'm intrigued. Could you provide some pointers on where to start at https://clojuredesign.club?

Re: Ask HN: Programming Courses for Experienced Coders?

#109
This is something the computer security industry is great at [0][1] that the software industry really needs to catch up on. I would love a weekend to week long course on writing an SMT solver, building a 2D game, training a neural net on custom data, modern C++, peer to peer networking, integrating the lightning network into an app, building a darkweb application, etc. I have not seen many options for that.

Two free resources are Karpathy's neural net zero to hero [2] and Gamozolab's fuzz week [3]. Even just recordings of people who are top in their domain writing code are so useful.

0. https://ringzer0.training/index.html

1. https://www.blackhat.com/tr-24/training/schedule/index.html

2. https://karpathy.ai/zero-to-hero.html

3. https://youtube.com/playlist?list=PLSkhUfcCXvqH2sgJa8_gnB41_...

Re: Ask HN: Programming Courses for Experienced Coders?

#110
https://www.destroyallsoftware.com/screencasts are classics and the content and presentation have aged quite well over the years.

The topics demonstrate intermediate/advanced web development/tdd concepts in Ruby but the lessons can easily be applied in other languages. There are even a few videos that show this approach with Python and C.

Post reply on HN