Articles /Pin to ProfileBookmark

Things you can do if you feel stuck while learning how to program

Mar 23, 2022  •  @sayzlim  •  7,000
Copy linkTweet this

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.

1. Read The Documentation

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?

  • Note down the errors you’ve encountered.
  • Note down the jargons that you don’t understand.
  • Note down the instructions that you’re unable to comprehend.

Those are the missing gap of knowledge that you need to acquire before you can follow the documentation.

2. Fill The Missing Gap

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.

3. Join a Discord/Slack Community

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:

  • Be respectful and patient. Members are not obliged to answer your questions immediately. Be cool even if you don’t receive any replies.
  • Share the screenshot of your error when posting the question. Explain what you’ve tried to resolve the errors.
  • Keep researching how to solve your issues. Then, share the result with the community if you’ve found the solution from your research.

4. Participate in Official GitHub Repository

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:

  1. Be respectful and patient.
  2. Don’t expect people to reply within a day because contributors have their own schedules to check incoming questions.
  3. Don’t raise an issue before reading the repository guideline.

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.

Full-stack Developer
×

Success!

Help @sayzlim spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with Github
about: ({
version: 0.1.7 BETA 2.4,
whats_new: article editor v2,
up_next: tip code demos,
coming_soon: embeddable tipping,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh

version: 0.1.5,
notes: added pins + new badge

version: 0.1.4,
notes: home refresh + tools
)...
recent_tips: (
tipper: @JohnDavis,
amount: 250 SATS,
source: article

tipper: @Megan0910,
amount: 1000 SATS,
source: article

tipper: @JohnDavis,
amount: 250 SATS,
source: article
)...