Last week, Trulia Rentals announced its latest product innovation, Rental Resume. This new feature enables renters to quickly and easily provide landlords with vital information upfront, and as soon as they find a listing that interests them. Additionally, for landlords, Rental Resume gives back the gift of time by helping them more easily and efficiently identify qualified renters.
As a software engineer embarking on my first post-grad job, working on Rental Resume was a blast and an opportunity to complete my biggest series of projects so far. I built three separate products critical to the core experience of Rental Resume on the Web platform: 1) a standalone Rental Resume page 2) a Rental Resume onboarding experience, and 3) a Rental Resume landing page to help consumers easily get started.
I learned and grew a lot from this project as a result of working with the code, other engineers, designers, and product managers, so I thought I would share some of my key takeaways:
Keep Code Clean
When I first started at Trulia, I was very focused on getting the product, UI, and design requirements done quickly, and I was happy if the product did what it was supposed to. While this is still the highest priority with any project, I have since learned that it is equally important to take the time to write clean code. Some specific examples:
- Keeping files and functions small and task-specific — sometimes I do this after I’ve noticed functions are too large by breaking them apart as much as possible.
- Making it clear what each function does by using the right naming conventions, helpful comments, and documentation.
- Maintaining each project’s coding style — consistency is especially important when working on large, shared codebase.
Keeping my code clean and readable not only helped me when I picked up where I left off, it also makes reading and using my code much easier for my fellow developers.
Write Reusable Code
As I learned through working on Rental Resume, clean code goes hand-in-hand with reusable code. My biggest opportunity for growth when I started at Trulia was in writing reusable code. In particular, I often used to write repetitive code blocks that only varied slightly. I’ve since learned to write reusable functions that handle the different variations through parameters.
For example, after I completed the Rental Resume onboarding experience, I went back and refactored the code with my lead engineer and made it more reusable. Functions got split apart and reduced, which made the code cleaner, shorter, and easier to follow. In fact, I recently needed to reuse the refactored code I had written on the Rental Resume landing page, and I found that my process was much simpler and faster since I had clean code that was easy to follow and change. It was straightforward to build upon my functions and this kept the development time really short.
Learn from Other Engineers
I work with a great team and really smart people (shout out to Trulia Rentals!). Having my team look at my code to help me improve its structure has helped me understand the bigger picture and how the different pieces fit together.
I learned a lot from online code review comments as well as in-person code reviews. I was able to see how other engineers approach code architecture concerns, such as making the user interface code and the server code work seamlessly together, to create smooth user experiences.
While working on Rental Resume, I both developed my technical skills and my ability to collaborate with others to launch a new feature. I’m still just at the start of my career, and am thankful for the building blocks I have put in place with this project. I look forward to continuing to grow and learn as I work on future Trulia Rentals projects!