Can a poor person be a good programmer?
If It was to answer this question with a simple "Yes" or "No", I would say "No". To be poor will make your career as a developer hell. Programming requires comfort.
DISCLAIMER: Before we discuss this point today, let me make things clear. The term "poor" in this topic stands for someone with very low financial means or support. He has only his brain. And good programmer stands for someone who programs to make a living, has a comfortable workspace, and lacks nothing that could prevent him/her from coding at any desired moment. Not necessarily someone who is a code expert.
Well, recently I have been observant when it comes to challenges developers go through. Especially developers from third-world countries.
Let's look at a few scenarios in which one can become a developer:
-
You grow with the dream or not, but you attend a university. You study computer science, and that opens your eyes to coding. You gain coding skills and the science of computers.
-
On the other hand, you couldn't make it to the university. Maybe you couldn't afford or maybe you just dropped out because it was boring. But, in this case, you have a passion for computers and coding, and you decide to dive in.
In any of these cases, money is still the master. The school will cost you so much that if you don't have the hands solid you will have to give up.
In the second case, even though you control your learning curve, you still have to spend to buy courses, books, the internet, library cards, etc
But, the most important element which costs the most and which no one can avoid is time.
Time is and has always been a big trap for everything. But, these days one can afford to buy it. If you were sent to school by your parent or some other people, then you were given enough time. That time helped you not to worry about where to get school fees, transportation, feeding, on so on, but to focus only on the studies.
Contrary to someone who had to do the two struggles. You must sort yourself out with money-related issues, then the studies issues. In both cases you need time. You pay all your time to get the money, and in return, you have little cash and no time to learn too.
When you look at the professional environment, you can notice many developers who are trapped in this circle. They have to work to survive and probably take care of families. But, for that, they have to sacrifice their dreams and projects.
Already at the studies level, there is a difference between the one who has money and the one who doesn't. I admit that there is no rule without exception, but This is the reality.
Let's come down into professional life again. A few weeks ago, I was reading a post from Taylor Otwell on medium, and that woke me up on this situation. He wrote about his days and how he uses them. With all the respect, I am not criticizing Mr. Taylor, nor I am jalousing him. I am just using the case as an example of what it means to be a good programmer.
The first thing that grabbed me is that, in his average days, he starts work at 08:00 in the morning.
Typically, I am in the office by 8:00 am
Mind you, his office is in the house. The point here is his punctuality. no hustler can be punctual. Believe me. A hustler works randomly to survive, he hardly has a fixed schedule.
And here is his development office. He! he! he! close your eyes, don't jalouse.
Image by Taylor Otwell
SaaS Services he uses
To run Forge and Envoyer, I use a variety of services:
DigitalOcean for servers. Linode for more servers
Cloudflare for DNS and SSL
Ottomatik for database backups
AWS for storage and queues
Pusher for real-time events
Authy for two-factor authentication
Do you have any idea what it means to use such services?
With this, the man is guaranteed to do whatever he dreams of. Have you noticed the beauty of Laravel's codes? This is what comfortable brains can do.
Anyway, thus far, when we look at how to study, work,... it takes some money to be in good shape.The next time you dream of becoming a good developer, think of what it takes. It's not only your brain. You need to afford a good work context, good equipment, good training material(when you stop googling "FREE tutorial on...."), power stability, good and permanent internet connection.
Now let me give you a few examples of how being poor kills your dream as a dev.
I have attended a few tech meetups here in Africa. Mostly in Nigeria, Togo, Benin, and Ghana. Meetups are supposed to be for programmers, most people come without a computer. The whole presentation is based on a chat between participants. Hardly you will see presenters solving a real code problem? Can you imagine that people even attend IT classes for a degree program and they never had a computer?
Let's tell the truth. How are you going to learn until you become a good programmer?
I hope from here you understand the concern. You need to know that you must fix a few issues before you can train well to become a good developer. And if you are actually being guarded by your parents or a relative, this is the real-time to prepare to become a good dev. Use this time to learn hard. You are not growing younger.
Cover picture by pixabay.com