How to start learning software development

Whether you are still in high school, getting your second degree, work part time, or are already retired you are probably reading this because you want to start teaching yourself how to program. But there is just one problem, where do you start?

What follows is what has worked for me over the past two weeks and I definitely recommend taking a similar course of action. Assuming you know your long term goals (where you want to be) and how much time per day you are willing to put in (how hard you want to work), we can start talking about how to get started. There are tons of great resources online, some paid and some free. Because there are so many resources available to us these days it can be hard to trim down all the options so here are a few of my favorites in no particular order:

Team Treehouse ($-$$$)

I love Team Treehouse. They offer multiple different tracks that cover a multitude of languages and topics. They also offer Techdegrees. I went with the $50/month option here and it has been completely worth it. The courses are well made, taught well, and offer tons of hands-on practice. You’re tested in multiple different ways so you know that you are nailing down each subject before moving on. If you have the money, I would definitely recommend Team Treehouse.

Codecademy ($)

I started with Codecademy’s $20/month plan and hit the ground running because it was set up in a way that allowed me to get through the material quickly while also learning A LOT along the way. My favorite bit was the plethora of projects that were available to practice working on in the HTML/CSS/Javascript courses. Unfortunately, around the time I was getting through some of their courses they were also taking some down to replace with newer, ‘better’ versions. I didn’t like the new courses they were putting up though because they had fewer projects that I could follow along on my own terms, in order to learn. The new courses focused less on that, and I think that was a mistake on the part of the company. Not only that, but they were pushing forward courses that were not completed or were fairly buggy (not a good sign when learning code from them). So overall, I would check out their free option, if you like what they have (and maybe they’ve cleaned up a bit) then their paid option just might work for you.

Udemy ($-$$$)

Udemy, Udemy, Udemy. YES! What a great resource! There are tons of great courses on Udemy that can quickly get you up to speed on almost anything. Complete beginner? No problem! Just need to brush up on some key skills? No problem! Udemy offers tons of courses from tons of different professionals. It is just a matter of wading through the courses to find what will best serve your needs. Don’t be afraid of the high prices though, they frequently have sales where many courses can be bought for $10/ea!

Freecodecamp ( – )

I haven’t personally used Freecodecamp much, but because of all the good that I have heard about it from others, I figured it at least deserves to be on the list. It is free after all, so if that is what you are looking for, look no further! Check it out!

Youtube ( – )

Youtube is one of the greatest resources for beginner’s looking to begin coding. There are tons of free tutorials that range from crash courses to semester-long programs at universities. A little ‘search-fu’ and you will likely find someone to teach you what you want to learn.

Stack Overflow ( – )

Anytime you run into a problem while coding, where do you go? Google? When that doesn’t work, head over to Stack Overflow. While your Google skills may be important, be sure that Stack Overflow becomes one of your regular resources. You’ll thank me later.

W3 Schools ( – )

Lastly, W3 schools offers great tutorials and resources for learning HTML/CSS/Javascript. They deserve the shoutout!


If you there are any other resources that you think belong on this list, let me know! Email me at matt@livefullstack.com or tweet at me @LiveFullStack

My Why

I wanted to answer the question of why I created this blog more fully. Here is a quick quote from my first blog post:

Why? Because I wanted to hear more about other people’s journeys who have done what I am about to do, but there aren’t a ton online. So I’m creating a resource for those who may be thinking about also taking this route towards starting a career as a software developer. I want to create a record of my journey. Along the way, I will learn a bit about myself, and hopefully, anyone who reads will have a chance to learn a bit about me too. My story includes years of college, but at this point, no graduation. And as someone who is lucky enough to have parents who are willing to support me (financially and otherwise) to pursue my passion, I want to show others what this journey looks like, from college drop out to software developer.

To understand how I ended up here, you first need to understand where I’ve been. After high school, I took a short bit of time off to work full-time. I grew up in the days of Myspace when decorating your page with HTML was cool. And I definitely loved to do so. So now that I am out of high school, I decided web design would be a fun major, so off I went to an expensive, for-profit college that I later left for two reasons. One was that they treated some of the students very poorly, and the other was that I found I was much more interested in the coding and programming side of the field rather than the design itself.

Next, I moved to a community college to work on my general education as I decided on the perfect major for me. Fast forward past a short stint at a Bible college (which is a whole other story), and I find myself at San Francisco State University in the Computer Science program. Now, throughout the years I’ve taught myself little by little how to code small things, so having transferred into the program, I knew a bit already. Unfortunately, SFSU did not like that my transferred CS classes were taught in C++ rather than Java, so they forced me to retake some of the classes which was incredibly frustrating.

