So after a week of going through Thoughtbot’s Upcase program, I’ve decided that it wasn’t for me. There was definitely a lot of useful information, but it seems like the service would be a much better fit for someone who already knows Ruby/Rails and is looking to get a deeper insight to the intricacies. Personally, I think an intermediate level developer would benefit most from Upcase, not folks like me who need their hands held every step of the way.
There are two Ruby on Rails tutorials. The intro tutorial goes through a simple card type app where you can build a deck of cards and the intermediate one builds a Twitter clone app with TDD. While both tutorials were in-depth and covered the basics, I didn’t feel like there was a lot of value. The deck app was simple enough where you could probably figure out how to put together yourself if you scoured Google and the Twitter clone was a duplicate of Michael Hartl’s tutorial. To their credit, these are great tutorials with great explanations, but probably not ones I’d pay for.
They have various “Trails” that are essentially paths to help you better understand a specific skill at hand. So they have a Ruby trail, Vim trail, Rails trail, etc. These trails may have one or two Thoughtbot video tutorials, but for the most part, it points you to an outside reference. For example, the SQL trail doesn’t have any Thoughtbot created content. All their references are pointed to an outside resource. While this does save you the time of going out and finding the sources yourselves, I don’t think it’s worth paying for. It’s great they laid out a plan to help folks get an understanding of what they might need in order to land a job as a developer, but what you could have found everything you’ve been given if you just ran a search on Google.
The weekly videos they release every Friday are definitely interesting to watch. They go through various Ruby related concepts and discuss technology in general (Law of Demeter, Sandi Metz’ Law, dependencies). Again, this is where I believe an intermediate Ruby/Rails developer would benefit from most. As a beginner, these concepts and talks go over my head. When they start getting into extracting classes and refactoring code, although I know what they’re talking about, I can’t value the discussion as much as I should because I have no real context. There are definitely some videos that anyone can benefit from, like how to land a Rails job, but from a beginner perspective, I can’t fully appreciate what they’re talking about.
Another section where I believe an intermediate developer would benefit from most. There are great exercises that they release on a weekly basis, however, as a beginner, I really have no idea what I’m doing. When asked to write a test for a particular method, I’m not quite sure where to start. How does this differ from the other, free exercises like exercism.io or Ruby Koans? I think the approach would’ve been great if they gave an exercise, then walk you through finding the answer. I get that they’re trying to push subscribers to use critical thinking, but it just becomes frustrating when you have no idea what you’re doing (which is why you’re there to begin with).
They have three repositories that you have visibility in to: the Upcase application itself, the application they’ve built for their exercises, and Payload (which I’m not quite clear what this is). They are all full, heavily tested applications. It’s a great insight into how a production level application is structured. Being able to go through all the files and code, it really opens your eyes and sets the precedence of what to expect if you land a job as a Rails developer. If only I knew how to read the code so I can understand what’s going on. Again, this is where I think someone who has a strong grasp of Ruby/Rails will benefit from most. As a beginner, it’s just scattered letters and symbols.
It may sound like I’m being highly critical of their service, but it’s my personal opinion. After a week of playing around and going through most of their material, I didn’t find myself constantly coming back to Upcase. I strongly believe this is the best monthly subscription service out there. And if I feel like I’m not getting a lot of value here, I can only imagine what the hundreds of other services are like.
I find it hard to believe that there isn’t a better learning program. As I’ve said before, maybe you get what you pay for? After going through a program created by highly regarded Rails developers and feeling like I’m not getting a lot of value, do I really want to make the jump to a Bloc.io or CodeSchool. What I want is simple: walk me through building a semi-complex app from scratch. Start from “rails new <name>” and show me the entire process, including TDD. Hartl’s tutorial is a great starting point, but I want more functionality. Show me a Facebook/Quora/Yelp/Groupon clone that includes full text searching, geolocation, and administration management.
My quest to learning Rails continues. As always, I will report back on my progress and will review any resources I’ve tried.