Making Your Goals, Clear

One issue I came across when I was starting my journey as a programmer was that I didn’t make a plan of action. I didn’t clearly think through how I would go about accomplishing my goals and instead I was tunnel visioned. When you don’t create some sort of road map, you get lost along the way, and it’s hard to jump back into where you left off because you didn’t define what you were doing to begin with.

Research the language..

Assuming, you found what language interests you at this point, you should start thinking about what courses would help you grasp that language and increase your skill set as a growing developer in that area. For example, if I was learning html/css as my starting point into web design, I would start looking at JavaScript as the next step in my path.  I would research general information on JavaScript as well as what implementing JavaScript into my websites could accomplish. This process should help you in multiple ways, but most importantly it will ease the anxiety that goes into picking up something unknown and potentially intimidating.

Lets take a look at our schedules..

Now that you have a general idea of what the first few steps will be (don’t worry the rest will become clear as you progress and learn more), it’s time to take a look at how much time you will invest each day or each week. This is the part where we stop being as theoretical and more hands on. The second you start your course, you will probably scan over how long the entire course will take or how long each section will take. Once, we have that information we can start building a plan of attack. For example, simply writing down, “I will finish 25% by the end of the week”. Can do wonders for staying motivated and having some accountability as you learn. It also will help you remove some anxiety, and help you rough tune your own ability. If you feel comfortable putting in more than 10 hours a week, great do that. If you feel more comfortable putting in 5 hours a week, that’s fine too.

Don’t feel discouraged, if you don’t hit a deadline..

When you give yourself a time constraint, and fall short don’t feel discouraged. The worst thing you can do is be overly critical, some concepts will take longer than others and that’s completely normal. For instance, I spent 6 1/2 hours yesterday trying to solve a programming challenge and ended up only progressing 2% in my course that day. However, don’t just look at the course progress bar to determine how well you’re progressing. The course completion total, doesn’t count how much time you are investing on your own trying to make those concepts stick. And you should be investing some extra time in practicing what you’re learning because at the end of the day, we want to take what we are being taught and apply it on our own. So when you miss a deadline, think critically about why it happened, set a new deadline, and don’t feel discouraged. You’re learning about yourself as much as you’re learning to program.

Starting off as a Programmer

The difficult part is not having direction, and not having direction stems from not knowing what direction leads to what end point. You’re completely new, everything is being seen and read for the first time. So you do what most new programmers do and turn on YouTube. You play your first video about a language you heard mentioned a few times, and you follow along, take notes, and get some idea about what programming is.

My mistakes..

The biggest mistake I made when I began my current journey was not researching the terminology. What does full-stack mean? What does front-end, back-end, web developer, web designer, and *insert language* developer mean? So I did what I described in the first paragraph, I turned on YouTube and played a video about JavaScript, all the while not knowing that some concept of HTML (used for displaying content on a website) and CSS (used for making that content look good) was required to get the most out of what I was learning. Yet, I didn’t understand this so I decided to take a 14 hour course, and by the end of it I had no idea how I would go about implementing anything I learned (where does JavaScript even go!?).

Now, this is where I made an even bigger mistake. I stopped. I looked at this OOP jargon (Object oriented programming) I took notes on and it made some sense, but it didn’t transcend past words on a page. And thus I switched to a different language, SQL (think databases). I decided to learn SQL because there was about to be job openings at my work. Although, I didn’t end up getting that job I made a similar mistake to when I tried to learn JavaScript. I was back to understanding the syntax, but not able to make those words on my notebook into a database (again, where does the database go!?).

The solution was easy..

I tried to do too much from reading and watching. When the entire time I was taking notes, I could have built something and been learning at the same time. The biggest break through for me was when I started learning while building projects. And even though I didn’t know everything and got stuck a lot, I had something to show for it, which kept me motivated. It’s great to build your toolbox of knowledge by reading about the way something works, but beware of burning out. After, I had invested lots of time into JavaScript and had no real way of showing someone what I learned, other than describing what “could happen”. I lost the reason for why I started in the first place. So I began researching how other people learned to code, and that’s when I came across the best way for me. Build a project, while you learn the language. 

You can start building a project with zero prior knowledge using lots of different sources, but make sure you think about out how committed you are. If you are anything like me, you love free content, but you don’t want your time to be wasted. So my recommendation, is Udemy.com.

Udemy, isn’t super expensive as there are always deals, but it goes back to my earlier point. You don’t want your time to be wasted. If you are willing to invest in yourself then you should be fine spending a small amount of money. Free sources are great, but I learned more from a $20 course on Udemy (that had 47 hours of content) then ALL of my earlier sources combined. And by the end of it, I had a couple of projects to be proud of.

Final thoughts, JavaScript isn’t a bad starting point, so don’t walk away thinking that. It was just the way I went about learning JavaScript that was flawed, same thing with SQL. And if you don’t know what language to start with, look up “Top programming languages for 2016” and spend a little time researching salaries, openings, and what those languages primarily build. Let google searches guide your hand, and once you decide on a language. Find a course and start (whether it’s YouTube, Treehouse, Udemy, or any other site). The point is, you have a desire to program most likely because you wanted to build something. So build something, and learn while you do it!