How to Learn New Technology With Stack Overflow
Marek Semjan
LearningStudyingTechnologyTips & Tricks
776 Words • 3 Minutes, 31 Seconds
2023-07-14 16:07 +0000
How to Learn New Technology With Stack Overflow
Introduction
Constant learning is important for anyone who works in technical fields, such as programming, software engineering, data science, or DevOps. Technical fields are very dynamic and new technologies (programming languages, frameworks, and libraries) are constantly emerging and becoming popular, and often replacing older alternatives. One has to spend a considerable amount of time learning (or at least watching the new trends) to stay on top of things. Therefore, it makes sense to pick up a couple of studying tips and tricks. There are many of them that promise to help with learning new things faster. In this post I’ll describe how to use Stack Overflow to learn new things.
How could Stack Overflow help you learn?
There exists a concept of “Learning by teaching”, which is a method of learning, in which a student is made to learn some topic and then prepare a lecture to teach it to other students1. One of the methods based on this concept was developed by a famous theoretical physicist Richard Feynman, and it is based on the following workflow:
- Learn the necessary minimum of information on a desired topic
- Try to teach it to someone
- Fill in the holes in your knowledge
- Review what you’ve learned and make your teaching easier to understand
You can use this method with a pen and a paper, and try to write an explanation of a topic or a question. Then try to formulate several questions that your student may ask. Also, identify the parts of the explanation that are not clear enough. Then you should write a new, improved explanation. If you want to, you can repeat these steps a couple of times to improve your lecture as much as possible.
When you think about it, on Stack Overflow people ask questions and expect explanations on various technical topics. Moreover, there are many other Stack Exchange for various fields, such as physics, chemistry, language learning, game development, and other, where people ask things regarding these fields. This is a great opportunity to practice “Learning by teaching”, and helping other people at the same time. Many times the questions are fairly simple and answers can be found in the documentation. Sometimes you may also need to make a simple proof of concept and test it, but not always.
How to learn with Stack Overflow?
As mentioned before, you will learn by teaching (or more specifically by helping people).
- You need to create an account on the Stack Overflow (or specialized Stack Exchange, e.g. Math Stack Exchange)
- When creating the profile select Tags related to the topic that you want to learn (e.g.
python
,flask
,jinja2
,postgres
,sql
), you may also want to add Ignored tags - Read the Stack Overflow’s tips on writing great answers
- Once you have an idea of how a great answer looks like, go to the “Questions” section
- Search for a “good” question that you may be able to answer (even though you’ve used tags, Stack Overflow sometimes shows questions that are not relevant, so you may also need to use the search bar, and look up the topic manually)
- Google keywords related to the question and try to find an answer in the documentation of specific technology (programming language, library, framework, …), sometimes you may need to do a couple of searches, or make a deeper dive into the concepts related to the question
- Use your research to write a detailed answer. Add references, links, and if applicable a minimal working example (code that can be run and does what is required)
- Check your answer and use Feynman’s technique to improve the answer
- Once you are satisfied with your answer, post it
- Repeat steps 5-10 until you gain a solid grasp of the technology you are trying to learn
Conclusions
In this post I described how to use Stack Overflow to learn new things by “Learning by teaching” method. The entire promise behind this method is that you are answering question related to the technology you are learning. You will need to learn various concepts to formulate satisfactory answer. Moreover, you will be exposed to real-world problems experienced by other people using this technology.
The only downside is that there is a barrier to entry: You need to have some understanding of the domain, and be able to use online resources to seek the answers. However, it is great for people, who already have some experience and know how to search information online. Besides that, you will help to make the world a better place by helping some poor strangers.
Sources 📚️
Wikipedia contributors. (2023). Learning by teaching. Wikipedia. https://en.wikipedia.org/wiki/Learning_by_teaching ↩︎