With all the tools and resources available to us in 2019, there’s no better time to be a developer.
In the 90s, self-learning wasn’t quite as easy since we didn’t have access to the resources we have online today. After I got the hang of my first snippets of HTML, I participated in forums, and email threads or ICQ chats to try and solve coding or programming problems I encountered. For its time, it was sufficient, but wasn’t the most efficient way of getting information.
Then came Web 2.0, Github and the mighty Stack Overflow.
Launched in 2008, Stack Overflow is an online platform where professional and enthusiast programmers post technical questions in search of answers.
Fun fact: 9.3 million users have provided 25 million answers to 16 million questions on Stack Overflow
In recent years, Stack Overflow has become the primary source developers and programmers turn to when they need help. Whether that’s finding a solution to a bug, venting their frustrations with certain frameworks, or sharing their experiences with the online community.
On the flip side, you also have professionals and more experienced developers sharing their expertise and providing answers on the platform.
Stack Overflow is a leader when it comes to understanding the developer ecosystem. It’s great for keeping up to date with which programming languages and frameworks are currently popular for development.
As great as it sounds, such an ecosystem only works if you have enough developers contributing to the platform. One of my personal goals is to teach others what I learn every day. In most cases, this leads to enforcing and solidifying the knowledge in my brain (and even sometimes find issues I didn’t consider in the first place). As it turns out, teaching is a very effective way to learn. I might not be that Stack Overflow Jedi who has over 10,000 points, but I’m active on the platform and can definitely offer some insight on how to get started.
So we’ve established the benefits of being active on Stack Overflow. Yet the prospect of getting started might still seem daunting for some. Let’s go ahead and address some of the questions and blockers you might have.
The “free time” myth
Most people assume that in order to build up a good reputation with enough Stack Overflow points, they have to dedicate an unreasonable amount of time. When you scroll through pages of detailed, articulate, long-form answers, I can see why that would be the perception.
However, this is not entirely true all the time. There are literally thousands of unanswered questions from beginners and junior developers, which are basic and straightforward. Sometimes, to provide clarification, only a phrase and a list of external links is sufficient to steer their attention in the right direction.
There are also times where an already existing answer can be a good response to a question. In that case, just pasting the link to that answer should be enough. The whole point is to help the person find the solution whether that’s a long form answer that requires a detailed explanation, or a simple link.
If you feel like writing an original response, then go ahead as it’s a great way to boost your knowledge in that particular subject. If it’s your first try, it will probably take more time than you think. But I promise that you’ll improve by the 20th attempt as you will establish a better flow of ideas.
But I feel I’m not experienced enough to answer questions…
All right. This is a fair sentiment.
If you feel like your knowledge is still not up to snuff to be shared with the community, then try to improve your skills in writing questions.
The great thing about asking questions is that:
1. You’ll create ample opportunities for others to brainstorm on various concepts.
2. You’ll get free edits and suggestions from people that have been a part of the platform for years.
3. You’ll get to know peers that are stuck on the same issue, and maybe even get into an internal chat with them.
4. You’ll get to polish up on your writing skills and become aware of the technical terms being used.
Remember to attach details! You are potentially using some other person’s time, so be clear and concise about the issue you’re facing.
Why should I care about giving back?
There are a few important reasons why you should care:
- If you take a slow-paced approach, you’ll eventually become a better leader in your work, and in a particular topic within this community.
- The final version of your work will be refined as a result of the back and forth in the community.
- You will start creating a library of responses and code snippets to share. This is particularly great to give back to the community or even cut time when doing the same task next time.
- By regularly asking or answering questions, your fellow developers will also develop interest and be inspired to do the same. Knowledge is meant to be passed on!
How should I start?
- A great way to start would be by reading a few articles in the Help Center. Some good examples are: Code of conduct, What topics can I ask about here? and Why is voting important?.
- Ask your first question. Don’t seek perfection or a minimum worded paragraph. In any case, your question will be moderated by more experienced people and will help you improve for the next time.
- If you already have a list of code snippets or a script you use regularly, search questions that would match your solution. Write a brief intro paragraph and link it using Gist.
- Find a question around a domain or topic you feel you can contribute to (if it’s an unanswered question, it will probably get more exposure). Try to answer it and see how it behaves in terms of upvotes and comments.
- If for some reason, you solved a question that you already posted (point 2), ANSWER IT. There’s a high chance people will bump into the same question over and over.
Stack Overflow is one of the main platforms where developers seek answers. This post serves as an example and hopefully a boilerplate to take a stab on others. Github and Quora are also sources of great knowledge, and of course, an open opportunity to boost your career and knowledge.
Never stop learning. Never stop sharing.