The following is a guest post by Joe Auer. Joe is not a professionally trained programmer: he studied accounting and finance in college. After working for an accounting firm for 3.5 years following college, he decided to change paths by working for his friends startup.
Born in Columbus, Ohio, Joe now lives in NYC. In the following post Joe talks about how he started learning to build websites and how “doing” took his understanding to the next level.
Check it out and enjoy!
I studied finance and accounting in college. Immediately following, I worked for an accounting firm for a few years. Needless to say, I knew absolutely nothing about coding at the time. I probably couldn’t have even told you what HTML was.
After a few years went by, I had a friend who was starting an Internet-based company ask me to help him run it. While it was a risky move, I ultimately accepted the offer and quit my accounting job.
Immediately I realized how little I knew about making as well as running a website. My new job required me to talk to web designers and web developers regularly. Basically, I needed to learn how to code so I could excel in my new position.
The problem was I had no idea where to start.
Teaching Myself To Code With No Prior Coding Experience
I started out by doing a lot of Googling. And I mean a lot. My plan was to do research upfront to ensure I would stay focused and not spin my wheels and lose motivation.
I started with the small goal of learning the basics of how to build a simple website. I came across several Internet forums that kept mentioning WordPress – which sounded like as good a place as any to start.
Again, I did a lot of Googling initially. I also watched whatever relevant Youtube videos I could find on WordPress.
Over time I reached the point where I could make a simple website and manage it with WordPress. But I still didn’t really know any coding. So, I dove deeper by studying some of the topics on the W3Schools website. I then took what I learned and applied it to my own site.
This trial and error method of learning is important. It helped me a lot, but I felt it would be better if I had someone guiding me along the way.
The material was easy to follow. I felt like someone was guiding me along a path to coding success. Overall, the Treehouse videos gave me the confidence to believe I could eventually become a great front-end coder.
After learning with Treehouse, I thought the best next step would be to supplement what I learned with another, comparable resource. For this, I chose Codecademy.
Going through Codeacademy’s interactive lessons helped further cement certain coding concepts in my head. At this point, however, I thought to myself, “What’s the point of going through all these lessons if I never practice building things?”
Putting What I Learned Into Practice
After going through the material at Treehouse and Codecademy, I felt like I had a lot of good theoretical knowledge, but I knew I needed a lot of practice.
To start getting practice, I first used CodePen. With its user-friendly editor, this was a great tool for me to practice front-end skills. Essentially, I would look at websites that I thought looked cool and then try to replicate some part of the site using CodePen.
As I reproduced the websites I admired, I would run into issues constantly that showed I didn’t have a full understanding of these front-end languages yet. When I came across something I didn’t understand, I would either go back to the relevant video on Treehouse or I would just rely on Google to find an answer.
Over this time period, I learned that it’s fairly easy to learn the theory behind coding, but the real learning comes through lots of hands-on practice. I thought I knew CSS pretty well. But when I started putting into practice what I “knew”, I came across a lot of issues.
By working through these problems I finally found a real understanding of the language and what best practices were. Even now, I know there is still a lot to learn. And the best way to do so going forward is to practice as much as possible.
My Recommendation To Beginners
For a beginner starting at zero, I would recommend using a comprehensive resource like Treehouse or Lynda.com to gain a solid understanding of whatever language you want to learn.
Then, I would supplement that with at least one other similar online learning tool. After that, I would practice as much as possible. Simply going through the motions of a video tutorial won’t get you to where you need to be.
You must test yourself by practicing on your own, ensuring you truly understand the concepts at hand. If you can follow these steps, you’ll be in a great position to advance your skills quickly and effectively.