Week 1 of Hackbright just wrapped up!

Given that my first post was dedicated to my wonderful and supportive family and friends, this post is dedicated to the brilliant and fabulous Hack13right ladies I shared my first week with! It’s so interesting to see all the different backgrounds and unique personalities and it makes me more excited about the program by the day. We covered a lot of material in our first week, as well as some housekeeping stuff:

  • Sorted, literally, into houses from Harry Potter — I’ve been very aptly sorted into Slytherin, which is by default an awesome house for the following reasons: (1) Snape, and (2) Slytherin > Snake > Python… eh, eh, amirite? 🐍
  • Started with the basics of Python, including conditionals and looping, some data structures (lists, tuples, and sets), computer memory, and functions
  • Got a light lowdown of Git, getting us into the good habit of git status, commits, and pushes (I think I’m beginning to get a little trigger happy with git commit…)
  • Explored some basic algorithms and logical models/frameworks
  • Had our first advisor session who will be our guiding spirits as we meander through our Hackbright adventure

So overall, a very comfortable, awesome first week of bootcamp! The most important thing we learned this week however, (in my opinion) isn’t any one “thing” we covered but starting pair programming. This is a totally new experience for me and it has really changed the way that I think (and talk) about code. A quick overview for those who are not super familiar with pair programming, it’s a single workstation with two screens (although sometimes one, but we have two at Hackbright), two keyboards, two mice, and two programmers working on the same piece of code. Typically, to keep organized, one programmer will take on the role of “driving” (typing out the code) and the other will take on the role of “navigating” (providing guidance), with the two programmers switching often.

I find that actually, in many ways, I enjoy “navigating” in pair programming more than I do “driving”. Coming into Hackbright, and I’m sure many others likely shared this opinion at some point or other, I thought that if I didn’t physically type out lines of code constantly, I wasn’t “earning my share” of the pair programming partnership (don’t lie Hackbright readers, I know you thought these things as some point too!). Now that we’ve sat down in the lab and actually began the pair programming exercises, I found the part that brought me most enjoyment was discussing the instructions with my partners and solving each problem together — the more complicated it was the better! Coding was just a way to get the computer to understand the super smart solutions we came up with. The “driving” experience was more about “translating my partner’s and my cool thoughts for the machine” rather than just the “act of writing code”.

That being said, I think that I have been falling into the trap of “drive-igating” (driving and navigating). It’s hard not to get super excited about an idea, get carried away with it, and want to get it out on the screen instantly. For this coming week of Hackbright, I’ll be practicing more “pair programming mindfulness” and my goal is to set each pair programming session up with conversations about pairing style and also as the exercises we are working on become more advanced, conversing more with my partner and setting up a gameplan/pseudocoding in advance more often.

It’s a strange thought to articulate, but I feel like pair programming makes the exercises and the work we do more “language agnostic” and we’re really learning to solve problems with others beyond Python. Pair programming also forces us to discuss our logic and ideas with our partners constantly and keeping those lines of communication open, so it forces us to understand the code on a higher level than just the syntax. It’s like maximizing utility of consumers given a budget constraint in an economic model. We use the Lagrangian. In order to reach that calculation, we need to first understand what “utility” and “budget” mean on a logical level then we apply the Lagrangian as a mathematical tool for us to get to the solutions we want. If I couldn’t explain “a budget is a limit on how much a consumer can spend” or “utility is basically enjoyment/positive gains from ‘stuff’ consumers buy”, then I couldn’t say “hey, let’s use that calculus thingy that maximizes/minimizes consumer happiness given their budget constraints” (beyond just “my teacher/cat/parent/friend said so”). Talking about code colloquially is an extremely valuable learning point and I don’t think it could be achieved in any better way than pair programming and working closely with our peers.

Switching gears a little bit, I wanted to reflect on adapting to the new environment and lifestyle. I did laundry at an actual coin laundromat for the first time ever! I realize that sounds extremely spoiled of me to say, and to clarify, my family has done coin laundry in the past when we were traveling, but this is a new experience for me as an individual… anyway, I am now the proud owner of $7.25 in quarters, which I plan on investing in future clean laundry. Beyond the laundry adventure, I found that even though life in San Francisco isn’t vastly different from life in Toronto, I still feel that I bring my “Canadian-ness”/“Canadiana” around with me. I think it’s just little things I say and do that hint at it, like jumping out of a bus seat the second an old person steps on or using the word “washroom” instead of “restroom”, but whatever it is, I rarely think about it unless I’m outside of Canada. It’s hard to describe what being Canadian is when you’re in Canada, but when I’m elsewhere, I feel like there is a red maple leaf painted on my forehead. I am obviously imagining it and no one can tell just by looking at me, but it’s just a peculiar feeling that I carry around with me as I go about my day-to-day life.

Since a part of our Hackbright education is the concept of “self-care”, I’ve henceforth declared Saturday evening as a time when I explore the city and don’t take any work with me (that’s right, the laptop is staying home!). So, on my first official “Doria date-night”, I visited the Make Store Pop-Up, purchased a shiny new Raspberry Pi starter kit (yay, more coding!) and went for Vietnamese food at Tu Lan. I can’t speak to their pho, but their BÚN CH GIÒ THT NNG (Pork Kebab, Imperial Roll & Rice Noodle), especially the Imperial Roll part, is to die for! I mean that somewhat literally, because then I took a walk to my bus stop through the Tenderloin, a word which is now defined in my mind as “an area where crack cocaine is smoked and/or sold every square metre”. Yes, metric is used here because it is a highly scientific measurement made through the observations of me, a sample size of one. I am, of course, exaggerating for effect, there are many wonderful, charming things about the Tenderloin, but I will still be avoiding walks through the neighborhood at night for the most part.

Lastly, I made some quick updates to the site — most notably I’ve set up the comments via Disqus and implemented Google Analytics, so I can see where all five of my readers are coming from (kidding, I know it’s just you, mom!). I am new to both of these functions — Disqus and I are still working through some of our issues, such as customizing the share function, but if anyone has any advice on these features, I would love to hear from you!

Thanks for reading and I’m super excited for week 2! 🎉