How To Become A Self-Taught Programmer — You Can Do It!
Over the years, I’ve been asked a lot of questions by people concerning my life as a programmer and how I started.
Some of the most frequently asked questions are: “How do you learn all these things by yourself? How did you get started in the first place?” Well, I’m here to tell you today that they are no merlin’s spell about it. 😂 I mean no magic about it.
I didn’t study computer science and engineering or any IT related course at the university when I first started. I was just a microbiology drop out fascinated and passionate about computer programming, practical experience, and creativity. There was just this thing about me that didn’t resonate with college life then. I knew I just wanted to enjoy learning and try out new ideas for myself instead of just studying for grades.
Please don’t get me wrong; you can always become a regular programmer by getting a computer science degree. Or better still attending a Bootcamp program. But for me, somehow, I was already doing my stuff progressively well before I even got to know these programs existed.
Now before anything else, let’s take a quick look at some of the reasons why it is possible to be a self-taught programmer and the edge you could have over formal education.
Why You Should Become A Self Taught Programmer
Becoming a self-taught programmer is one of the best things that has ever happen to me. It gave me hope when everyone turned their back on me. It also helped me discovered a new world of creativity.
It’s no longer a surprising fact that most great and successful computer programmers taught themselves how to code, and some didn’t even get to finish college or high school before they built the great things we use today.
In college, you have a fixed, rigid, and old curriculum to guide you throughout your studies. It is more or like a dogma. So much emphasis is laid on grades — study and pass your examinations — no room to think outside of the box.
Wait, hold on a minute, You’d sit and listen to someone repeat a topic he or she has taught for 5–20 years without changing anything. You study complex mathematical equations that you will never apply in your life, not to talk of the borrowed courses you are deemed to take from other departments because the university said so.
Yeah! while this system may work perfectly fine for other majors in school like medical courses, it doesn’t work that way in software development.
I get shocked at times; some CS students don’t even have a laptop and yet get to do all the paperwork and graduate as a computer scientist after 4 solid years in school. Some will eventually end up in IT training centers after their university to get trained by people who didn’t even graduate from tertiary institutions.
It’s so unfortunate, and I don’t blame the system 100%. The blame goes to you if getting to know the truth, and you decide to sit down like a robot to be told what to do and what not.
We’re in the computer age, you need to take your destiny into your hands and make yourself useful. Try something new, take a lot of risks, and learn with passion.
Computer science and engineering don’t necessarily have to do with programming alone. Computer science also involves networking, data science, blockchain, Machine learning, and AI, digital marketing, embedded systems, system design and analysis, economics, word processing, telecommunications, statistics, hardware, maintenance, etc.
But programming remains the ultimate and probably 89% of the computer science idea because it is the brain behind the creation of computer software, which is the primary focus in the world of technology.
The earlier you begin to do away with the idea that getting a CS degree will make you a software developer, the better for you.
Note: The software developer community doesn’t care about your course of study, color, gender, race, background, and location. The first ABC of programming is a laptop and internet access.
9 Tips To Help You Become A Successful Self-taught Programmer
1. Make sure you’re passionate about coding:
Before you even think of searching for this post, or you read this far; you should know you have the drive and passion for programming already, if not passion at least interest because they are like the fuel that lightens up the desire to move on when you’re faced with challenges. You want to know how computers execute a task, you’re curious about how the web works, — that’s the spirit.
2. Make the Internet your best friend:
Already the world is an open place to open-minded people. You just won’t get it now until you embrace the sagacity of using the Internet to your advantage.
You have to be very curious to learn. Be an excellent researcher and Googler. This is basically what the best software developers do. They ask a lot of questions. And if they don’t get the answer to their [How? Why? What? When?] they ask over again until they find the solution.
A quick story:
Michael Sayman created the viral iOS game 4snaps and got an offer from Facebook as a product manager at age 13. In an interview, a question was thrown to him as to what tips will he give to kids of his age who would want to be an app developer too, and his response was simple;
“I just basically went on to the internet and tried figuring how to do something and I got it done, Its not like my Applications have the most advanced programming in the world.”
Let me share a personal story with you, although it’s not about coding. It’s to make you understand the immense knowledge you can gain from the Internet. Now, besides teaching myself how to code online, I also taught myself how to drive a car online. How? Simple, I just searched for “How to drive an automatic car” on YouTube, and I found this video.
3. Find the right places to start learning:
The Internet is another world entirely. It is filled up with lots of information. Our focus is to find the right place to learn to code. So I’m going to make life easier by listing out some cool sites that you can learn how to code.
Note: Some are free, while some require a few token to have access to their courses.
Price: Free or $16.67/month for their pro account
Price: $24.99/month — $34.99/month (seven-day free trial)
Price: $25/month — $49/month (free 1-week trial)
In my opinion, Code School is a lot like Treehouse. Except they only offer one price tier. Treehouse has more courses, but Code School has more interactive challenges. (I know some people like more than multiple-choice quizzes.) Code School also offers some completely free courses, which is nice.
This online platform gives people the privilege to create and upload courses. There are over 35,000 courses on the platform, from cooking to coding. They have interesting coding courses like; Learn and Understand AngularJS, Andriod tutorials, The Complete Web Developer Course — Build 14 Websites, and a lot more. They have programming courses on almost any language and framework imaginable.
Price: varies based on the course (typically free — $300)
Udacity has courses that don’t just relate to web development but also cover data science, business, and more. Also, they offer Nanodegrees, a type of certificate program that helps you learn career-targeted skills and develop a portfolio. Udacity partners with companies like Google, AT&T, Salesforce, and others to create their courses.
Price: Free — $200/month per Nanodegree program
You can always visit StackOverflow for any question you have concerning any programming language. It’s more or like a classroom filled with programmers who are solving each other’s problems. It’s free, all you need to do is to sign up and get a StackOverflow account running, ask your questions, learn from other people’s questions and answers, answer other people’s questions as you may likely attract potential employers.
GITHUB is a free online version control tool. GITHUB allows you to check in your codes, create a repository for your projects(files) so that other people can access it, modify it, build their copies of it, experiment on it, or make contributions. I just felt I should introduce this to you beforehand.
4. Don’t Get Intimidated But Be Inspired To Experiment:
Sometimes you will see complex source code written by people. A lot of challenges will come your way and you might get intimidated. You’ll think you’re just too late to start.
One good thing about programming is that you can start from anywhere. All programming languages are interwoven. The moment you know the basics of two to three programming languages, the rest won’t be any headaches any more.
Mark Zuckerberg wrote the first version of Facebook entirely in PHP and see today what Facebook has become. It is not all about knowing everything; just pick a language and master it.
So don’t get intimidated when you face challenges along the way. Instead, see these challenges as a source of inspiration because they make you more robust when you overcome them.
5. Learn To Solve Problems:
Coding involves problem-solving. You need to break down the problem into solvable chunks. This requires a different way of thinking. Computational thinking. And you can learn more about computational thinking at Google mini-site here.
The takeaway here is that; you should learn to solve programming issues. Start with the little problems, and once you’re comfortable with that, you can move to complex issues.
6. Pick Your Craft:
The best way to master a craft is by using it to build projects consistently.
Note: There’s nothing wrong with building stuff that already exists. Just build it, and you might even come up with a better idea of how to make that product better. Let’s say, you like Instagram design, you can build a clone.
7. Find a mentor and expand your horizon:
This is a crucial part. Find someone who knows more than you and has been in the system for many years. Make sure the person thinks much better in the same technologies that you’ve chosen. Check local slack channels, medium, StackOverflow, Quora, Reddit. Reach out to people you know, check LinkedIn, Instagram, Twitter, and local communities around you.
Remote Mentorship — You don’t have to live in the same location with your mentor. Apps like Repl.it, Zoom, Skype, Slack, WhatsApp gat you covered.
Here’s another alternative, although not quite common. You can be a mentee to books, authors, biographies, stories and so many other life drivers that motivates you.
You can be a mentee to Elon Musk, Denzel Washington, Jack Ma, Larry Page, Sundar Pichai, Henry Ford, by following your teachings and guardians.
You can be a mentee to a book like “Think and Grow Rish By Napoleon Hill.” This is possible because I can connect with them substantially while reading or watching or listening to their speeches, videos and stories/biographies.
The Internet has even made it so easy to connect with them, follow them on their social media handles, learn how they did solve one problem or the other.
Sometimes when I watch the keynote speeches delivered by Steve Jobs, Denzel Washington, Mark Zuckerberg, Victor Wooten, Sarah Drasner, Bjarne Stroustrup and so many others on the Internet, I get a lot of answers to my problems.
And if you get a chance to have a mentor face to face, then always make sure you ask all the dumb questions you possibly can!
8. Get stumbling! Learn from both success and failure:
Early on, I switched gears a lot. Jumping from one programming language and framework to another, Python this month, then PHP the next. I stumbled a lot, in the process, things became more evident as I dedicated my time to learning every day.
Now when you find yourself in this kind of situation, don’t feel bad about it. It is a natural process. When you’re first starting, it’s hard to know what you want to achieve and what your specific end goals are. It’s normal. It’ll become clearer with time.
I learned something from every success and failure. To be honest, probably more from the failures. 70% of the secret you’re going to unravel yourself are things you learned from the mistakes you made. So in your journey to the promised land, don’t be afraid to make mistakes.
“Don’t worry about the money, money follow the people, people should follow the dreams, if you have one.” — Jack Ma
9. Be a long life learner
Most of the successful and influential men and women you hear of today are long life-learner. Bill Gates and Warren Buffet, When you read about most of their life histories and how they spend each day of their lives, They never go a day without learning something new. They read books.
In the IT industry, change is the norm. There’s always a new way to do things. You must learn to adapt to changes and love learning.
Browse about the latest technologies around your niche, collaborate with people in meetups, workshops, tech talks to roaden your horizons.
Form the habit of learning and researching. Make it a daily routine in your life to learn something new. When you do these consistently, I bet you the sky is your starting point.
I believe learning how to code comes down to discipline and work ethic. No doubt, some people are naturally better programmers than others. The concepts just make sense to them. But whether you’re “born with it” or not, nothing can ever compare to hard work and the hours put in. Remember this famous quote? “Hard work beats talent.” Never forget that.
If it was easy, everyone would be doing it. So just nod your head in an agreeable manner right now for even trying. Seriously!
Happy Coding! ✌
Written By Tony Cletus