558
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 25 Sep 2025
558 points (95.6% liked)
Programmer Humor
26629 readers
2522 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
If it's all gobbledygook to you, then you weren't the target audience.
Most developers are writing for developers who have approximately the same skill level and knowledge. The vast majority of tutorials out there are definitely not aimed at beginners. They're aimed at peers who know most of the same stuff, but want to broaden their horizons a little.
Now, if it were 95% easy to follow, and then there was one step that was only a few words long and made no sense at all, that would be the typical badly written tutorial. There are way too many tutorials that have a "rest of the owl" problem at some stage. I was trying to figure out how to do something today and I must have skimmed through 30 tutorials aimed at people roughly my skill level before I finally found one that explained the missing bit. That missing bit turned out to be pretty easy, but almost every thing I read just assumed people knew how to do that part, and focused in on all the wrong things.
As for actual tutorials for beginners, the biggest problem isn't that they're badly written. The biggest problem is that they don't exist. But, to be fair, they're actually really hard to write. Explaining things requires that you really understand them well. But, when you understand them well, it can be hard to put yourself in the shoes of someone who knows so little they don't even know what questions to ask. Most computerey things are complicated enough that by the time you feel confident enough to write a tutorial, you've forgotten what it was like to be a beginner.
I think you're correct about this, but I also think that's part of the problem.
On the one hand you can have technical tutorials for technical people, but to your point assuming the audience has the same skill level and knowledge is actually a mistake - no two people share the same same life, so while it's reasonable to assume a certain level of knowledge, you still need to consider that there may be gaps - small gaps but gaps all the same and that it's worth being explicit about things to avoid ambiguity. A common pitfall I see in a lot of tutorials or guides is not being explicit about file paths ("just add this to the config folder" - which folder? Where?), or not correctly steering the user towards the relevant documentation about configuration values while still expecting them to insert some config file specific to their system, stuff like that.
The other end of the spectrum - the beginner, to your point might not be the target audience but a lot of people don't realise that those folks exist. The absolute classic example I see of this is Linux for the Everyman - Lemmy is very big on promoting Linux and moving folks away from Windows/MacOS but there's a bit of a disconnect because a lot of tutorials exist that base level of knowledge that a complete beginner doesn't have. So they're both not the target audience but expected to learn that stuff - and of course it doesn't work and they stick to what they do know.
All this is to say, writing tutorials is a skill in itself and part of that skill is knowing who your target audience really is and knowing where your knowledge is his experience from working at something for so long or a basic level of understanding you expect a user to have.
This is one of the biggest problems with Microsoft documentation (and maybe other ecosystems too). Doesn't include any "using" statements in the snippet, leading to copying the code not working, because you don't know what DLL this is using. They talk about 2 lines, and show you 2 lines, but the 2 lines don't work without 1 or 2 other lines which they have left out. Happens every single time
Microsoft documentation never links to anything else at all. If you don't know how to do this thing they're talking about, well now you have to go find a Youtube by some Indian programmer about it
Yep. The man pages are so not user-friendly. I have always said that Unix is very powerful, but not the least bit user-friendly. Welcome to low adoption.
The article is by what appears to be a career writer who implies that developers should be doing their job, too. Not to mention this is mostly in unpaid FOSS. The author's method is tone deaf.
As for your response, while factually true, to your example: Lemmy users don't care that you use Linux. Lemmy users care that you're the type of person who will educate yourself enough to learn Linux.
Growth through learning, and part of that learning is figuring out the holes and filling them in. Heck, once Lemmy gets past that stage, we (and all those who took the plunge) will probably all move on to somewhere else.
Paid documentation writers at Microsoft are absolutely horrible at it too. That's why I can relate to the post so much
Beginners are the target audience for tutorials. Many tutorials are written in gobbledygook. See Microsoft documentation, which would've instead said GDG, and assumed you knew what GDG was.
If they had the same skill level and knowledge then they wouldn't need a tutorial to begin with.
And that's precisely the problem with the vast majority of tutorials.
Microsoft: Now all you have to do is add in a GDG
Now imagine reading Mircosoft documentation and not being able to find anything which explains what GDG is. Classic "rest of Owl".
No they're not. You include what the pre-requisite knowlege is, along with links to resources about the pre-requisite knowledge. See Creating MAUI UI's in C#
No, most of the time they're not. And you don't need to warn me that an "s" is coming.
Note that I said "approximately", not the identical level of skill and knowledge. It's written by a fooblorts developer who uses migwed and ghai and is now looking to connect suwdo with ugfest. If you're also a fooblorts developer who wants to connect suwdo with ugfest but you have no experience with that particular thing, then the tutorial is for you. It's not for someone who has never used any of those technologies and doesn't understand anything about them.
Ah, I can see you never write tutorials, nevermind then. You have no idea what you're talking about.
No idea what you're talking about.
In other words, you are a beginner with that particular thing.
It might be if that is what they are needing to learn. Reading tutorials is usually needs-driven. Think inheriting legacy code
You know that's what tutorials are for in the first place, right?
Ah, I can see you've never written any good tutorials
Says someone who just said someone with no experience at something is somehow not a beginner with it 😂
Beginners. It's a plural, there's no need for the apostrophe.
There's a difference between "a beginner" and "someone who is very experienced but hasn't done X". The post was about a "non-developer", not a "developer who understands and uses 90% of the same tech stack, but is looking to do something new related to it".
If it were aimed at true beginners it would be written completely differently. A university teacher preparing a lecture about shakespeare doesn't write the same lecture if their audience is a bunch of 5 year olds.
You know that's not true, right?
Ok, I fixed the typo.
If they haven't done X then they are a beginner at doing X - no difference - this is in fact the target audience for many tutorials. The other things which aren't covered in the tutorial you put in the pre-requisites.
and yet, a lot of tutorials written for developers who have used 90% of it are written just as badly, hence the huge upvotes.
That's the point! Many tutorials need to be written completely differently! 😂 For starters all of the ones at Microsoft.
That's because the course has pre-requisites that you must have passed before you can enrol in that course - if you don't, then you have to go study those things before you'll be allowed to enrol - and they are explicitly spelt out in the guide to enrolling, hence the professor can write the lecture safe in the knowledge that all students in his class have completed all of the necessary pre-requisites.
I know it's absolutely true. Even my threads on Maths are written with the assumption that the reader doesn't know all of the background knowledge (in fact are written quite intentionally for those who are being bullied by gaslighters, and they lack the proof to debunk them).