The Chronicles: Learning Web Development at Bitmaker Labs (Week 1)
On what we covered and a few thoughts on learning development in a classroom
I have to say right away that it was a pretty awesome first week. I am eager to get back to the action tomorrow, but not before I talk a bit about what I learned during the first four days of the course.
For my own benefit (what did I learn again?) and for yours, here’s a taste of what we covered during our first four days:
After getting to know our cohort and hearing from the wonderful individuals who help Bitmaker run, we had our first lesson on Monday afternoon. We covered operating systems, using our command line, keyboard shortcuts, git, and GitHub. I can now navigate around my computer using mostly the keyboard and command line, and I am in a solid habit of committing all my work with git, which is a version control framework. It’s a useful tool for developers because it allows us to revert to old versions of our work to see what we may have done to make something not work (or work).
On Tuesday, we dove right into Ruby. We learned about data types — strings (anything inside “”), booleans (true or false), numbers (12345) — control flow (if/unless statements), variables, and string interpolation. In the afternoon, we built a tiny program that printed phrases in our command line.
We continued with Ruby fundamentals on Wednesday: arrays, hashes, methods, and classes. In the afternoon, our assignment instructions had us build more tiny programs in the command line that took user input and returned the answer to a calculation. One program converted degrees Fahrenheit to degrees Celsius and another output the user’s year of birth when his/her age was given.
This was the hardest day so far — the morning’s lesson was difficult to understand and frustrating, but it made me excited for what is to come. It also reinforced for me the importance of doing more than the suggested exercises to practice what we learn and to solidify ideas. We learned about object-oriented programming; methods, readers & writers, inheritance, and instance, local, class, and global variables. In the afternoon, we built a program that printed different instances of classes that we used methods inherited from a parent class to build out. We also tackled a challenging assignment which asked us to build a tiny program which would move a “Mars Rover” around on a “plateau” based on user direction in the command line.
Week one was a short week due to the Easter long weekend, but we still managed to be inundated with new information and practices to think on before Monday.
I learned to build static websites on my own with HTML and CSS, and I started building websites a year ago because I liked the challenge of solving a problem and the aspect of creativity needed for layout and design. I found it really difficult, however, to continue working on a client project when I got stuck on a bit of code that wouldn’t work, which would often result in me giving up for the day and feeling bad about myself. While I recognize that getting stuck on problems is part of being a developer, being equipped with the right tools when you’re problem solving is essential to getting over the hump. And this is why Bitmaker is valuable.
As developers, it is crucial that we are self-sufficient — that we are able to solve problems using the resources available to us (aka the Internet). But new developers who are still learning the ropes would benefit immensely from what Bitmaker provides, which is:
- Teaching its students how to be self-sufficient by opening their eyes to all the amazing forums and documentation available to them;
- Helping students to understand how and why to write beautiful code so that they can easily collaborate with other developers;
- Providing experienced instructors (IN REAL LIFE) to help when students inevitably get stuck on a problem.
I should re-phrase what I said above — this is what makes Bitmaker INvaluable. There are one thousand resources online to help people learn code online: Codeacademy, Treehouse, CodeSchool, Thinkful, RubyMonk, Code.org… just Google “learn code online”. Most of them are free — and they’re amazing as a base. I’ve used them. Bitmaker even has us do Codeacademy and Rubymonk courses as prepwork for this course. But they don’t give you that extra push developers need to bring their ideas to life. When you are ready to pull your hair out and quit for the day, there is no one there to say, “Come one, let’s just go through it one more time”.
A note on The Chronicles
I’ve been documenting my experience at Bitmaker for the last few weeks privately with the intention of publishing “The Chronicles” when I had a chance to go over my writing, but I’ve decided to publish as I go and to dedicate less time to edition so the public documentation of my experience is fresh. I hope that you enjoy these and you find whatever you’re looking for while reading them.
Tara Mahoney is a freelance web designer & developer in Toronto, Ontario.