I generally don’t post “opinions” on the internet, but this thought provoking tweet by Ashley McNamara did trigger… well, a bunch of thoughts!
Also, this topic of “Content” (developer facing tech content in my specific case) is quite relevant for someone like me who has been doing this (mostly in form of blogs and sometimes short e-books) long before it was my day job.
So here it goes….
Please, don’t underestimate or downplay beginner content…
Let’s not forget that we were all beginners once and “getting started” content is as important as anything else. Think of the audience: a potential customer experimenting with your product, a developer trying to use your API, a potential maintainer trying to wrap their head around the “contributor guide” for an open-source project — all of them need “beginner level” material which make or break the experience.
Content for beginners is invaluable, and it need not always be a blog post or video. Other relevant forms of content include great documentation (for your products), a code sample demonstrating idiomatic usage of a SDK or API etc. All of them need to high quality, clear, easy to follow.
Having said that, here are some additional thoughts:
Do you need to have “deep expertise” to create beginner content?
So, personally, I don’t think one needs to be an expert to produce content for beginners. In fact, beginners can do it as well — sometimes this can be ideal! A beginner in some area might be an expert in others. While this person is trying to come to grips with a topic/tech, he/she/they might be able to better address the needs of “fellow beginners” while the context and experience is fresh.
For example, I’ve see a lot of people who live streaming on topics which they are still learning. It’s a great experience to see how they go about things — “learning how to learn”.
Hats off to you folks!
Beginner content in which area?
For certain areas/topics/technologies, even beginner content might be hard (compared to others). Here is my list: certain programming language concepts (such as concurrency, generics etc.), CAP theorem, distributed consensus protocols (raft, paxos), specific Kubernetes topics (such as networking, Operator development etc.)
Creating beginner content in these areas is quite a task!
For e.g. check out this staggering 19-part blog series (which I don’t think is complete yet!)
Many Nodes, One Distributed System
Vaidehi Joshi Originally published at Medium on ・7 min read They say that no man (or woman, or person, really) is an…
… or Go by Example — yes, it is “beginner” content!
Go by Example
Go is an open source programming language designed for building simple, fast, and reliable software. Go by Example is a…
To provide a counter example, I shamelessly admit that I’ve given up on
Rust multiple times due to lack of material on topics such as
async await, lack of examples/guides on certain drivers/SDKs etc.
Not all beginner content is the “same”
(Potentially) Unpopular opinion ahead!
You also need to understand that unlike advanced level material, beginner content is more likely to redundant, repeated, etc. If you are into producing beginner level content, I would highly encourage you to carefully examine whether that area has already been covered extensively by other folks in the community. e.g. “Deploying your [insert favourite language here] app to [insert favourite cloud provider] using [insert favourite DevOps/CI/CD tool here]”
What I am saying is, try and figure “what kind” of beginner content might be “missing” in that specific area, which can add real value. I would suggest trying to add another dimension to it e.g. is there a caveat which you think needs to be highlighted? or that weird exception you ran into? lay stress on that part. Help uncover that corner case — yes, they exist for beginner level topics as well and are “instrumental in keeping people from quitting” as rightly pointed out by Dona Sarkar!
But, if all you do is just repackage something which has been repeated over and over and over again (doesn’t matter if its an awesome live stream about “Deploying your hello world app on kubernetes using minikube”), just to gather clicks, followers and what not, well, I don’t know what to say honestly!
PS: I want to be upfront about it and admit that I have been guilty of this as well.. hey I am human!
Of course, there are exceptions to this rule.. say, for example, you’re just getting started with blogging, by all means, use areas you’re comfortable with to ease into the process, even if it means posting repetitive “beginner” content.. Power to you!
That’s it.. For a change, I shared my “opinion”. Feels refreshing!