How to start coding.

How to guide to be a self taught programmer

Published: 06/21/22

How do you start coding?

Being a self-taught software engineer who is now a full-time software engineer with 4+ years of experience, I hope to help some get started down the same path I have. Coding and beginning to learn how to code is not an easy task. I like to say anyone can frankly learn how to code and do a decent job at coding, but coding is not just a learn-once activity. Coding is a constant state of learning, new problems, new programming languages (more on those languages later), new frameworks, new technologies in general, and the list continues. What I'm saying is learning to code takes a lot of time and dedication. To level with you, I didn't take this seriously until I got to a position at my job that allowed me to be closer to coding and realized this could be a career possibility.

Story Time:

So if you'll allow me to tell you a little back story about how I started and my "rags to riches" story, I'll let you decide why you should even take what I'm saying with confidence.

In the very beginning, I was working a 9-5 job as a call center employee at a local fin-tech company. My brother-in-law had worked at had started learning how to code and began sharing his small successes. He recommended that I start coding in my spare time with a few tutorials from codecademy.com. At this point in my non-existent career, I was learning anywhere from 5 to 30 minutes, to about 1 hour a day learning to code and build websites. Once I felt that these HTML, CSS, and Javascript tutorials were not enough for me to get a job I began researching how to make more complex websites and some small programs.

Ultimately this leads me to pay for a course through Codecademy for front-end website development for about $200 (still the most money I have spent on a coding tutorial). I set a goal and was not going to let myself down, so I completed the course, building a total of 5 or so production-ready websites to be "launched" in the real world. Once I completed the course, I still wanted more, I had caught the programing itch, and I now wanted to do this for real.

Back at my 9-5 job, I remember going to my manager at the time and asking, "how can I go get into the developer room and start coding?". I was eager to get any job in that room, and I would have taken anything I got, which I did. I still think this was the way to go if you are going to go the self-taught route. Ultimately I took a job as a "support engineer" which was at the time a glorified way of saying I was a bug reporter. I took note of what was happening in the systems and logged the bugs to the developer for them to fix when given the time and priority of the bug. For the most part, this was a pretty easy job. I was satisfied with where I was. p.pl-4.pb-4 Fast forward a month or so, I began talking to the other developers I had become acquainted with and asking, "what can I learn to be a developer here?". One developer shared with me a culmination of "how-to-code" articles tailored to an internship the company had previously led to hiring more developers (I will recreate this below). This is the point in my career when I started taking things seriously. I began coding every day for a minimum of 2 hours each day. I was following that culmination of articles like gospel. Eventually, I applied to an upcoming internship program at the same company and was accepted. During the internship, I continued learning on the job and at home, and to this point, I have never stopped learning how to code.

Jonny's roadmap:

I started coding because I had one goal, to get a job at the company where I was already working. This meant I needed to learn web development in Ruby on Rails. Now, if you want to follow in my 'exact' footsteps, theoretically you could learn the following technologies in the order below. However, I am going to provide you with some options in a 'clear-ish' way to learn how to code. First, I will share my Ruby on Rails crash course, all self-taught of course. NOTE: you do not have to do the tutorials I recommend below, I have listed them here just for reference to complete them.

You'll have to learn HMTL and CSS if you want to build any basic websites. I would start with some basic tutorials.

Next, you'll probably want the website to do something exciting, eg. Make a calculator right in the website you are building, drag and drop user interfaces, and maybe even a game.

Ok, now you probably have built a few websites with the tutorials or something similar you have found on your own. I think now's a good time to check-in. How are you feeling? Do you like building websites? If so, then proceed with the rest of this 'crash course'! If not, let's see why? If you aren't into building websites, or coding, in general, doesn't seem attractive, I want to ask you to stick through one more tutorial. After that, feel free to bail my feelings won't be hurt.

Let's start with one of my favorite languages, Ruby. To run Ruby programs you are going to need to set up your computer to execute these programs. This will require some setup so I would just stick to something first like Codecademy. Let's see if you like this first before we spend more time and energy.

If you liked that then we should get you set up for more coding!

For a one-stop-shop, with setup, how-to, and everything else pretty much baked in, I couldn't recommend something on Udemy more than this tutorial: Udemy - Complete Ruby on Rails Course. FYI this is going to be a full Ruby on Rails course. I think this is worth your time and money, not because I get a kickback but because I took it and got a lot of value from it.

If you want to be more 'choose your own adventure' I would first recommend you find out how to install Ruby on your computer, Mac, Windows, or Linux. You can do a simple google search of `ruby install `, this should get you set up enough to run a ruby program. Then I would follow some of these other tutorials. This will probably lead you down your google searches to learn how to code, then at that point, you probably don't need me telling you what to do, just keep going!

You're going to need to learn some basics of the command line, some command-line tools, and basic Ruby. From there I recommend The Grounded Rubyist and the infamous Rails tutorial.

Wrap Up:

Alright, now that that was a lot of information. To leave you with just a few more pieces of advice. Keep learning, when you find out how you learn one language keep learning other languages. You may want to get good at one language before you jump to a new one, but often you can learn a thing or two from a new language. Lastly, here are some additional resources that I find to help me in learning just about any coding language.

That's all, thank you for reading, and happy coding!