Eight Weeks In: A Review
I’ve been writing a lot about the process of learning and what I’m learning about learning, but it’s been a while (or never) since I’ve discussed the nitty gritty of what the heck we do at Code Academy every day, so here’s a review on the first eight weeks.
The first two weeks we spent learning the basics of the Ruby programming language, how to start our first Rails app and how to hand build our own controllers, routes and views- three of the main components in Model View Controller architecture. We built out a bank application to keep track of different accounts and some of the breakable toys I built those first two weeks included the ability to transfer funds between accounts and recalculate balances and also the start of a very simple scheduling app for the Prairie Path Cycles’ Boot Camp. I got as far as plugging in some riders but, like most breakable toys I’ve built, I scrapped it because it seems that every single day I learn how to make better.
After Jeff like felt we all had a good grasp on routing, controllers and methods he introduced us to scaffolding- the one line of code that builds out quick and dirty views, routes and a controller. “Quick” and “dirty” are the operative words because while scaffolding can save a lot of time (especially if you’re just messing around), five weeks later very few of us in class are using it anymore. Scaffolding spits out a lot of extra code and files that we eventually delete or change so the last couple of weeks we’ve all gone back to building everything out by hand so we have better control over our code. That’s definitely not to say that scaffolding is all bad though- in the weeks after learning about it I scaffolded like crazy to build out sample apps to practice the other things we were learning: associations, advanced migrations, CSS and validations. Some of the breakable toys I built over weeks three and four included a job-board with Tom Cullen and an RSS reader with Raghu (to replace the features that Google just removed from Reader).
In weeks four and five we built an “Academy Air” app in class that listed a batch of flights and users could make reservations and edit or delete those reservations. On the back end we built out filters to DRY up our code and prevent users from navigating to any parts of the site they shouldn’t be in. The final touch was building out mailers so that a user received a personalized email with flight details after they booked a reservation. In lab time I built the barebones of an online registration system that morphed into a meet-up app that Tom C, Aarvin and I built. It allowed users to create and register for meet-ups in their area.
Week six led up to the big start-up/hackathon weekend and we were introduced to JavaScript and using some more gems- specifically the kaminari gem for pagination. In and out of class I worked on and rebuilt a home inventory application that simply allowed a user to add items to a list but used JavaScript to make the forms appear in-line without redirecting or rendering an entire page.
Since the start-up weekend it’s been a bit of a blur as most of us recovered from a couple-too-many late nights- but we’ve been learning more JavaScript and getting exposure to the valuable tools Git, Github and Heroku. Heroku is an easy to use and even free hosting service for Rails apps. Git and Github are extremely powerful ways to track changes to your code and collaborate on projects. Since learning Github the “Handmade.Local” team has used it to make some updates, Raghu and I have started collaborating on a new version of the Reader app, Dave Levine and I got started on a Calendar app and Tom C and I started work on EasySked- a small business scheduling application (which has been my Thanksgiving weekend project).
As we start to develop our apps more we’re getting a clear picture of the scope of our knowledge. The things that we can build after eight weeks are pretty impressive and in talking to professional developers we are learning the right way. Jeff is providing us with a clear understanding of not just what we’re doing, but how and why we’re doing it. Having said that, we all know that Code Academy is just the beginning of a long journey. We have so much to learn and a long way to go. But that’s ok-those same developers with 10 plus years experience that we’re talking to have told us that the learning never stops. That sounds good to us. We’ll just keep building and keep learning.