Student Interview: Pair Programming And Company Projects September 03, 2019
At Rithm, we believe that one of the best ways to prepare students for jobs as web developers is by giving them opportunities to work on real-world projects. Working on personal projects can be fun, but working in a team or on an existing code base gives students insights into the day-to-day challenges of a developer that they might not otherwise learn. Our 12th cohort is wrapping up their company projects with Numero, a modern financial platform that Members of Congress, Senate, and Presidential candidates rely on to manage the $4.5 billion in payment processing, accounting, and compliance for their political campaigns. Gabe and Joanna have been working as a pair, as well have Andrew and Chantal. We asked them to share their experience working together with us:
Describe yourself in a few sentences (where you’re from, what you did before the bootcamp, something unique about you).
Andrew: I was born and raised in San Francisco but went to school in Santa Barbara and Baltimore for Physics and Materials Engineering. I moved back to the city to work as a data analyst at a start-up for a year before attending Rithm. I play video games semi-competitively and attend local tournaments (especially for Super Smash Bros.)
Chantal: I grew up in Hong Kong but was in the US for high school and college. I worked as a journalist and then a game tester in Asia after college, and returned to the US this year. I love learning new languages and can speak six different languages to varying degrees of fluency.
Gabe: I’m from Santa Barbara but I don’t know how to surf (I do like mexican food though). I was a massage therapist before attending Rithm. Math was my favorite subject growing up and I have always loved the analytical problem solving aspect of it and the “aha” moment when you finally figure something out. Coding has that aha moment too; when you finally figure out the bug that has been stumping you or a concept finally makes sense. I didn’t start learning coding until later but when I did it really clicked as “yes this is what I should be doing” and so here I am.
Joanne: Hi, I’m Joanne! I grew up in Vancouver, B.C., Canada, spent some time in New Jersey, and now call San Francisco home. Before Rithm I worked as a tech consultant in the public sector and as an implementation analyst at a govtech start-up. In these roles, I witnessed the transformative power of technology firsthand. After some time, I decided I wanted to take on a more active role in creating this technology, so I set out to learn those skills. Fun fact: I boulder!
How would you describe the experience of working on these company projects? Can you tell us a little about the projects you’ve been working on?
Gabe/Joanne: We worked for a company called Numero, which recently came out of Ycombinator. They are a company that helps political campaigns manage their finances and are trying to replace a lot of the legacy software in this area. We worked on their data visualization page for an individual campaign’s contributions. We worked on getting up to speed on a Ruby on Rails codebase and improving the load time of a data visualization component.
Chantal/Andrew: It was challenging but very rewarding. We were thrown into the deep end and had to pick up a new language and framework - Ruby and Ruby on Rails - as quickly as possible so that we could meaningfully contribute to the codebase. We were surprised at how well the curriculum at Rithm prepared us and how quickly we picked things up - many of the concepts were familiar and the hurdles were more with the quirks of the language and framework itself.
How large is your team? What have you learned by working together?
Chantal/Andrew: We worked in pairs of two, but our team for the project consists of four people. Even though each pair was working on a different part of the visualization in the same codebase, communicating between pairs was crucial in streamlining the development process. The pair that encountered a problem first would often give the other pair advice and help out if they encountered similar difficulties.
Gabe/Joanne: Our team consisted of 4 Rithm students, 1 instructor, and the Numero team. We programmed in pairs, which was really helpful in debugging and getting unstuck. We also got a lot of valuable feedback from both our instructor and the Numero team when we submitted our code for review. Both pairs had paired together multiple times before the company projects started so there was some familiarity there, but working as a team continuously for multiple weeks was still a new experience.
What are some things you have accomplished while working on these projects?
Chantal/Andrew: We made the website more performant by refactoring the data visualisation into a React component and building an API endpoint to serve the component to reduce load times. The visualisation looks and works exactly the same, so users don’t notice it, but that is exactly what we wanted.
Gabe/Joanne: A large part of Numero’s codebase is in Ruby on Rails, which we had not been exposed to prior to company projects. However, within a week we were able to write production level code (and tests) in this new language! Like the other pair, we also improved load times by replacing server side templating with an API endpoint, which served JSON data to be consumed by React components.
What was the most challenging thing about working on your project?
Chantal/Andrew: The most challenging thing about this project was having to debug and test in a language and framework we were not entirely familiar with. This delayed us longer than we expected, but now we have more debugging and testing experience and are more confident developers because of it.
Joanne: One of the most challenging, but also rewarding, things about this project was diving into an existing codebase written in a completely new language (Ruby) and framework (Ruby on Rails). Shout out to Michael Hartl’s Ruby on Rails tutorial, our instructor Elie, and good ole pattern matching for helping us out.
Gabe: We actually hadn’t used Ruby or Rails before company projects, but being familiar with the MVC model in other frameworks, and already having built many API endpoints that serve JSON made the transition pretty smooth. The concepts were the same as the ones we had learned - just the syntax was a little different.
As a developer, what have you learned as a result of working on production code?
Chantal/Andrew: Working on the company project allowed us to learn important developer skills outside the classroom context including working with a sizable team, professional workflow, and navigating unfamiliar and larger codebases. We learned to deal with unexpected problems that delayed our development process and how to write better professional code through the extensive code reviews from Elie and the team at Numero.
Gabe/Joanne: Working on a production codebase is a very “throwing you into the deep end” experience, which is my favorite way of learning.One of the biggest take-aways from this project is that coding is as much (if not more) reading, understanding, and collaborating as it is writing code.
It is not only motivating, but fun to work on code and features that will be used by many people. Check out more about our company projects here!
Written by Rithm