If I had to sum up week 4 in one word, it would be “progress”. I apologize in advance for the cliche, but in week 3 we were on the runway waiting for takeoff; in week 4 we put the wheels in motion and started to take off. The material is getting more advanced, we’re starting to build more complex demo apps in class, and I’m starting to see how the concepts we learn in class can be applied to real world applications, which is really exciting. Here are some highlights from week four:
Jeff was out of town, so Raghu, our TA, took over for the day. Raghu did a great job and had us work through various Ruby labs exercises. After spending a lot of time in Rails, it’s easy to take things for granted, so it was nice to get back to basics for a few hours. Ragu’s a great teacher and really forces you to work through problems on your own or in pairs. While this can be VERY frustrating, I know that it will make me a better developer in the long run. It may seem obvious, but one of the best ways to work through a problem is to ask yourself, “Where is this defined? What does this mean, or what is this trying to say?” You’d be shocked to see how many problems you solve by simply talking to yourself! (Side note — If you’re worried that people will think you’re a crazy person, just wear a bluetooth headset while you program, that way people will just think your SUPER cool and important)
Started bright and early with “Code & Coffee” from 7-9 AM. For those of you unfamiliar with “Code & Coffee,” it’s a small gathering, where developers get together and work on their projects at a local coffee shop. It’s a really cool environment, especially for beginners like me because there are people of all skill levels that are willing to help you out.
Shortly after, I attended Geekfest at Groupon, and listened to Chris Powers speak about sharing code between server and client with node.js. Per usual, the topic was a little over my head, but it’s still a great learning experience and an excuse to spend a little extra time with my mentor. If you’re looking to get connected with the development community in Chicago, I highly recommend attending Geekfest. At the very least, you’ll walk away with some good connections and a full stomach.
Later that night, I attended Technori pitch, a monthly showcase for Chicago tech start-ups. Over 500 people showed up to hear 5 different Chicago based start-ups pitch their companies and answer questions. Technori pitch is a really cool event and I’d encourage any aspiring entrepreneur to attend. Getting on stage in front of 500 people takes a lot of courage and I applaud all 5 companies for putting themselves out there. I would love to find myself on that stage someday.
With Jeff back at the helm, we dove head first into the MVC framework and really focused on how models interact with rails applications. More specifically, we talked about model validations, which enforce our rules about what kind of data is allowed to exist in our apps database, and model associations, which is what connects models together. I definitely experience an “Ah-ha” moment in terms of the MVC framework, which felt great. Understanding how MVC interacts with your application is the first step to becoming a good developer.
I decided to build a blog application from scratch using the following guide. It was a great exercise and ended up being a great way to incorporate everything that I’ve learned so far. My goal is to continue perfecting the blog and eventually transition away from tumblr. Later that night, I attended the open house for our new “hacker space” at Design Cloud. Code Academy and some of it’s alumni rented out a very cool space in the west loop for past and present students to get together and collaborate on projects outside of class. In my opinion, Code Academy’s biggest strength is it’s ability to create incredibly passionate communities and the new space at design cloud is further confirmation. After the open house, I met my mentor and went over some of the projects I’ve been working on. He provided very constructive feedback and really helped me think through a few of my app ideas. Thanks to him, I finally know what I’m going to build for demo day!
We went over one-to-many relationships and touched upon a few key “agile development” principles, such as:
- Principle of Single Responsibility
- Code Clarity
- DRY (Don’t Repeat Yourself)
Needless to say, it was a good end to a very productive week, I can’t wait to continue hacking away! I’m going to start working on my demo app and personal website this week so stay tuned for some screen shots!