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 13th cohort is wrapping up their company projects with JumpOffCampus, a new platform forging partnerships between Universities and safe, secure, off-campus housing. Jennifer Ma and Luke Nemy have been working on the same team using React, Ruby on Rails, and Google Maps API to incorporate a live map and rental listings with filters based on a user’s selected location. 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).
Jenn: I was born and raised in Los Angeles. I majored in Business and minored Real Estate Development at USC. I worked as an underwriter in commercial real estate lending for a few years before deciding to move to San Francisco to pursue a career in software development. I had developed an interest in coding during college, but decided to finish school on time with my intended track. However, after seeing a few of my friends successfully complete bootcamps and become developers, I was inspired to take the plunge into software engineering!
Luke: I grew up in the East Bay. After high school I was really into Film Photography and went to community college for a few years for it. I then moved around Northern California a bit and came back to school to study community based art but ended up changing my major to Cultural Anthropology. My interest in tech started a couple years before I applied to Rithm School when I started realizing the utility that web development has to offer beyond the ‘tech-bubble’. I started taking free online courses and the rest is history.
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?
Jenn: JumpOffCampus is a student housing finder similar to any apartment rental search website. My primary objectives revolved around incorporating a live map and rental listings with filters based on a user’s selected location. It was challenging, but rewarding to learn and update an existing codebase built on Ruby on Rails 2.0 to 5.0. In addition to learning Ruby on Rails, my partner and I built the frontend using React and integrated the Google Maps API to add the live map feature to the application.
How large is your team? What have you learned by working together?
Jenn: There were 5 of us on this team. I primarily worked with two individuals on both the frontend and backend map feature of the application. Through working together, I was able to understand more about each person’s learning style so that I knew when it was appropriate to pair on a task and when to work solo.
Luke: Our team had 5 people, it was really great to see what it was like to break apart a larger project/code base into multiple pieces and to really get a bird’s-eye view of what issues were priority. I learned a lot about estimation, time-boxing and perseverance; while working on the Google map portion we went through three different libraries trying to find the right one that satisfied our needs. What we thought may have been a two day project quickly doubled. It was a great learning experience of expectations vs reality, as well as an exercise of ‘how long do we try to make this work’; before we try another approach.
What are some things you have accomplished while working on these projects?
Jenn: The first win was successfully incorporating Google Maps into the application. There were some initial challenges with implementing this feature due to our unsuccessful attempts at using third party libraries. Once we were able to get it up and running, we could add map markers and clusters to pinpoint all the available listings in a search perimeter. The second success I had was finishing up the backend search queries to accommodate a user’s ability to filter available listings. There were quite a few filters users could search by and logic had to be written to account for each and every one. Some filters were trickier than others to code given existing application constraints. Working closely with our team lead was helpful in ensuring that I was able to finish the task in a timely and thorough manner.
Luke: I’d say getting up to speed with a codebase in under a week was an accomplishment. Albeit wasn’t the largest or fully featured product; the fact that it was also all in Ruby (which I also learned in the same week for the first time) was definitely a part of the learning curve. Another thing would have to be learning about the process of integrating robust 3rd party libraries into a project, we’ve used others before throughout the program but not many front-end libraries beyond a templating or design library. It was a great experience to see how fast I could learn a new library, create a dummy app, testing it, seeing how it all works, then thinking about how to integrate it for our needs in the project, and finally implementing it. I’m really glad that I got exposure to this process.
What was the most challenging thing about working on your project?
Jenn:The biggest challenge I encountered was using the Google Maps API with third party libraries. My partner and I soon learned that many of these libraries were out-of-date and had sparse documentation. Given the lack of adaptation of a formal Google Maps library, we decided to build our map directly using the API. We found this to be the most straightforward way to understand a new technology in a short amount of time.
Luke: When working the Google Maps libraries we encountered a lot of confusing and misleading errors that ended up circling around and around. This proved to be a great challenge of: is it worth it to keep trying to make this work or just try something else? The two third party libraries we tried both had little documentation, but we were able to get them working outside of the context of the project. The real challenge was integrating them. While attempting this we realized that using the Maps API directly was actually a much cleaner approach, whereas at first it seemed daunting and excessive. After working with it at a periphery for a few days, it was clear that that was where our best chance of success was.
As a developer, what have you learned as a result of working on production code?
Jenn: Working on production code has more consequences than development code. Although I would argue that I was detail-oriented before beginning this project, I found that there was a heightened sense of due diligence involved that has taught me to be more meticulous. This is especially important when I am at a stage where I am ready to merge my feature into the main branch. Another thing I learned from working with an existing codebase was a new language. Learning a new language and framework in a short amount of time gave me more confidence in my abilities to quickly adapt to new technologies in a short amount of time.
Luke: There’s a lot of moving pieces, and you don’t always know what’s going on outside the scope of your git-branch or even entire team. Getting comfortable with this was something I had never done before. Working on this project definitely helped make it all ‘feel real’: working in small teams, doing stand ups, and talking with other groups about code they wrote as your trying to build off of it. It’s what I imagine, at some level, working at a company will be like to some degree. Working on this project also taught me more about my own pacing, and my own sense of what it would be like to estimate how long it would take to complete a feature. The experience of taking responsibility for an entire feature was a big win for me.
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!