Hackernoon logoThe Path of a Self-Taught Developer by@roy-nyaga

The Path of a Self-Taught Developer

Roy Nyaga Hacker Noon profile picture

@roy-nyagaRoy Nyaga

Ruby on Rails developer with. I love writing articles on technical concepts about programming.

Acquiring a new skill is good but knowing exactly which path to take in advance is best. For every decision taking to learn something new, there is always this “where” or “what” question. Where will I start, what should I do, where will I get material, what so ever be the case there is always a “where” or “what” question. Knowing exactly which path to take as a newbie in technology is almost impossible unless you follow a strict guide from a mentor or any other source. This article is more like a guide through the walk of a self-taught web developer.

Some years ago when I started learning python, I asked a friend about a road map to becoming a programmer and what he did was to send me a copy of his computer science curriculum. I wasn’t asking to go back to school, all I needed was a guide on how to become a self-taught developer and not a computer science curriculum. So I decided to come up with something like this to help those who are presently in the same situation that I was. In this article I will be sharing the stages I went through to become a Ruby full-stack developer.

Who is this article for?

Everybody is not capable of paying for programming classes nor boot camps where they could have the privilege of interacting one-on-one with a mentor or teacher but there is a lot of free information out there that can get you started which is the purpose of this article. I learned programming without spending a dine on online resources, I kept my money for my internet bills.

How do you become a self-taught developer?

Choose a Programming Language

The very first thing you need to address as a newbie is to choose a programming language to focus your energy on. There are a lot of programming languages out there but there is a specific one for you which you need to identify based on the following criteria;

  • Availability of resources: You will not want to choose a programming language that has limited material online. To avoid being stuck all the time, choose a language that has good documentation and a vast spectrum of resources out there. If you have someone who guides you, it will be preferable to start with the language that he does to ensure that you have someone you can turn to whenever you get stuck.
  • Easy learning scope: For people without a programming background, this point should highly be considered. As a biology student who loved programming, I started learning Java and with all my motivation I gave up on programming due to the complexity of the language. Later on, I fell on a Youtube video that listed programming languages based on complexity and salary, Python was the first on the list so I decided to start learning python which I realized was very easy to understand and my motivation was increased.
  • I will recommend languages such as Python, P.H.P, and Ruby for those who are still wondering what programming language to choose.

Join an Online Community

Creating an online community is a normal exercise that every programming group practices in order to share maximum information about their technology and to help people who get stuck at some point. Every programming language has a community so choose a focused learning community based on your programming language and start contributing as little as you can by asking questions and answering those that you know.

When I started programming in Ruby, I studied on a free platform called Odin Project. It has a very good curriculum on learning full-stack development as a Ruby on Rails developer and a community made up of professionals and learners who are ready to help you whenever you get stuck.

Presently I am a member of a Ruby group on Facebook and on Linkedin and it is amazing when a good number of people give you feedback on something that you are working on. If you have not yet joint any group, do a Facebook search on the groups that utilize the programming language that interests you, join the group and start participating.

Learning Tools

There are excellent courses on UDEMY and I wish I had the money to purchase some for myself. For those who have financial limitations as I did, there are many other options out there that we will be discussing here. For visual learners, there is the popular Youtube. There are a lot of videos on Youtube and you should be careful about choosing the course you wish to take.

Choose video courses based on the number of views, likes, subscribers and most importantly the publishing date. I will advise you to, first of all, take complete courses before getting into videos explaining specific concepts, this will help to keep you on track so you don't get lost all the time.

For learners who love reading, we have platforms like Freecodecamp, Codecademy, Odin project, W3schools, etc. I strongly recommend Freecodecamp. They teach by example and also have an online text editor where you can solve exercises and a place where to check for solutions if you are unable to solve an exercise. For Ruby Programmers, I will strongly recommend the Odin project.

After learning data structures, it’s a good habit to practice solving algorithmic challenges. Up till today, I practice algorithms 2 hours a day just to keep my brain active. Remember that your primary duty as a developer is to solve problems and a good practice for your problem-solving skills is to work on algorithmic exercises. Suggested platforms for this exercise include Hackerrank, Leetcode, and Repl.

Project-based Learning

As a self-taught developer, one of the ways you can evaluate yourself is by working on projects. This is one of the reasons why the Odin project is a unique platform. It provides you with projects that will help you test your understanding of the concepts you learn.

I remember the first time I completed a JavaScript course, I was so happy and excited but when I decided to take a project, I realized I did not understand most of the concepts. Before telling people that you know a particular programming language, make sure to have done at least 5 projects using the language if not you will embarrass yourself.

Before telling people that you know a particular programming language, make sure to have done at least 5 projects using the language if not you will embarrass yourself.

What to do when you get stuck?

Don’t be afraid of getting stuck because you can’t escape from it. Even professional programmers get stuck at some point proven that nobody is the master of knowledge. In this last section of the article, we are going to talk about what to do when you get stuck. Asking questions is so important to a developer that I completed a whole project on that. I will limit the scope of this section to revealing some important sites where you can ask questions in case your respective forums are unable to help you but do make sure to read articles on how to properly ask questions, there are even some Youtube videos on that.

Before asking a question to a friend or to any forum, make sure that you were unable to find the answer on google. As a programmer, your best friend is Google. Always make sure to google search any difficulty that you have because you can’t be the first person experiencing it.

As a programmer, your best friend is Google.

I was building an e-commerce app and I got stuck when trying to implement the payment method using a third party API called Monetbil. Nobody knew about Monetbil in my Forum since it is a Cameroonian payment method. The only option left was the support team. I wrote to them and I was surprised to see how fast they responded after I had wasted time searching for solutions in other places. Always contact the support team of a resource you want to consume whenever you get stuck.

Always contact the support team of a resource you want to consume whenever you get stuck.

There is an important platform for asking questions that you need to know about. It is called StackOverflow. StackOverflow allows you to ask questions and to answer other people's questions with the best answers being upvoted. Most of the questions I google search when I get stuck have answers on StackOverflow since other programmers faced the same difficulty and went ahead and asked.

I know it was a very long article and I hope it worth your time. Feel free to contact me If you need any further information that I failed to provide in this article and I am also open to counseling newbies who want to have their way through the tech world but are afraid of a lot of unknowns. God bless you.

Roy Nyaga Hacker Noon profile picture

@roy-nyagaRoy Nyaga

Read my stories

Ruby on Rails developer with. I love writing articles on technical concepts about programming.

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.