> How do junior developers level-up to get into private Slack spaces? Where do they learn from if Stackoverflow is hostile, Reddit is hollowed out, and social squares are empty?
Books seem to still work very well. I am not even sure all this social media learning was that much positive. A lot of it was based on trend chasing, shiny object syndrome and stuff like that in a completely a-historical context. It was always funny when some star social media coder re-discovered something that probably people did in mainframes before I was born and that you can find in a lot of books.
Yeah. Honestly my advice to a junior dev right now would be:
1) Keep up with the trends by reading hacker news. Be on the lookout for decent blog posts but ignore social media and most of youtube.
2) BUT your best bet for actually leveling up is reading these ten books I'll give you (Designing Data-Intensive Applications, etc. etc.), plus doing side projects to get hands-on practice.
It is, but it is way harder to self-promote yourself and derive other than intellectual satisfaction. It was not purposely built as a platform for advertising and branding like social networks.
You don't even have the dopamine hit of counting your content upvotes.
What do you mean? Every post and comment can receive upvotes, your account has total upvotes, the dopamine hit is there when you can simply look at the top of the screen next to your username and see the number go up after posting. There's even rewards if you make the number go high enough, such as being able to downvote and flag stuff once you reach a certain level.
I left it open-ended because it would somewhat depend on the junior developer's previous knowledge and their focus (do they have a CS degree? what topics do they want to go deep on in their career?)
* Nand2Tetris. Computers from first principles, often fills in a lot of gaps. Possibly preceded by Code: The Hidden Language of Computer Hardware and Software if they need even more grounding.
* SICP if I think they'd be ready for it
* Crafting Interpreters
* If they're working with Python I'd give them Fluent Python by Luciano Ramalho. For whatever other language(s) pick a book that allows them to go from intermediate to advanced in that language and really understand it inside out.
* Ousterhout, A Philosophy of Software Design
* Data and Reality
* The Staff Engineer’s Path by Tanya Reilly to demystify the upper IC track. Or The Manager's Path by Camille Fournier.
frankly terrible advice, especially now that this website is just AI News. If you want to be a better programmer, there are better places, but I'm not going to advertise them here because I do not want to infect them with the HN commentariat which is much too focused on trends.
Engineering fundamentals have not changed in decades. Screw trends, especially at the beginning.
Books written before 2022 are a good bet. Maybe the value of traditional education has also returned.
This website has always somewhat been about trends. Before AI it was the metaverse. Crypto before that. NoSQL before that. Rails before that. Arguably there's always the undercurrent of the cult of personality of PG. ...
I'm sure I've missed some things, I've taken more than one hiatus.
Nuance usually cannot be well conveyed in a blog post. Someone is always selling something. When something exists long enough the bullshit behind it is eventually revealed. Reality is messy and there's always bullshit hiding somewhere.
It doesn't mean HN is useless. I use it as a bellweather to see what other people are putting their attention on. I don't pay attention to AI other than what's on here. I mostly follow my interests, which outside my dayjob, is currently concurrency. But I don't write about it.
Ultimately the place to become a better programmer is behind a keyboard learning what works, what doesn't, where it does, where it doesn't, and why or why not. It's difficult to convey all the nuance in every decision which means most people never actually do it. Any post is dripping with assumptions. In my mind nearly any decision could be justified and would be surprised to find a place that actually attempts to teach these.
Rather than consuming media you're probably better off putting it out there and letting people tell you all the ways you're "wrong" (because they love to do that). Somewhat paradoxically I don't really follow my own advice, but that's humans for you.
I mean, the whole point of my post was to say that books are more useful than anything else, and it would certainly better to have access to 10 good books and no hacker news at all than the reverse. But I do think there is value in keeping an eye on trends. They shape our industry; you may wish they didn’t, I wish they didn’t sometimes, but they do. Obviously good fundamentals are more important, but I think it’s doing a disservice to juniors if you tell them to ignore the “commentariat” completely.
- Junior jobs become scarce. You either jump to senior very fast, or you are dumped out of the industry. The juniors that make it are those special unicorns that somehow learn everything about the job, including how to do it with AI, within a couple of years. There's a little bit of guidance, but mostly it's the kids who have good taste in blogs/books/videos that end up learning it all on their own. Also the kids who have the motivation to keep studying without a syllabus.
- Instead of junior devs, we just have domain experts who are crap at coding. Quants who can write a model in pandas, but when they venture offpiste, they get AI to build them a monstrosity. Working monstrosity, but if you could code, you would cry. This ends up happening in every industry: there's very few coders left anywhere outside of FAANG, everyone just does the modern equivalent of thinking Excel has solved their problem. Balls of spaghetti the size of which the world has never seen are written, hidden in various domains.
- Universities wisen up about how to teach people to use AI. Once upon a time, they used to teach you how to punch holes. Assembler was taught. Systems languages like c++. Java, JS, Lua. Kids who came out of these universities were somewhat ok for industry. Why not AI as well? There are going to be lessons learned roughly this decade that will be useful to teach the kids. What to tell the AI, what not to. How to leverage it to make the most progress.
Universities will (still) teach only part of the necessary tradecraft, but that fraction will include some basics for how LLMs can churn out dodgy prototypes. Junior/introductory roles will feature the crap-work of taking excel-esque monstrosities and making them marginally less-terrible.
Not obvious from the title, but this is a great post on why it's a terrible terrible time to be an entry-level developer right now:
* Job market sucks for junior devs due to the end of ZIRP and normalization of layoffs
* Dearth of good developer role models due to the "public sphere" getting worse (collapse of developer twitter community, rise of vacuous influencers). I'm a little skeptical about this one as I didn't really benefit much from these sources myself when getting into the industry. And there's always hacker news, which is doing fine!
* Loss of good mentorship opportunities due to rise of remote work
* AI tools are good for seniors who already know how to do things, but terrible for junior devs trying to learn. This is the forklifts metaphor. (And AI is probably not helping the junior dev job market either, although that was already bad for other reasons as mentioned above.)
I am truly worried about where the next generation of senior devs is going to come from. Some juniors, maybe 10% of them, will be fine no matter what: brilliant engineers who are disciplined enough to teach themselves the skills they need and can also adapt well to AI dev tools. I don't worry about them. But I worry about what happens to the median junior engineer, and consequently what our profession will look like in 10-20 years.
Am I the only one who, after reading the title, had to think of the funny classic "Forklift driver Klaus" short vid (which, with its very own kind of humour, shows WHY forklifts require training)?
A lot of the joke comes from the fact that the narrator uses "overly technical" terms that are common for work (safety) instructions, but are otherwise barely used in everyday speech - mixed with much more colloquial wording (also, of course, when the workers are talking).
This mixture of two very different language registers (words mainly used in technically precise work safety instructions vs. colloquial talk) is not represented in the English subtitles and thus removes a lot of fun of the original German short film.
all with you about the fact that it's even more funny just in German (i.e. without subtitles)…
but well, given that people understanding German are likely a minority here, I felt it was probably necessary to link to a version with subtitles so that it would be accessible to everyone here.
I find it at the same time bizarre and fascinating the number of people I used to work with who have become AI influencers on social media.. Some of them have gained really big followings.
Most of them were pretty middling developers when I worked with them... So I guess that tracks.
This is a terrific article the synthesize is several of the trends that have been at play the past five or six years. One interesting phenomenon of AI is that university enrollment and computer science is already falling. A lot. So if the AI promise doesn’t deliver (there are already signs), software engineering talent is going to cost a lot more than it did before.
When I think of a forklift, I think of a machine with wheels, that steers from the back. It has a hydraulic lift in the front, and you can attach things to it, like metal bars, for lifting pallets of stuff off the ground. And training is a pretty good idea because they don’t drive like cars, and it’s really damned easy to accidentally kill yourself or someone else with one.
Is this what this analogy is referring to? Because I read it and wondered - has this person ever been in a warehouse, or just seen one on TV? Or am I being dense and there is something else called a ‘forklift’?
> Or am I being dense and there is something else called a ‘forklift’?
Sort of. A drivable machine with rear steering and forks that raise and lower hydraulically with a propane engine or electric motor is a forklift, but there are other machines that can use forks to move pallets and material around.
Fork attachments exist for skid steers and tractors. There’s a piece of equipment with the trade name ‘lull’ (aka telehandler) that is a four wheeled vehicle with forks that is used to lift material.
Yeah, so are we talking about this generalized class of equipment?
Because if I am moving a load of bricks and a load of eggs from one place to another and I put the bricks on top of the eggs, how is the outcome different between hand-carrying vs forklift? And why is it the forklift’s fault and not my own?
> ~tech~ companies have largely forgotten that part of their job is to teach.
Honestly, you could stop right there. Everyone (everyone°) tries to kick the can of skills-acquisition onto someone else.
Ultimately, in a hyper-individualistic society, it lands on the "workers" entirely to educate themselves - as amply demonstrated by the comments in this thread. Unfortunately, that's not how humans learn best (some people, sure: a population massively over-represented on this board).
That this has become the general practice or expectation explains the gradual erosion of the "average" citizen's knowledge, intellect, and discernment. (More, perhaps, than social media - which is often blamed, and has played a role, but in my opinion has largely taken advantage of cultural incapacities which preceded it.)
But does this count as misleading title? I really expected an article about literal forklifts. Among all the AI craze these days, I was hoping for some real-world hands-on skill insights. The kind of thing hackers often can describe really well.
From that perspective, I got disppointed.
TL;DR: The article is about junior developers having a hard time in the current conditions shaped by remote work, AI and an abandoned Twitter.
Reminds me of how I used to take the forklift to move things I was too lazy to move by hand when I worked in a factory, even though I absolutely did not do the required training. It was a bit stressful but fun enough to be worth it.
> How do junior developers level-up to get into private Slack spaces? Where do they learn from if Stackoverflow is hostile, Reddit is hollowed out, and social squares are empty?
Books seem to still work very well. I am not even sure all this social media learning was that much positive. A lot of it was based on trend chasing, shiny object syndrome and stuff like that in a completely a-historical context. It was always funny when some star social media coder re-discovered something that probably people did in mainframes before I was born and that you can find in a lot of books.
Yeah. Honestly my advice to a junior dev right now would be:
1) Keep up with the trends by reading hacker news. Be on the lookout for decent blog posts but ignore social media and most of youtube.
2) BUT your best bet for actually leveling up is reading these ten books I'll give you (Designing Data-Intensive Applications, etc. etc.), plus doing side projects to get hands-on practice.
Hacker News is social media. It just lacks a pretty UI and is overall less vapid.
It is, but it is way harder to self-promote yourself and derive other than intellectual satisfaction. It was not purposely built as a platform for advertising and branding like social networks.
You don't even have the dopamine hit of counting your content upvotes.
I was under the impression that HN is at least as centered on self-promotion as any other social media site.
> You don't even have the dopamine hit of counting your content upvotes.
There’s a score displayed at the top right; I’m 100% that some percentage of visitors get a dopamine hit off that.
What do you mean? Every post and comment can receive upvotes, your account has total upvotes, the dopamine hit is there when you can simply look at the top of the screen next to your username and see the number go up after posting. There's even rewards if you make the number go high enough, such as being able to downvote and flag stuff once you reach a certain level.
oh no it's just as vapid lol, basically equivalent to LinkedIn and if you think otherwise you're deluding yourself
If I’m deluded, so be it, but I see a massive gulf between the content on LinkedIn and HN.
>these ten books I'll give you (Designing Data-Intensive Applications, etc. etc.)
Well don't leave me hanging boss!
I left it open-ended because it would somewhat depend on the junior developer's previous knowledge and their focus (do they have a CS degree? what topics do they want to go deep on in their career?)
But here are some titles:
* Kleppmann, Designing Data-Intensive Applications
* Nand2Tetris. Computers from first principles, often fills in a lot of gaps. Possibly preceded by Code: The Hidden Language of Computer Hardware and Software if they need even more grounding.
* SICP if I think they'd be ready for it
* Crafting Interpreters
* If they're working with Python I'd give them Fluent Python by Luciano Ramalho. For whatever other language(s) pick a book that allows them to go from intermediate to advanced in that language and really understand it inside out.
* Ousterhout, A Philosophy of Software Design
* Data and Reality
* The Staff Engineer’s Path by Tanya Reilly to demystify the upper IC track. Or The Manager's Path by Camille Fournier.
> BUT your best bet for actually leveling up is reading these ten books I'll give you
On the whole, junior dev-age people don't read books much. They read short-form stuff on screens.
The question was how to learn, the answer (one answer) was read a few specific known-good books.
"new devs don't read" is a non-sequitur imo.
If they want the info, they will, or not. The info is there. Take it, don't take it, what do we care either way?
> Keep up with the trends by reading hacker news
frankly terrible advice, especially now that this website is just AI News. If you want to be a better programmer, there are better places, but I'm not going to advertise them here because I do not want to infect them with the HN commentariat which is much too focused on trends.
Engineering fundamentals have not changed in decades. Screw trends, especially at the beginning.
Books written before 2022 are a good bet. Maybe the value of traditional education has also returned.
This website has always somewhat been about trends. Before AI it was the metaverse. Crypto before that. NoSQL before that. Rails before that. Arguably there's always the undercurrent of the cult of personality of PG. ...
I'm sure I've missed some things, I've taken more than one hiatus.
Nuance usually cannot be well conveyed in a blog post. Someone is always selling something. When something exists long enough the bullshit behind it is eventually revealed. Reality is messy and there's always bullshit hiding somewhere.
It doesn't mean HN is useless. I use it as a bellweather to see what other people are putting their attention on. I don't pay attention to AI other than what's on here. I mostly follow my interests, which outside my dayjob, is currently concurrency. But I don't write about it.
Ultimately the place to become a better programmer is behind a keyboard learning what works, what doesn't, where it does, where it doesn't, and why or why not. It's difficult to convey all the nuance in every decision which means most people never actually do it. Any post is dripping with assumptions. In my mind nearly any decision could be justified and would be surprised to find a place that actually attempts to teach these.
Rather than consuming media you're probably better off putting it out there and letting people tell you all the ways you're "wrong" (because they love to do that). Somewhat paradoxically I don't really follow my own advice, but that's humans for you.
I mean, the whole point of my post was to say that books are more useful than anything else, and it would certainly better to have access to 10 good books and no hacker news at all than the reverse. But I do think there is value in keeping an eye on trends. They shape our industry; you may wish they didn’t, I wish they didn’t sometimes, but they do. Obviously good fundamentals are more important, but I think it’s doing a disservice to juniors if you tell them to ignore the “commentariat” completely.
Possible futures in my mind:
- Junior jobs become scarce. You either jump to senior very fast, or you are dumped out of the industry. The juniors that make it are those special unicorns that somehow learn everything about the job, including how to do it with AI, within a couple of years. There's a little bit of guidance, but mostly it's the kids who have good taste in blogs/books/videos that end up learning it all on their own. Also the kids who have the motivation to keep studying without a syllabus.
- Instead of junior devs, we just have domain experts who are crap at coding. Quants who can write a model in pandas, but when they venture offpiste, they get AI to build them a monstrosity. Working monstrosity, but if you could code, you would cry. This ends up happening in every industry: there's very few coders left anywhere outside of FAANG, everyone just does the modern equivalent of thinking Excel has solved their problem. Balls of spaghetti the size of which the world has never seen are written, hidden in various domains.
- Universities wisen up about how to teach people to use AI. Once upon a time, they used to teach you how to punch holes. Assembler was taught. Systems languages like c++. Java, JS, Lua. Kids who came out of these universities were somewhat ok for industry. Why not AI as well? There are going to be lessons learned roughly this decade that will be useful to teach the kids. What to tell the AI, what not to. How to leverage it to make the most progress.
Perhaps all-of-the-above:
Universities will (still) teach only part of the necessary tradecraft, but that fraction will include some basics for how LLMs can churn out dodgy prototypes. Junior/introductory roles will feature the crap-work of taking excel-esque monstrosities and making them marginally less-terrible.
Not obvious from the title, but this is a great post on why it's a terrible terrible time to be an entry-level developer right now:
* Job market sucks for junior devs due to the end of ZIRP and normalization of layoffs
* Dearth of good developer role models due to the "public sphere" getting worse (collapse of developer twitter community, rise of vacuous influencers). I'm a little skeptical about this one as I didn't really benefit much from these sources myself when getting into the industry. And there's always hacker news, which is doing fine!
* Loss of good mentorship opportunities due to rise of remote work
* AI tools are good for seniors who already know how to do things, but terrible for junior devs trying to learn. This is the forklifts metaphor. (And AI is probably not helping the junior dev job market either, although that was already bad for other reasons as mentioned above.)
I am truly worried about where the next generation of senior devs is going to come from. Some juniors, maybe 10% of them, will be fine no matter what: brilliant engineers who are disciplined enough to teach themselves the skills they need and can also adapt well to AI dev tools. I don't worry about them. But I worry about what happens to the median junior engineer, and consequently what our profession will look like in 10-20 years.
I used to have a good cluster of twitter accounts to learn from for AI and programming but that has really fallen apart with the algorithm changes.
Am I the only one who, after reading the title, had to think of the funny classic "Forklift driver Klaus" short vid (which, with its very own kind of humour, shows WHY forklifts require training)?
* For those who wouldn't know it: https://www.youtube.com/watch?v=TJYOkZz6Dck
The English subtitles are in my opinion annoying:
A lot of the joke comes from the fact that the narrator uses "overly technical" terms that are common for work (safety) instructions, but are otherwise barely used in everyday speech - mixed with much more colloquial wording (also, of course, when the workers are talking).
This mixture of two very different language registers (words mainly used in technically precise work safety instructions vs. colloquial talk) is not represented in the English subtitles and thus removes a lot of fun of the original German short film.
all with you about the fact that it's even more funny just in German (i.e. without subtitles)…
but well, given that people understanding German are likely a minority here, I felt it was probably necessary to link to a version with subtitles so that it would be accessible to everyone here.
Anyways, here's the link to the vid without subtitles for those who understand German: https://www.youtube.com/watch?v=4lSBwF8ojVw
I find it at the same time bizarre and fascinating the number of people I used to work with who have become AI influencers on social media.. Some of them have gained really big followings.
Most of them were pretty middling developers when I worked with them... So I guess that tracks.
This is a terrific article the synthesize is several of the trends that have been at play the past five or six years. One interesting phenomenon of AI is that university enrollment and computer science is already falling. A lot. So if the AI promise doesn’t deliver (there are already signs), software engineering talent is going to cost a lot more than it did before.
When I think of a forklift, I think of a machine with wheels, that steers from the back. It has a hydraulic lift in the front, and you can attach things to it, like metal bars, for lifting pallets of stuff off the ground. And training is a pretty good idea because they don’t drive like cars, and it’s really damned easy to accidentally kill yourself or someone else with one.
Is this what this analogy is referring to? Because I read it and wondered - has this person ever been in a warehouse, or just seen one on TV? Or am I being dense and there is something else called a ‘forklift’?
> Or am I being dense and there is something else called a ‘forklift’?
Sort of. A drivable machine with rear steering and forks that raise and lower hydraulically with a propane engine or electric motor is a forklift, but there are other machines that can use forks to move pallets and material around.
Fork attachments exist for skid steers and tractors. There’s a piece of equipment with the trade name ‘lull’ (aka telehandler) that is a four wheeled vehicle with forks that is used to lift material.
Yeah, so are we talking about this generalized class of equipment?
Because if I am moving a load of bricks and a load of eggs from one place to another and I put the bricks on top of the eggs, how is the outcome different between hand-carrying vs forklift? And why is it the forklift’s fault and not my own?
A very good article, I’ve had similar thoughts, expressed them in conversations, but never written down anywhere.
> Mentor your junior colleagues, give them the space to learn and make mistakes.
I’d love to. My company stopped hiring juniors during the mini saas recession and then cursor launched. There are no juniors to mentor anymore.
Juniors nowadays are expected to perform senior work. It’s a recipe for disaster.
> I think junior developers shouldn't generate production code with AI.
> Other AI tools are fair game ("explain this code", "generate docs", "generate tests", etc.)
I disagree. Tests are production code.
In a reword I might have written to clarify "code that ships in production"
Michael, pop quiz: can you drive the forklift
I can and I have
> ~tech~ companies have largely forgotten that part of their job is to teach.
Honestly, you could stop right there. Everyone (everyone°) tries to kick the can of skills-acquisition onto someone else.
Ultimately, in a hyper-individualistic society, it lands on the "workers" entirely to educate themselves - as amply demonstrated by the comments in this thread. Unfortunately, that's not how humans learn best (some people, sure: a population massively over-represented on this board).
That this has become the general practice or expectation explains the gradual erosion of the "average" citizen's knowledge, intellect, and discernment. (More, perhaps, than social media - which is often blamed, and has played a role, but in my opinion has largely taken advantage of cultural incapacities which preceded it.)
--
°This includes [US] schools, by the way.
I liked the article.
But does this count as misleading title? I really expected an article about literal forklifts. Among all the AI craze these days, I was hoping for some real-world hands-on skill insights. The kind of thing hackers often can describe really well.
From that perspective, I got disppointed.
TL;DR: The article is about junior developers having a hard time in the current conditions shaped by remote work, AI and an abandoned Twitter.
Reminds me of how I used to take the forklift to move things I was too lazy to move by hand when I worked in a factory, even though I absolutely did not do the required training. It was a bit stressful but fun enough to be worth it.
Remember when USENET
Remember when mailing lists
never mind