My job doesn’t require me to code every day. Still, I enjoy building my blog and putting together some Python and Ruby scripts to assist me with my daily tasks of reviewing thousands of sites in the ad network I manage.
Being in this position means I can relate to the struggle of people learning programming in the first place because I spend most of my time trying to set up a project correctly.
There is one habit you must nurture to have a higher success rate in troubleshooting any problems you encounter during this learning journey.
Be extremely good at reading documentation and asking questions.
Most of the open-source projects have half-baked documentation. You rarely find beginner-friendly documentation because they are written with the assumption that you have a basic understanding of software engineering. If you’re lucky, you will encounter documentation that can guide you from the start to the end to set up the project.
Sometimes you might miss the packages you need to install before running the project. You might be using the wrong version of Ruby on your system. You might don’t know how to start some services in the background. It’s perfectly normal.
Here are some practices I follow whenever I feel stuck.
Reading the documentation is the best place to help you identify which pieces of information are missing. Can you run the project by following the guide written in the documentation? Does the repository have a README?
Those are the missing gap of knowledge that you need to acquire before you can follow the documentation.
Not knowing what you don’t know is the main reason you feel stuck. You’ve written down what you don’t know in the previous steps. The next step is to fill those missing gaps by learning about them.
For example, to run most web projects, you will need to know how to use package managers such as Yarn or NPM. If you’re unfamiliar with the concept of package managers, you want to watch the introduction videos on YouTube. Then, understand the basic idea of why they are built so you can have an easier time implementing them later on.
There are many tools to configure, develop, and deploy the project efficiently. Take one step at a time to fill those missing knowledge.
Ask questions where people are building with the same tools you’re trying to use. I’ve found out that asking in the Discord community proves to be the fastest way to receive an answer. We struggle because we’re not familiar with the setup, but those in the community have gone through those before and written down their best practice to set up a project. If you decide to ask in the community, make sure you follow these practices:
Sometimes an error can be caused by the updates of third-party packages. Check the error log and identify the package that is showing the error. Then, visit the related repository and search for the error.
You can also post your question in the official repository to seek help from the community. The same rules apply:
If you keep following the practices above, I’m sure you will see significant progress in learning a new language or even setting up a project. You will notice that you get better at choosing the keywords to search. You will notice that you get better at asking questions. Finally, you will realize most people want to help you become a better developer, but you must first become someone worth their time.