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 codebase gives students insights into the day-to-day challenges of a developer that they might not otherwise learn.
Last month, our students spent several weeks working on two company projects: one in partnership with the BAND Lab at UCSF, and another with a venture capital firm in San Francisco. Towards the end of these projects, we spoke with student Torre Taylor to get his perspective on the experience.
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?
It’s like a real world development environment. The teachers are the project repository owners. Any code I submit to the project gets a thorough review and often is sent back to me with changes requested before being accepted into the project. You can’t be careless. Everything down to excess spacing or indentation could be a reason for your pull request to be denied. However, the instructors are superb at explaining why changes have been denied and provide tons of feedback on how to improve your code.
We’ve been fortunate enough to work on two company projects in this cohort. Both projects are intended for production upon completion. My team started on a web application intended to help doctors at a local hospital diagnose mental illness in incoming patients. The app gives the doctor the ability to send a playlist of several videos along with questions to a patient. As the patient watches the videos and answers the questions, their actions and facial expressions will be recorded with their device’s camera. The recording will then be sent back to the doctor for analysis.
The second project is a customer relationship management system for a venture capital firm. Users of this system can create entries and profiles which include companies and people whom the firm has a relationship with. It’s a great centralized location of information for the firm’s employees to easily access and contribute to.
How large is your team? What have you learned by working together?
My team has 4 members. Working within a team I’ve learned effective communication and organization is key. We utilize Agile development methodology in order to give us clear goals, an estimated timeline for meeting those goals, and an understanding of what everyone on the team is tasked with. We have one standup group meeting a day to communicate what we have been working on, what we intend to work towards, and what, if any, roadblocks stand in our way.
What is the most challenging thing about working on your project?
Reading other people’s code and being able to understand what it’s doing. Before this project I had never been in an environment where I had to figure out every detail of how an app works based on reading code I hadn’t produced myself. Initially, it was overwhelming to look at the large amount of code and I wondered how I was going to make sense of it all. Just like most aspects of programming, if you break it down into small understandable parts, you slowly start to grasp the bigger picture.
If there is one piece of advice I could give to aspiring developers, it is to read tons of other people’s code and work toward understanding it. You can then start to think of ways to improve it.
Has your perspective as a developer changed as a result of working on production code?
It’s given me more confidence in my abilities. It’s empowering to realize you can work on a large code base and be a valued contributor. But also it has given me a sneak-peek on what it’s actually like to work as a developer on a daily basis. Development is not just about writing code and producing new features. You have to be good at writing tests, refactoring code, utilizing more space and time efficient algorithms, tracking down sources of bugs, communicating with your team, and thinking of ways to improve the project. Additionally, you should always find time to learn new skills and refine current skills.
Describe yourself in a few sentences (where you’re from, what you did before bootcamp, something unique about you).
I’ve lived in San Francisco 12 years and have been a fitness/wellness coach the entire time. I started software development in order to build applications designed to help my clients’ fitness endeavors. After dabbling with several different programming languages I realized I loved the feeling of solving coding problems and developing a product people can actually use. My goal is to use all the amazing skills I’ve acquired at Rithm School to build valuable applications which help large populations of people live healthier lives. Also, I rarely wear socks.