今日推荐英文原文：《“I Am Not Smart Enough to Be a Programmer”》
推荐理由：这个项目是一个 React 框架的教程，不过即使是对 JS 没有经验的新人，这个项目也提供了 JS 基础知识的介绍，可以用作入门教程。教程中主要通过理论与代码示例结合的方式进行介绍，在完成一段学习后也提供了一些练习用于个人尝试，足以作为假期结束后学习新知识的第一步。
今日推荐英文原文：《“I Am Not Smart Enough to Be a Programmer”》作者：Szymon Adamiak
“I Am Not Smart Enough to Be a Programmer”
Yes, you are. But it doesn’t mean you should become one. Read this before starting to learn to codeYou 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.
Advantages of Learning to CodeThe 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 developerIt’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 jobHow 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 incomeDo 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 funSome 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.
Disadvantages of Learning to CodeProgramming is not for everyone. Its disadvantages make it the wrong choice for many people.
Programming requires time and effortI 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 unhealthyProgramming 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 timeDo 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 fierceThousands 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.
ConclusionLearning 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!