The number of people who have experienced programming learning and have quit or given up is much higher than we might imagine. According to a survey by an engineer training school, approximately 90% of respondents had interrupted or given up on programming learning.
So why do so many people give up on programming? This article introduces the major reasons why programming beginners give up during their learning journey, and methods to overcome these obstacles and not give up on programming.

Programming Dropout Rate
As explained above, many programming learners experience giving up. According to a survey conducted by the one-on-one online programming school âSamurai Engineerâ with approximately 300 programming learners, about 87% had experienced giving up.
Approximately 87.5%, about 9 out of 10, had experienced giving up or getting stuck. When asked about the reasons for feeling stuck or giving up, the top reason at 40.8% was "not having an environment where I could easily ask questions," and the second at 36.3% was "couldn't solve errors." In particular, those who studied on their own (using commercial books, web, etc.) were more likely to respond that they "didn't have an environment where they could easily ask questions."Samurai, which operates the one-on-one online programming school âSamurai Engineer,â conducted a survey about programming learning dropout in August and published the results obtained from 298 people on the 2nd of this month.
About 90% of programming learners have experienced giving up = Samurai Survey = | ICT Education News
So what are the reasons that cause programming learners to give up? Letâs take a look.
Reasons Why Programming Beginners Give Up
The reasons for giving up on programming are actually somewhat predictable. They can be broadly divided into âenvironment setup,â âerrors,â and âself-study.â Letâs look at them in order.
Giving Up During Programming Environment Setup
To start programming, you need to download and install programming languages and other necessary components. These tasks are called âenvironment setupâ because they create the environment needed to do programming.
The fact is that many people give up at this environment setup stage. The procedures for programming environment setup are often complex, and for beginners especially, it can be quite challenging.

For example, to install the Ruby language, one of the popular programming languages, on a Windows operating system, set up the environment, and start programming, you need to go through several steps.
You can read about âHow to Not Give Up During Programming Environment Setupâ by scrolling down this article. Please be sure to read it.
Giving Up Due to Programming Errors
After environment setup, the next most common reason for giving up is âerrors.â Even if you successfully complete the environment setup, errors are a fact of programming life. You may have heard about them.
When do errors occur? There are mainly two reasons why program errors occur.
One is when the program you wrote is incorrect. Since weâre not robots, itâs impossible to write perfect programs from the start. The other is when thereâs a mistake in the program youâre using.
The first one is easy to understand. For example, if you execute meaningless, random code, youâll naturally get an error. So what does the second one mean?

Programs have things called frameworks and libraries. We donât need to write programs entirely from scratch. For example, letâs say you want to create a blog website. Writing code from scratch to create a site like Ameba Blog would be very tedious. In such cases, you can use a blog framework. WordPress is an example of this.
If thereâs a mistake in WordPressâs program, even if youâve written WordPressâs program or PHP correctly, you may get an error. This is the second case.
You can read about âHow to Not Give Up Due to Programming Errorsâ by scrolling down this article. Please be sure to read it.
Giving Up While Self-Studying Programming
The most commonly heard reason for giving up on programming is âself-study.â
Continuing programming has a large element of being a battle with yourself. If you donât have someone around you to rely on or teach you, itâs easy to give up on self-studying programming.

You can read about âHow to Not Give Up While Self-Studying Programmingâ by scrolling down this article. Please be sure to read it.
Now, letâs move on to explaining âHow to Not Give Up on Programming.â If you donât want to give up on programming, please be sure to read through this.
How to Not Give Up During Programming Environment Setup
I mentioned about cases where people give up during programming environment setup. The reason for giving up during environment setup is largely due to the complexity of the setup procedures. The method to not give up during programming environment setup⊠that means shortening the environment setup steps themselves.
The idea that programming environment setup is troublesome or depressing is not just a thought held by beginners in programming learning. In fact, even professional programmers overseas consider it tedious to set up programming languages or development environments that they donât normally use.
Software was created from such an ideal. Using this, itâs possible to shorten the effort of programming environment setup to just one step. That is âDocker.â
:urls:docker
In overseas surveys, Docker has been selected as the number one most popular and trending open source project in recent years. It would not be an exaggeration to say that thereâs no current programmer who doesnât know the name Docker.