The past year has been a rough one for me, all while attending SFSU. My family moved to Oregon, I was in a car crash, and I have been dealing with bouts of depression. But luckily, I have a very supportive family, girlfriend, and group of friends. But that leaves the story right where I am in the present.

I’m tired of school, but I love learning. I don’t like the environment that universities are teaching computer science in or the way they present a lot of the material. So that’s why I’ve decided to attend a part-time online coding boot camp. My goal is to be working a full-time position in software development by August 2018. So this blog will allow those of you who are interested in my story to follow along. Whether you just love me (hi mom!), are interested in programming, or are thinking about dropping out of college to pursue a software development job, please join me.

My plan is to post short insights that I get as I self-teach myself and move on with the boot camp. I’ll be posting about my struggles and hardships, and also about my projects. I’m sure I’ll likely do a lot of tutorials and reviews of studying materials and such. Beyond that, I’ll be posting little tidbits about all facets of life pertaining to the modern software developer.


For now, I am using a mixture of Team Treehouse and Udemy courses to prepare myself to begin the boot camp in late July or early August. I am currently learning the MEAN stack.

[Project]

Check out my latest coding project. It is a simple to-do list web app with a few features. The text input for new tasks can be toggled using the top right icon, tasks can be added, crossed off, and removed at the user’s discretion. Written using HTML/CSS/JS.

Font Awesome offers some amazing icons that I was incredibly happy to use. And Google Fonts offers an easily accessible, and hefty, supply of fonts for everyone. I’m ecstatic to have found such amazing resources. Although I did run into some problems when using the trash icon. I was continuing to get two printed to the screen when appending the ul with li‘s. The only way I was able to fix it was to take out the two or three lines that appended and rewrote what I thought was the exact same code. Except for this time, no bug! Works for me!

[jQuery] keypress vs keydown vs keyup SIMPLIFIED

So you’re learning jQuery and you just got to events. Congrats! But now this whole keypress, keydown, keyup thing is throwing you off. Don’t worry, I can help you separate those ideas.
Let’s first start with keydown and keyup since they are easier. They are pretty self-explanatory. When a key is pressed DOWN, the keydown event is sent to an element. If the key is kept down, that event is sent to the element each time the character is repeated. This means if you have a text box and you hold down the ‘a’ key for two seconds and five a’s appear, a keydown event would have been sent 5 times if it had been listening properly to that textbox. Keyup works much in the same way except the keyup event is only sent when a key is let go of.
Now the tricky part, on to the keypress event. The keypress event is sent to an element when a key pressed. For example, I can add a listener for the key ‘A’ rather than ‘a’. The keypress allows the user to listen for other characters that may be modified using other keys such as the shift key. Take a look at this html/js snippet: code snippet

The Five W’s

WHO

Who am I? A brief summary

Wow, that’s a loaded question. Way to help kickstart this whole quarter-life crisis, geez. Anyways, I’m a 25-year-old bay area native currently living in Daly City and happily supported by my loving parents (they really deserve that shoutout).

WHAT

What is this blog?

This blog is mostly to document my journey to become a (potentially full stack?) web developer. But “living full stack” means Imay also be writing about anything relevant to my life. Strap in,  with my track record we could be heading anywhere.

WHERE

Just here?

For the most part, this blog will be where all the content is. Soon I’ll have a MailChimp list set up for those of you interested in joining an email list for updates.

WHEN

So one post every quarter and call it some hard work?

No, no, I won’t be only posting four times a year and patting myself on the back. I’ll aim for at least eight posts and we can go ahead and call that shooting high. No, but really, I would rather pace myself and dedicate myself to an attainable goal. Saying that I will be aiming for one post per week. That’s fifty-two posts in a year!

WHY

The final piece to this puzzle.

Why? Because I wanted to hear more about other people’s journeys who have done what I am about to do, but there aren’t a ton online. So I’m creating a resource for those who may be thinking about also taking this route towards starting a career as a software developer. I want to create a record of my journey. Along the way, I will learn a bit about myself, and hopefully, anyone who reads will have a chance to learn a bit about me too. My story includes years of college, but at this point, no graduation. And as someone who is lucky enough to have parents who are willing to support me (financially and otherwise) to pursue my passion, I want to show others what this journey looks like, from college drop out to software developer.