Well, I’m already 16 weeks into my 36 week Full Stack Bloc apprenticeship! It has been an incredible journey so far! The first 12 weeks were busy learning all the fundamentals of web development, starting with the command line all the way through learning HTML and CSS to really understanding how to use Ruby on Rails. This foundation module walked me, tutorial style, through creating Bloccit, a Reddit clone which is living at bloccit.bayer.ws. Overall, I was able to really breeze through this entire module thanks to my pre-Bloc preparation.
Prior to starting Bloc, I went through the short TryRuby.org tutorial and some Codecademy courses. I also completed most of RailsTutorial.org, which you can do for free with the online book. While going through the RailsTutorial, I was in over my head most of the time and didn’t really understand a lot of what I was doing. Nevertheless, I think it was very helpful for me because as I went through the Bloc foundation phase, I actually had a basic idea of how Rails worked. This generated a lot of “aha” moments as I started really understanding the workings of Rails.
In addition to the tutorials, I also read several books. The most meaningful ones were Getting Real by Basecamp, Apprenticeship Patterns by David Hoover, and Why’s (Poignant) Guide to Ruby. By the way, another absolutely amazing book for getting started with design, which I read after starting Bloc, is Bootstrapping Design by Jarrod Drysdale. Also check out this reading list by David Heinemeier Hansson.
Starting with week 13, I’m now in the second and last phase of Bloc, the project phase. Tutorials are now a thing of the past. This phase is awesome because you are given a real project with a list of requirements and just a smidgen of design tips. You are left to design and develop the entire application on your own (and with any needed mentor assistance of course). This has been very fulfilling for me, especially because I’m taking lots of liberty to learn and exercise front-end design skills as well as trying out new gems, databases, servers, etc. I also am trying my best to develop the applications without looking at any of Bloc’s guidance and tips.
The first project assignment was to create a to-do list application that automatically deletes unfinished tasks after 7 days. For this project, I decided to learn and use the Foundation framework instead of Bootstrap which I used for Bloccit. I also made it responsive so that it looks and works great on any device (It’s my opinion that every website should be fully responsive :] ). I wrapped up TaskThresher in 30 hours over 3 weeks. This app lives at taskthresher.bayer.ws.
The second project I’m working on is a collaborative wiki with both free and paid accounts, but I’m currently just at the beginning stages. It’s called InfoShuttle and will feature the incredible solarized-dark color scheme. I’m really excited about this project as I’m able to build it a lot better because of everything I learned while building TaskThresher. I’m using Foundation again for this project, but I’m learning and using PostgreSQL for the database and Puma for the server. I also set up Guard::LiveReload to automatically refresh my browser (awesome!!!). So stay tuned for the release of this awesome app!
Overall, I’m very, very pleased with my Bloc apprenticeship experience so far. It’s hard for me to believe how much I’ve learned and the skills I’ve gained in just a few months time. If you are thinking about learning web development, I highly recommend you check out Bloc! (And use my referral link for a discount!).
P.S. To Chrome users: you should really try out Firefox, especially Firefox Developer Edition. I’ve used Chrome for years and years but just tried Firefox again the other week and am amazed by its speed. It is now way better than Chrome in my opinion. The developer edition is definitely better than Chrome for using the inspector, responsive design view, etc.