Week two is in the books and the pieces are slowly starting to come together. We spent the majority of this week learning Rails and while I’m nowhere close to building my own web application, I think I’m starting to understand all the moving pieces and how they come together to create a finished product. I won’t lie, there were multiple blank stares throughout the week, but thanks to Jeff Cohen (our instructor) and my classmates, I made it through. I really enjoy Jeff’s teaching style, which really forces us to learn by doing. For example, whenever we begin a lab, Jeff makes us watch him go through every step. Then he erases all the code and goes through it again while we follow along. Finally, he wipes away the code one last time and makes us go through the lab in pairs. This method has been extremely helpful and I can’t say enough about “pair programming.”
Quick side note for anyone unfamiliar with “pair programming”…it’s a technique in which two people work together at a workstation using only one computer. One person acts as the driver and types in code while the other person, acts as the navigator and each line of code as it’s typed in. I cannot stress how much time I’ve saved using this technique throughout the first couple of weeks. One mistyped word can prompt an error message, leaving you pulling your hair out for hours, when all you needed to do was capitalize a letter or add a comma! Additionally, pairing with another person helps both people learn faster because each person spends time teaching the other.
Alright, I’m done with my rant on Pair Programming. For the sake of fulfilling at least one of the strategies/goals from my first post, I’ll end this post with some advice for anyone interested in entrepreneurship and/or programming:
Go out and read the book Learning to Program by Chris Pine. This has been a great resource for me and does an awesome job explaining the basics of Ruby. Whether you’re a manager at a large company or you’re running a small start up, take 15 minutes every week to let your team tell you know how things are going. Every Friday we get together and let Jeff know 4 things:
- what he should START doing
- what he should CONTINUE doing
- what he should STOP doing, and finally
- we tell him if we had any “AH-HA” moments where something clicked for us.
I understand this may sound as scary as a comedy central roast, but it will make you a better and more efficient team/class/manager/etc.
If you’re thinking about getting in to software, read “Apprenticeship Patterns.” This book was highly recommended to us and I can definitely see why. The book does a great job putting things into perspective and understanding what it’s like to start learning how to program