
Is learning coding really hard?
Spoiler: Learn how to code isn't hard. Its just a lot of work. And we usually confuse these two concepts.Is it hard to learn coding well enough to become a professional developer?
Spoiler: No. It's not hard. It's labor-intensive. And we often confuse these two concepts.
Your life isn't easy
So, you know nothing about coding. And your life seems like a complete mess! You might feel entirely overwhelmed.
Perhaps you're dealing with numerous problems. Maybe you're working to pay the bills, or caring for your children or parents. Possibly, you're tending to your health or grappling with a severe health condition. You might be hungry, tired, sick, depressed, anxious, afraid, sad, angry, desperate, hopeless. The list seems endless.
Yes, it feels as though you're at the rock bottom of a deep pit.
Here, you have two choices: stay or climb.
I won't sugarcoat the truth: your situation seems severe and I don't possess a magic solution to dissolve your problems. My name is Josenaldo, not Jesus.
What I can offer you, however, is a suggestion: learn to code.
Why Learn to Code?
Because you're financially challenged and it's a potential escape! It's a way to change your life, especially if you live in a country like Brazil, where the minimum wage may not cover your bills.
You don't need to love it. I'm not telling you how to become happy or how to find the meaning of life. I'm suggesting a survival strategy.
Your task is to climb. After you've ascended, you can decide what to do with your life. But first, you must climb.
Is it easy? No. But staying stagnant at the bottom of the pit is much harder.
Becoming a developer is ONE pathway to change your life. And it's a FEASIBLE pathway.
What Do You Need to Start?
There are some essentials you'll need to begin:
- A computer or a smartphone (if you're reading this, you likely have access to one of these)
- Internet access
- Time
- Resilience
Securing a computer and internet access are perhaps the "easiest" items to acquire. If you don't have them, public libraries, a friend's house, or a café could provide access.
However, when we start talking about time and resilience, things get a bit more complex.
Time and Resilience
Acquiring a skill requires time - a lot of time. We're not talking about days or weeks here. We're talking about months, even years. This isn't a sprint; it's a marathon.
I understand that this is a significant hurdle for many. But it's not impossible. All it requires is patience and persistence.
Becoming a developer is akin to climbing a 200-story building using stairs.
Climbing stairs seems easy enough, one step after another, right?
But climbing 200 stories requires enormous energy! And the degree of difficulty isn't the same for everyone.
For some, climbing just 2 floors is already a challenge, because they lack energy, or because they're hungry. For others, it's difficult because they don't have time, or because of some disability.
But, the question remains: despite these challenges, is it possible to climb 200 floors? Yes, it is.
How to Begin the Climb
Climbing this building is labor-intensive, but it's accessible - far more than many others.
To gain entry into fields like medicine or law, for instance, the cost is so prohibitive that it's unattainable for most. You might not even make it past the door!
Yet, to enter the world of software development, you can essentially walk in for "free". The door is wide open, and all the steps are within your reach!
How so?
All the knowledge you need is available on the internet. EVERYTHING. And it's available at no cost. All you need to do is access it.
There are quality paid courses available. But if you have the funds for those, we likely don't need to continue this discussion.
You can access websites like Mozilla Developer Network, W3Schools, FreeCodeCamp, Codecademy, Udemy, YouTube, etc. Or you can learn using ChatGPT, a chatbot that can answer your questions about virtually anything.
Just start! Choose one of these resources and begin! Start small, take baby steps, but start nonetheless!
How to Learn
What is an self-taught person? It's a person who learns by himself, without a teacher, right?
Wrong.
A self-taught person is a person who learns by himself, but with a lot of teachers.
When you read a book, the book author become your teacher. When you watch a video, the video author become your teacher. When you read a blog post, the blog post author become your teacher.
You can learn from anyone, anywhere, anytime. You just have to be open to learn.
To learn how to code, you can use a lot of resources. You can read books, watch videos, read blog posts, listen to podcasts, etc. And, you NEED PRACTICE.
That the point where a lot of people get stuck or even give up. They dont practice. They just read, watch, listen, but they don't practice.
Coding is a skill. And, like any other skill, the learning is based on two things:
- Aquire the information (theory)
- Train the skill (practice)
To learn the basics of how to programming, you will need about 200 hours. If you spend 4 hours a week, you'll need 50 weeks. It's almost a year!
"Then, if I study 4 hours a day, I'll be a developer in 50 days?"
No. Your brain doesn't work in that way.
If you go to the gym, after years without lift any weight, and lift 200kg, you won't be a bodybuilder. You'll be dead.
If you try run a marathon without any training, you won't be a marathon runner. You'll hurt yourself.
Learny how to code isn't different. You need to study and practice. And your body (specially your brain) needs time to adapt. You need to start small and go bigger.
Therefore, your brain cannot absorve all the information at one time. You have limits on what you can learn in a day. Thats the reason why you need to study and practice every day. And why you need to REST.
How to practice
To learn how to code, you need to practice. But how?
You can practice by yourself, doing exercises, building projects, etc. But you can also practice with other people.
You can join a study group, a bootcamp, a course, a workshop, a hackathon, etc.
You can also practice by teaching. You can teach your friends, your family, your coworkers, etc.
Consistence
The key to learn how to code is consistence. You need to study and practice every day (or, at least, sometimes in a week). Even if you don't want to. Even if you are tired. Even if you are sad. Even if you are happy.
Learn - Pratice - Rest. Repeat.
Wait... REST?
Yes. Rest is important. You need to rest. You need to SLEEP. You need to eat. You need to drink water. You need to exercise. You need to take care of yourself.
Remember, this is a marathon, not a sprint!
Withou the proper sleeping, for exemple, you can't learn. Your brain needs to rest to process the information you learned during the day. Sleep less can turn you dumber! Literaly!
Overall
Learn how to code isn't hard. It's just hard-working. But it's possible. And it's worth it.
If you are in a bad situation, looking for a way out, look at this path. You can learn to code.
You don't need to like it. You just have to do it.
Screwed, you're already. From the bottom of the pit, there's only one way up.