The amount of new information I’ve learned in the past six weeks has been overwhelming, but in the best way possible. Lectures and readings have only taken up a small portion of the daily class period and instead we are challenged with working through problems on our own (often in pairs) after being somewhat briefly introduced to a topic. The hands-on learning has been a change from the spoon-feeding I’ve gotten used to from all of my previous education and I’m really starting to see the value in struggling with concepts before being given an answer or shown a technique. Certain concepts have been difficult to grasp and frustration is inevitable when learning a new craft, especially a technical skill like software development. Thankfully this frustration has been fleeting and less frequent as I’ve become more accustomed to finding my way out of the darkness. Problem solving has become an enjoyable daily process and I’ve noticed a change in the way I think about other problems in my life.
There is strong sense of community in our class providing a safety net for difficulties in this learning process. We’ve been doing a lot of pair programming which I’ve found to be an excellent way to learn and work on projects. Terence Lee, a Heroku staff member and Bundler team member (among other things) spoke to us this week about Heroku, Gems, Bundler and the Ruby community. One of the points he spoke about which I find interesting is how Ruby was created with the desire to make a programming language that programmers want to use and which makes them happy. I really like being a part of a community which is searching for a greater good and promoting happiness for individuals over extreme functionality. This point is illustrated well by the screenshot below from one of Terence’s slides showing a quote from the chief designer of the Ruby language, Yukihiro “Matz” Matsumoto:
I made the first commits on my personal project (Lukefolio) last Friday and got a bare-bones development-version running on Heroku. Lukefolio will be building on my history with photography and the portfolio site I made a few years back. I want to create a database-oriented imaging app where users can search for my images using keywords and metadata queries, create their own collections of my images, easily share my images through other image sharing apps and purchase digital and physical prints from their account without having to be redirected to a third party for any part of the ordering or delivering. I did some research on metadata last night, specifically on EXIF data and figured out how to write Ruby to extract specific EXIF tags and their values. I’ve always wanted to be able to do something with this image metadata on my portfolio page and its exciting to learn about the tools available to access this information.
We were assigned mentors this week, which I’m super grateful for, after learning how helpful it is to have a lifeline when learning difficult topics in my experience with Thinkful (shout out to Michael). My mentor is another gSchooler who’s in the Boulder class and who has already helped me getting the basics set up with my personal project (thanks Emily!). I’m really excited to learn from her and also for our mutual interest in music and dance parties.
gSchool has been an incredible learning experience thus far and has given me a new perspective on what it means to be a software developer. It’s the challenge I’ve been searching for and so much more than I could have expected. I’m excited to see what the future brings.
Today marked the end of our first week of gSchool. Super happy with the group we have and I’ve really enjoyed getting to know everyone. CLI and Git/GitHub were the main topics we covered this week. I attended my first MeetUp on Tuesday for the monthly Denver.rb and met some great people and learned some basics on Ruby, which we’re going to dive into next week. Can’t wait!