The Last 15 Days

September 7, 2018 15:16 UTC Team Barcelona Duo (Exercism) [2018]Subscribe to this teams's activities

Project Progress

  • Submitted PR for issue#3881
  • Submitted PR for admin mentor dashboard (our feature)

Routine day: start the work day by updating the Trello board, check the Exercism channels in Slack, merge any outstanding open PRs in the mentor bios then grab a coffee (decaf, always), before our 9 am morning stand-up. Today was super great because I could share the yesterday's progress on issue#3881. At the stand-up Emily changed the code and we watched as my test failed, then pass when we changed it back. It was a good moment. I submitted the PR, figuring if there are any problems, they can request changes. Truth is, I sat on the code for overnight before I made a pull request. So many things could have changed in the code in 8 hours. I was lucky.

I had a moment today where I felt like a professional developer. I started working on our feature. I had a code review with Nacho, where he suggested some changes to my code to make it more consistent with the existing code in the Exercism codebase. In the process I learned a new Rails function bin/rails d controller <controller-name>. I made the changes and submitted a PR. Again, it is a small thing, but it felt bold.

Pair Programming
I have long been a fan of pair programming and the idea of two people coming together to solve a problem. Amalia and I have paired on multiple occasions, but I had never paired with anyone else before today when I paired with Salva, a developer at ThoughtWorks. I was a little bit intimidated at first, because he is brilliant and I was afraid I would not be able to actually bring anything to the experience. I was wrong, it turned out to be a very educational experience and a whole lot of fun as well.

He started by describing two different types of pair programming, ping-pong and navigator/driver. In the first each programmer takes turns programming. In contrast, with navigator and driver model one person, the navigator is responsible for breaking the problem down into smaller steps while the driver is responsible for writing the code. We chose the navigator/driver model. After establishing some guideline (e.g. the, asking permission before touching the keyboard of the driver) we started working.

I had chosen an exercise from the [Exercism]( Python track, but instead of solving it writing code to past the existed test Salva suggested we ignore the included tests and use Test Driven Development. In TDD you write a test and then write the minimal code required to pass the test. Then you refactor and start the process all over again.

He was brilliant as the navigator, not only with the technical part, but also in creating an atmosphere where mistakes are a part of the learning process. Moreover, he was patient and kind and acknowledged each passing test as a small victory for me. I learned a lot from this experience and look forward to next week where I will get a chance to pair with other developers.

It dawned on me today that after today we only have 14 more days of RGSoC. We have spent the past two months being hosted by ThoughtWorks, a company that has supported RGSoC since 2014. Everyone I have met has a curiosity about different things and a passion for learning. It has been a joy to share space with this community.

Most morning I arrive to work a bit early, ostensibly to prep for our stand-up, but really for a chance to have breakfast and talk shop with the other early birds. Some of my best learning experiences have come from this golden hour. It is during these moments that I have learned about on a range of topics: flying drones, quantum computing, music education, string interning amongst others. I am not sure I will be able to replicate this experience again, and I will miss it.

Next Week
Full Stack Fest ends today, so Amalia will be returning on Monday. Next week we have a short week since Tuesday is a holiday in Catalunya. We will focus on completing the next step in our feature.


You must be logged in to add a comment.