Have you recently heard yourself or someone else say that you cannot share knowledge because you are a beginner or junior developer? I hope to convince you otherwise.
To every developer who thinks they are too green to contribute and to every person I have had the privilege to tutor, this is for you.
Life experience and the vast field of IT
Let me get the most (and only) controversial opinion in this article out of the way:
There is a discrepancy between IT projects and Real Life; developers particularly suffer from this.
Hear me out:
Context: In short, how IT folks handle IT is typically unlike how end users do. Developers have better skills and hardware to achieve their goals. Plus, there is an over-representation of abled white guys in the field. (Nothing against abled white guys; there are just so many of you!)
Point 1: Unlike developers, the people who use IT solutions do not exist in a vacuum: every domain and every type of person comes into contact with technology. Ultimately, we (should) make software to solve problems for all these people, not only because it is fun to build.
Point 2: The IT field has so many aspects that it is impossible to be an expert on everything. Even senior people will have plenty of subjects they know little about.
See where I am going already?
You need insights from different people to deliver a well-rounded product to a client. Different in biology, social status, field of expertise, and interests.
Use your life experience and domain knowledge to make meaningful contributions from the start of your career!
Beginner insights are valuable
Whether they are inexperienced developers or new hires, beginners offer unique insights.
Experienced people suffer from the "Curse of Knowledge," which has a Wikipedia page explaining the phenomenon.
New people will question existing methods and reasons, especially when those do not make sense or lack documentation.
Beginners will also spend a lot of time searching on the internet and are likelier to stumble upon new solutions and technologies.
Want to modernize, simplify, or otherwise improve projects? Unleash new people on your codebases!
Do not be afraid of being the newbie; embrace it. Ask those questions, and make those suggestions. In the worst-case scenario, you will learn. In the best-case scenario, everybody learns.
Blogging as a memory bank
Blogging is one of the best ways to share information: You can consume an article at your own pace, save it , and share it.
We typically write articles explaining something we learned, sharing valuable insights, or describing a solved problem. Guess who spends an above-average time accumulating such information? Yes, beginners!
Many tutorials skip the basics, the actions that are so natural to experienced devs that we forget that those are not obvious. If you find such a gap, you can write something to clear that up.
I also use blog posts to supplement my memory (ADHD memory = Swiss cheese). Or did you think I know how to set folder-based file associations in Visual Studio Code by heart?
Write, even if you are the only one reading your blog. Search engines will pick up your article after publication, and your humble post might save someone years later!
Note: Please consider providing an RSS feed to your blog so people can follow your content without social media!
Meetups are great
If you are lucky enough to have local programmer meetups, I recommend you check them out. One website you could use is Meetup.com (not a sponsor).
No meetup is the same; finding people you vibe with may take a while. I particularly like the Django and Python communities, but I also had good experiences in other groups.
Many beginners think they are not good enough to join a meetup or are scared to look foolish. On the contrary, many meetup participants love new folks and enjoy helping them.
Attend those meetups! The worst thing that could happen is that the free food was the best thing about your evening. The best thing that could happen is something I will let you experience for yourself.
Disclaimer: Not every person will be welcoming or sympathetic, often for reasons beyond your control. There will always be people whose ego is greater than the room it is in, but do not let that stop you from attending exciting events!
The perks of being a speaker
Since not even seniors know everything, beginners can be speakers!
You can talk about a recently fixed problem, a new technology you learned about, workflows, and more.
There is something magical about being on the stage. You get to promote something you love, and people automatically assume you are an expert.
If you are anxious to initiate contact with strangers, you are lucky: people naturally float to speakers. You might not know who your fellow enthusiasts are, but they will remember your face from your talk and will find you.
Another perk of being a speaker is monetary compensation. Speakers (should) get paid for their efforts. Options could be free tickets, paid travel and hotel costs, speaker dinners, etc.
If you are low on funds or go to a country with higher inflation than yours (looking at you, Denmark), then being a speaker might be the only affordable way to attend.
Submit a talk proposal (or more than one; who will stop you?) and see where it takes you!
Publicity is visibility
There is something that blogging, attending meetups, and public speaking have in common: publicity.
I am not saying you should do any of these things for clout only, but you can reap the benefits of your online presence.
Potential employers will look at your materials and hopefully be impressed. At least they will see that you are willing to put in the effort to hone your craft and give back to the community.
Additionally, do not underestimate the power of meeting people in the field. Meetups often have anti-recruitment policies, making them great places to meet fellow developers from different companies informally.
Your blog and a bit of networking could land you your first job!
Learning from teaching
This bonus section contains a lesson I did not realize until later in my career.
I love training people. Seeing an inexperienced developer change into someone who can hold their own is so cool. But there is more to it.
Teaching is not only about sending information.
I can confidently say that teaching has taught me a lot as well. Why? Because it forces you to undo yourself of the Curse of Knowledge we learned about earlier.
A wise person once said that if you cannot explain a topic in simple words, then you do not understand it. Teaching requires you to find those simple words and return to the basics.
Teaching does not require you to know everything, however.
Unburden yourself of the thought that you must know every obscure detail of a topic to be able to guide others. Ironically, I find no better testament to my lessons than the pupil correcting me.
It does not matter how much experience you have in the IT field; everyone has something worthwhile to share.
Whether dipping into life experience, sharing insights from other domains, explaining how you learned new technologies, or asking the questions others forgot about, you have something to contribute.
By sharing information and teaching, you learn, expand your horizons, and become a better developer together with others caught in the process.
Hopefully, this article has inspired you to create your first blog post, send in your first talk proposal, or sign up for a meetup.
You can do it!
(2024-02-08; edit 001) In response to this article, I received a link to this fantastic article by Alex Molas called Nobody cares about your blog. He lists several arguments about why you should be writing, even if no one is reading.
(2024-02-08; edit 002) Juhis seems to have a blog post for everything. I enjoyed his article You should start a blog today.