The disadvantage of Docker is that itâs difficult for programming beginners to understand and has a high barrier to entry. Therefore, let me be clear. Programming beginners should not use Docker. Even if you start using it with a vague understanding, you probably wonât be able to master it.
The reason I introduced Docker this time is because I want you to try it once youâve become somewhat familiar with programming. Also, if you already have some programming experience, trying Docker wouldnât be a bad choice.
So what should programming beginners do to not give up during programming environment setup?
Actually, starting programming is very easy. Try searching for âRuby REPLâ on Google. REPL stands for interactive execution environment, or in simple terms, itâs an environment where you can execute program code interactively, as if you were having a conversation with someone. This might be hard to understand. Actually, the quickest way to understand is to touch a REPL with your own hands.
- Repl.it ruby online editor
- Repl.it java10 online editor
- Repl.it c online editor
- Repl.it html online editor
- Repl.it php_cli online editor
- Repl.it python online editor
Click on the links above and actually try running a program. If you havenât created a program yet, letâs try running a simple Ruby language program. Click on the following link.
This program is one of the simplest programs that can be executed in the Ruby language. Copy and paste this code, and click the âRunâ button to execute the program.
puts "hoge"
Were you able to execute the program like this?

With Repl.it, you can execute many programming languages, including the following, from a browser without setting up an environment. By using sites that offer such REPLs, you can definitely reduce the possibility of giving up during programming environment setup.
- ruby
- java
- c
- html
- php
- python
How to Not Give Up Due to Programming Errors
Above, I talked about cases where people give up due to programming errors. As I explained, programming errors are mainly caused by two things: errors in code you wrote, and errors in code you use.
The majority of people who give up due to programming errors give up due to the latter - errors in code they use. As you get used to programming, youâll start working on projects with more code. Experienced programmers sometimes find themselves unable to manage such large-scale projects. Getting troubled by errors in code you wrote is something that happens at a more advanced stage.

Concepts that canât be avoided when programming are libraries and frameworks. Libraries and frameworks are projects developed by one person, or by groups of multiple people to dozens of people. Since theyâre developed by human hands, naturally, various bugs exist.
Also, even without using libraries, the programming language itself may produce errors. However, programming language errors can often be easily solved by searching, and they rarely directly lead to giving up.
So how should you deal with errors when using libraries and such? There are two main points.
- Search Google in English
- GitHub Issues
Letâs look at them in order.
Search Google in English to Not Give Up Due to Programming Errors
Are you perhaps searching Google in Japanese when you encounter an error during programming learning? In programming, Japanese is forbidden. If you canât speak English, use Google Translate and try searching in English.
So why should you use English instead of Japanese in programming? Iâve explained this in detail in other articles, so please read through them if possible.
Use GitHub Issues to Not Give Up Due to Programming Errors
GitHub has programs, libraries, and frameworks of various programming languages gathered together. When you know for certain that the cause of an error is in a specific library or framework, searching GitHub Issues may be more efficient than searching Google.

The Biggest Cause of Giving Up Due to Programming Errors Is the Development Environment
Now, Iâve talked about the causes and countermeasures for programming errors, but actually, thereâs another very important element. That is the âdevelopment environment.â
The development environment Iâm referring to here is the operating system. Youâre probably using Windows 10. Or maybe Mac.

Iâm sorry for not saying something so important until now, but let me be clear. âI donât recommend programming on Windows or Mac.â
This topic is very deep and would be a long, long story, so Iâve separated it into another article. If youâre worried about your development environment, please read through it once.
As someone who has been using WSL (Windows Subsystem for Linux) from the beginning, Iâll explain the benefits of WSL for Linux and programming beginners :urls:ubuntu :urls:windows programming
Why is it not recommended to program on Windows or Mac? Simply put, itâs because âprogramming on Windows or Mac makes you more likely to encounter errors.â
Many programs are created with the assumption that theyâll run on âLinux.â For example, the Ruby language itself works fine on Windows or Mac, but when you combine it with a library like nokogiri, the probability of errors on Windows or Mac increases dramatically.

Docker, which I introduced in this article, is also created with the assumption that itâll run on Linux. Even so, Docker can run on Windows as a âbeta version.â However, the unfortunate fact is that this Windows version of Docker has many potential bugs and is of questionable practicality. Additionally, due to Windows functionality issues, it only works on Windows 10 PRO and not on Windows 10 HOME.
That said, programming beginners donât need to prioritize the development environment issue too much. For programming beginners, there are few opportunities to use development software, libraries, and frameworks extensively, and itâs rare to combine them complexly to create large applications.
Nevertheless, remembering that the operating system can be the cause of errors will definitely be useful as you continue programming in the future.
How to Not Give Up While Self-Studying Programming
In programming, trying to study on your own increases the possibility of giving up. On the other hand, if you can find someone to rely on about programming, for beginner programming learners, that can become a great springboard for growth.
It was found that "an environment where you can easily ask questions" supports learning progress.
About 90% of programming learners have experienced giving up = Samurai Survey = | ICT Education News
So how exactly should you find someone to consult about programming? Letâs take a look.
Hire a Mentor

MENTA is a service where you can get a programming mentor who you can consult with at any time on a monthly subscription basis.
When learning about programming, if you have questions, you would normally use Google search or Q&A sites like Stack Overflow. But if everything went well with that, there wouldnât be people who give up on programming.
With MENTA, you can make a current freelancer who specializes in programming languages your programming consultation partner. There couldnât be anything more reassuring for programming beginners.
Take Programming Online Courses

