The Dean’s List feature is our way of highlighting some of the extraordinary students in the Treehouse community and sharing with the world people who are passionate about learning, bettering themselves and making a difference.
This edition of the Dean’s List features UI Engineer Riley Hilliard. In his feature, Riley talks about how he learned to code in less than 10 months, the role Treehouse played in helping him breakthrough learning barriers, how he’s progressed and what he’s working on today. In addition, Riley shares advice for other students progressing down a similar learning path, and discusses his awesome Treehouse Badges Widget.
What drew you to the web industry?
That’s somewhat of a long story. I’ll quickly skip over my earlier experiences with technology by just saying that I have always been tinkering with tech of all kinds since I was little kid, but never tried physically writing code till I was in College. This was mostly because I thought I would never be able to read/write programming languages, so I never really tried. When in College I founded iClub.fm, and didn’t have the funding at the time to have a website built, so I figured I would just try to build one myself. I only taught myself the bare minimum needed to get whatever feature it was that I wanted on the site, but after spending a lot of time hacking out tiny features I finally decided I might as well just learn the fundamentals, so I enrolled myself in some UC Extension courses in HTML and CSS and was floored by how much I already knew. That was probably the turning point of when I decided I wanted to get into web development, because I realized this big wall I had put up around myself in thinking that writing code was too hard to learn was completely self-made and programming was something I could actually learn if I just spent the proper time on it.
Tell us a little about how you learned to Code in less than 10 Months.
I would say that learning to code on your own is not for everyone. You really have to want to learn with an undying determination and have a realistic outlook that learning to code will take a while. I learned to code because I wanted to build awesome things, so every little tip, trick, and tutorial I watched or read I was extremely interested in and the material stuck. I am the kind of person that when I hit a roadblock, I use that frustration to try harder. Once I made peace with the fact that this process was going to take several months, it made it easier to get through the times when I felt like I didn’t ‘get’ it. I probably spent the better part of 5-8 hours a day studying at the local coffee shop for 5-6 months before I was really able to start building anything I was proud of. I would say that the most important thing that started to help me learn a lot faster was in applying the material to a real-world project. Having a side project to work on while learning to code is really what allows you to start being creative on your own. I’ve tried to touch on the more subliminal things that helped me out here, however, I also wrote a more in-depth article on the physical resources I used to learn.
What were you doing when you first joined Treehouse and how has your learning experience helped to get you to where you are now?
Tell us a little about the work you’re doing now.
Back in May 2013, I was presented with the opportunity to interview at EdgeCast networks and ended up landing a great job offer. For the last few months, I have been working as a part of their Portals and Monitoring team as a UI Engineer. I have been building monitoring and reporting systems for hardware issues, as well as network data charting for the NOC. These systems primarily deal with detecting and preventing issues with the network, and sift through large amounts of server data; highlighting anomalies to improve the overall speed of the network. A content delivery network (CDN) is essentially the FedEx of the Internet, delivering data to its destination as fast as possible. EdgeCast operates one of the fastest global networks, helping sites serve their content to large numbers of users and generally speed up their websites. We power some really awesome clients like Twitter, Tumblr, Pinterest, and SoundCloud, and I believe Treehouse just joined the network as well! It has been really awesome working there, and being around so many great engineers that are all super willing to help each-other out has really been a huge benefit. I’m really happy to have this opportunity to work alongside so many talented people.
On the side, I have been contributing to a few open source projects, the latest being the Report Card widget that I just opened up on GitHub. I love working on projects like these to help explore some technologies that I want to learn, while being a part of building something people actually use.
We love your awesome Treehouse badges widget! How did the project come about and how has it evolved?
Also as a side note, if you notice that the widgets on rileyh.com run a lot faster than reportcard.rileyh.com, it’s because I am running a cool cron-job hack that basically cache’s my treehouse json data every 12 hours, and stores it on my server in a json file. It is kinda like an internal API, where I am calling the json file from my server via the AJAX call instead of the Treehouse API. This should save some server load to Treehouse as well because the badge data is no longer recalculated by Treehouse on every page refresh of my site. In terms of the performance increases; pulling from the treehouse json used to take about 4-5 seconds (although I have noticed that has been reduced to around 2.5s now, so for some reason your API has recently started performing faster, woo!), but via the call to my server cached badge json file, the badges load in under 100ms. Kinda hard to explain, but maybe I’ll write something up in the future on how to do this.
What are your favorite online resources to keep you inspired?
- Hacker News is pretty awesome for Coding news.
- CSS Tricks is an Awesome place to learn some cool new stuff.
- TechCrunch is great for staying up to date on the industry.
- I’ve picked up a ton of awesome tools and tricks from The Treehouse Show, which I watch regularly.
- The Tech section of FlipBoard iPad/iPhone app is pretty good at aggregating a decent selection of tech news.
On your blog you highlight the importance of continually learning. What’s coming up next on your learning agenda?
Based on your experience, what advice would you give other Treehouse students?
Treehouse is a great place to learn, but you have to learn the right way on it. The tests are a great way to help you learn what you just watched, but just because you passed the test does not mean that you now know that concept completely. There were plenty of times that I went through the lesson, passed the test, and then decided I didn’t have a firm enough understanding of the topic, so I re-watched the whole thing again. The point is for you to learn the content, not just pass the test, so especially in the higher level content make sure you are fully understanding everything you are learning.
A side project is essential to your learning process. You start to realize you know what you are doing when you start applying what you have been learning to completely unrelated projects from the coursework. Your side project could be anything: a personal website, a site that generates random cat gif’s, or even just an open source widget like the treehouse badges widget I started. These projects will force you how to correctly think about programming and all of a sudden you will realize that you’re writing code on your own.
Is there anything else you would like to share with the community?
While Treehouse is among some of the online resources I used to learn to code, I also heavily participated in a lot of regional learning/networking events. If you want to get into any industry, you have to start getting to know the local players and make a reputation for yourself. I am a member of a lot of local Tech Meetup.com groups, as well as a regular participant in the Startup Weekend events. In fact I noticed Treehouse was a sponsor of one of the Santa Monica Meetups I went to recently (I think it was the LA Tech Happy Hour Meetup). I also attended the Startup School weekend at Stanford, which is put on by the Y Combinator. That was a really transformational event for me as it was right around when I first decided that I was going to learn how to code. Apart from these events I also have written regularly on my experiences in learning, have contributed to open source projects when I can, helped build friends websites, and a lot of other work where the compensation was inexperience and reputation. One of the most rewarding projects I worked on was for some of my buddies from college who are the founders of Pura Vida Bracelets. I helped them build out their new ecommerce site, which they allowed me to contribute heavily on. I did much of this for free, but the learning and reputation I earned as a result was worth much more than any hourly wage I might have charged given my experience level at the time. I would say that one of the things I have done very well in this process is worked very hard on the right projects that have built my reputation. Many of the opportunities I now have are a direct result of a lot of this kind of work.
We would like to say a huge thank you to Riley for sharing his experience, being such a great Treehouse student, and a valuable member of the community. An extra big thank you for creating the Treehouse Badges Widget too, which all the community has greatly enjoyed! Keep up the fantastic work.