“I Am Not Smart Enough to Be a Programmer”

“I Am Not Smart Enough to Be a Programmer”

Featured on daily.dev

Yes, you are. But it doesn’t mean you should become one. Read this before starting to learn to code.

You can learn to code. If you’re able to follow an average Medium article, you are smart enough. What’s more, you also speak English, which is of great help because almost all documentation is in English.

You may think I’m exaggerating, but I’m not. Many children can learn to program. They even have programming languages designed especially for them (Scratch being the most famous).

If children can do it, you can too. It doesn’t mean you’ll become a programming superstar, but you are skilled enough to learn to program.

But should you learn to code? Well… that depends on your goals. Programming is not a get-rich-quick scheme or easy career to follow if you don’t know what to do with your life. But with the right attitude and realistic expectations, programming can bring joy, help you change your career, or facilitate your life.

So if you’re wondering whether to learn to code, let me help you by pointing out some advantages and disadvantages of programming.

1_ezcXo989f9y2O4inVj8t4A.jpeg Photo by engin akyurt on Unsplash.

Advantages of Learning to Code

The advantages are countless, and everyone can find something that draws them to coding. Here are some of my favorites.

You can become a professional software developer

It’s the most popular reason to start programming. It was also my reason. Five years ago, I quit my job as a lawyer and looked for some other career path.

Programming seemed like a perfect choice — I could learn it at home, at my own pace. And I didn’t need a degree to find a job. The market for programmers is as close to a meritocracy as possible.

In many countries, programmers can make a decent living. The market for developers is booming and the salaries are high, so becoming a programmer is an excellent motivation for learning to code.

It may help you in your current job

How much time do you spend doing repetitive and mindless things in your job? I bet it’s quite a lot. If you know how to code, you can automate many of those things.

I don’t mean only spreadsheet data manipulation. You can automate much more, from creating or renaming multiple files to getting the data from the web. To get some inspiration on the things you can do, read a classical book about Python: Python Automate the Boring Stuff with Python.

Even if you don’t have anything you can automate (and you probably do), you can benefit from learning to code. You can simplify or automate the work of others and get a promotion or even create a new job position — especially for yourself.

Programmers can create their tools, and it makes your possibilities endless.

It can provide additional income

Do you have an idea for an app? If you know how to code, you can make this idea a reality. It may not become the new Facebook or TikTok, but you can easily add it to the App Store and Google Play and start earning.

The chances are your idea isn’t all that great, but it doesn’t matter. Earning even a little bit of money by creating things is delightful. And who said you could only build one app? With a few of them, you can create a nice additional income stream that doesn’t require too much work to maintain.

It’s fun

Some people like to solve puzzles. Programming is excellent for them, as many problems are just that. Some people like building things. Programming is also perfect for them, as programmers create software daily. Some people like to help others. Being a programmer facilitates that. You can build an app someone needs and make a difference in the world.

Whatever your reasons, you can find fun in programming. The ability to create something out of nothing is exhilarating. Learning to code is also a reward in itself. You can almost feel your mind growing when you familiarize yourself with new concepts and tools.

1_ZNbSjIpV_Ls6d_whboFH8w.jpeg Photo by Markus Spiske on Unsplash.

Disadvantages of Learning to Code

Programming is not for everyone. Its disadvantages make it the wrong choice for many people.

Programming requires time and effort

I mean it. Programming is hugely time-consuming. To understand the basics, you need to study for weeks. To become competent enough to create something non-trivial, you’ll need at least 300-400 learning hours — and that’s if you’re lucky.

Let’s say you’ve got five hours a week to spare and you decide to devote that time to programming. So to spend 400 hours learning, you would need 18 months. During that time, you’ll face many challenges and hit many setbacks.

Are you ready for such a sacrifice?

Programming can be unhealthy

Programming is basically sitting and staring at a screen for hours. Software developers often have a sedentary lifestyle, which may cause serious health problems like obesity, Type 2 diabetes, or cardiovascular disease.

When working with a computer a lot, you’re also exposed to orthopedic problems — especially with your back and wrists.

So if you’re not taking programming at least a bit seriously, you may be much better off taking a walk or hitting the gym. And even if you decide to learn to code, don’t forget about your health. Take breaks every so often, try changing positions during your work, exercise, and take care of your sleep.

You’ll have to learn all the time

Do you know the famous Red Queen’s quote from Through the Looking-Glass, and What Alice Found There?

“Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!”

Being a programmer often feels like that. Technologies and languages change all the time. In my specialty (front-end development), things move incredibly fast. But the landscape changes in every programming field. It doesn’t matter if you create embedded systems or mobile apps.

What’s more, new fields arise. Cloud computing and data science were practically non-existent a decade ago, and now they’re amongst the hottest specialties for programmers. If you want to be a programmer, you have to be ready to become a lifelong learner. Otherwise, your skills will become obsolete fast.

Competition is fierce

Thousands of people are trying to enter the programming industry. Dozens of free tutorials, bootcamps, and universities help aspiring programmers. Additionally, lots of programming work is outsourced overseas, so you have to compete with programmers from all over the world.

All of this means two things:

  • Firstly, it’s getting harder to find a job — especially your first job. But even programmers with some experience can have difficulty finding a new employer.

  • Secondly, salaries may decrease. There is an influx of skilled developers and the demand for them may not grow fast enough.

Additionally, AI may take some easier programming jobs, making the job market even harder. You have to be ready for this before you decide to make programming a career.


Learning to code can be an incredible journey or an uphill battle. You must decide if it’s worth it for you. But one thing is sure: You can learn to program if you want to and put in the necessary effort. Good luck!

Did you find this article valuable?

Support Szymon Adamiak by becoming a sponsor. Any amount is appreciated!