Have you heard of Udemy? Being able to learn online from the internet as if attending school - thatâs Udemy.
Systems where you can progress through learning with online video lessons like Udemy are called online courses. In most online courses including Udemy, to prevent learners from stumbling, you can directly ask questions to the online course instructor or discuss things you donât understand in user forums.
In this way, being able to receive benefits that arenât available in free lessons like Dotinstall is a feature of online courses.
Attend Programming School

There are many programming schools in Japan. Offline types where you actually meet face-to-face and progress through the curriculum have their own merits, but there are problems such as unnecessary costs, time constraints, and locations being limited to the Tokyo area.
TechAcademy
is one of the well-known online programming schools in Japan.
I recommend TechAcademy for two reasons.
One is the low cost. While other online programming schools with similar recognition start from about 290,000 yen, TechAcademy allows you to join from about 90,000 yen. Also, even though itâs 90,000 yen, it doesnât mean they cut corners - you can study thoroughly for 4 weeks.
The other is âoriginal service development support.â As Iâll discuss below, in programming, you should do what you like and want to do. TechAcademy is probably the only school that supports you in creating the app you want to create.
I myself was taken care of at TechAcademy for 4 weeks. The reason Iâm recommending TechAcademy rather than other online programming schools is actually here. At that time, I was a high school student, so I didnât have much money to spare. About 90,000 yen might be expensive for a high school student, but itâs not an amount that canât be paid. For the same reason, I also recommend it to college students who donât have money, housewives, etc.
TechAcademy also offers a one-week free trial. Itâs difficult to suddenly spend money. To avoid thinking âI should have stoppedâ after joining, I recommend trying the one-week free trial first.
Get a Job at an IT Company

Currently, not only in Japan but around the world, thereâs a shortage of programmers and system engineers. You may have heard about this. As a result, there are endless companies saying âwe want you to become our programmer even if youâre inexperienced.â This is nothing but an opportunity for beginner programming learners.
Actually, the shortest path to programming learning is to actually get a job as a programmer at a company and work. In the past, it was frowned upon for unskilled people to take on specialized occupations, but for programmers in 2020, this is a completely different story.
If you want a programmer position with an annual salary of over 8 million yen, I recommend registering with Geeks Job
, one of the largest programmer and system engineer specialized job sites in Japan.
Of course, itâs better to have skills when getting a job at an IT company. Also, you canât regret later after getting a job at an IT company with no experience at all. Either way, learning some basics using Udemy and such is essential, but being able to get a job at an IT company without having professional-level skills is a big advantage of this era.
Feeling Like Youâre Going to Give Up on Programming?
Above, Iâve explained in detail the reasons for giving up on programming and countermeasures for each.
However, actually, thereâs still one very important thing I havenât told you.
Itâs very important, so please be sure to read through it and think carefully about this yourself.
Now, let me tell you. This can be said about anything, even things other than programming. There are probably very few people who have been learning programming for a long time and arenât aware of this.
The one thing you absolutely must not miss to not give up on programming is âto enjoy programming from the heart.â

This may sound harsh, but people who reluctantly do programming they donât like will absolutely never become good programmers. In the world, there actually exist âcareer programmersâ who program only because the income is good. I donât want those reading this article to become that kind of person.
So what should you do to like programming and enjoy it from the heart? The answer is⊠actually, there is no answer. Thereâs no answer to how to enjoy programming.
In the world, there are various ways to enjoy programming, but whether each method suits you or not is something you have to confirm yourself.
Some people like making games, while others like programming websites. There are also people like me, for whom making work efficiency software is the fun of programming. What kind of programming excites you? This is something you have to find with your own hands over time.
However, let me give you some advice from my experience. The advice I can give is âmake what you want to make.â
Thereâs no reason you have to make a calculator app in C language first, and thereâs no reason you have to start with Python language first. Want to become famous with a blog? Then start with HTML language using WordPress. Want to hit it big with a smartphone app? Then try Java language or Swift language.
Just as thereâs not just one reason to start programming, thereâs not just one reason to continue programming without giving up. Before quitting programming, face yourself once, and think carefully about what you really want to do in your heart.

Summary
So far, Iâve explained methods and countermeasures for not giving up on programming. There may have been difficult parts, but did you understand? It may be difficult to understand all at once. As you gain experience, youâll naturally come to understand even without being taught.
Finally, let me close this article by quoting what I most wanted to convey to those who feel like theyâre about to give up on programming.
Just as there's not just one reason to start programming, there's not just one reason to continue programming without giving up. Before quitting programming, face yourself once, and think carefully about what you really want to do in your heart.