fbpx

Get ahead of rising rates -

My Summer As A Valonian

My Summer As A Valonian

Written by Hariharan Chidambaram

Hi! I’m Hari, the first software engineering intern at Valon—where we’re modernizing mortgage servicing, a critical part of America’s infrastructure, by building an open access software ecosystem that enhances the homeowner experience. I spent the summer working with the Escrow team, building infrastructure to generate virtual credit cards that process hundreds of property insurance payments daily. Throughout the summer, I learned a lot about myself, received great advice from my mentors, explored New York City while living in four different apartments, made new friends, and worked alongside dogs all day!

NYC from an intern’s POV

 

What drew you to Valon? 

I first heard about Valon through my close friend, Vibhav, who works there. Over the past few summers, while visiting my older brother in NYC, I spent time at the Valon office with Vibhav, had lunch with the team, and played with the office dogs. When I began my junior year and started seriously considering internship options, Valon naturally came to mind.

There were three key factors I prioritized when choosing an internship:

  1. The strength of the engineering team and their values.
  2. The level of involvement engineers had in the product side of the business.
  3. Most importantly: how invested mentors and senior engineers were in helping me grow, both as an engineer and as a person.

Valon checked all of these boxes. During the interview process, it was clear that the engineers valued thoughtful decision-making and good judgment, which reassured me that I could learn from them. They weren’t just evaluating my ability to solve algorithms, but also how I approached real-world product design within the financial space. My conversations with Alex, my future manager, also stood out. The questions he asked about my personal goals made it clear that while he was looking for someone who could contribute to Valon, he was equally invested in my growth and future.

While company success, compensation, and location are important for full-time roles, an internship is a unique opportunity. My ultimate goal for the summer wasn’t to master a specific programming language or to earn a particular amount—it was to find mentors whose interests aligned with mine and who could help me chart my path forward. I felt confident that Valon was the perfect place to do that.

 

What did you ship and what impact did it create?

A key project that I worked on over the summer was expanding and scaling Valon’s payments infrastructure for making insurance payments via credit card.

 

Context

The escrow team at Valon is responsible for managing homeowners’ insurance and tax payments. This mandate presents interesting business and technical problems to solve, especially given Valon’s rapid growth, and the antiquated nature of the industry the team operates in. When it comes to the hundreds of thousands of insurance payments we make on behalf of homeowners every year, we optimize for accuracy, timeliness, and operational efficiency. In the industry today, most payments are processed through third party vendors and sent to insurance carriers via checks that are mailed and may take weeks to arrive at the carrier. Not only is this process inefficient and costly, it can also lead to a poor homeowner experience as there is a lack of visibility and sometimes there can be delays.

Before I joined, the team had tested a V1 MVP for credit card payments. However, there were multiple scale blockers with the MVP. As an example, if a refund was issued on one of the cards, it took manual research and effort to attribute it to the correct loan. As a result, the team limited the number of payments made via credit card and were blocked from scaling.

 

Solution

The development of our virtual credit card system began with a thorough review of the product requirements document (PRD). I contributed by providing feedback on the best approaches to meet these requirements, considering both technical feasibility and user needs. Collaborating closely with other engineers, we created and refined the engineering design, which outlined databases, state machines, and all necessary components. This meticulous planning helped us identify potential challenges upfront and ensured that we could estimate timelines accurately, avoiding surprises down the line.

In V2, we generate a virtual credit card for each individual payment, creating a one-to-one mapping between the card and the loan. This completely resolved the V1 issue of manually tracing refunds, as it’s now immediately clear which payment and loan each refund corresponds to. Each card is automatically locked after the payment is made, or if unused, the card is locked shortly after. We also added controls like setting spending limits equal to the expected payment amount and restricting the card to the Insurance Spending Category. Additionally, I created a dashboard that automatically flags refunds and any transactions that don’t reconcile properly with the money moved. This solved the scaling issues, allowing us to significantly increase the number of credit card payments while ensuring compliance and appropriate controls.

 

Impact

Since we’ve eliminated the scale blockers, we’re now able to significantly expand credit card payments, which has already led to faster insurance payments and better economics for the business (this project had over $1M in impact!). The infrastructure I built is now being extended to other areas, such as other related escrow payments and automated credit card payments over the phone. 

Even more exciting, these future improvements aren’t just theoretical—we’re actively working on these initiatives today, and I’m continuing to contribute to the automated payments project part-time!

 

Challenges

Two major challenges I faced that taught me a lot were:

  1. Creating a Provider-Agnostic Design

    While we currently use one provider to generate virtual credit cards, we designed the infrastructure to be easily adaptable to different providers and use cases. I learned the importance of not building dependencies on external vendors for internal processes. By building the right abstractions, we ensured that if we ever switch providers or extend our virtual card use cases, only the translation layer would need to change, with no internal disruption.

     

  2. Eventual Correctness

    One of the biggest challenges I encountered was structuring a system where actions don’t happen instantly. Our provider has an asynchronous API, meaning that when we request a virtual credit card, it isn’t created immediately. Instead, we receive a task ID that we must repeatedly query until the card is ready. Additionally, money movement takes time to settle. To handle these delays, Valon uses resilient state machines. For example, when a card is created, it enters the system with the state INIT. The state machine processes this, and once the card is generated, it transitions to ACTIVE. After the card is used, it moves to TENTATIVELY_LOCKED, and the state machine ensures it is locked before moving to LOCKED. This design provides reliability and allows us to recover gracefully if something like an API outage occurs.

     

What made you a good fit for Valon? 

Valon placed a lot of confidence in me, giving me far more responsibility than I expected as an intern. I thrive when provided with responsibility, and I believe it accelerates my growth. I even received feedback to remove “intern” from my Slack title because, other than being exempt from on-call duties, I would operate like any other engineer at the company. Valon gives engineers a lot of autonomy, and the ownership you get here is incredibly fulfilling.

At Valon, engineers are more than just coders. We’re expected to understand our product areas deeply, contribute to product and design decisions, and care about the end-user experience. As my PM Albert put it, you need to “always eat your own dog food,” meaning you should use and understand your product as your users do. This was my first time experiencing that, and it was incredibly rewarding. I got to launch my product, demo it, and gather feedback directly from users, which helped me refine and improve the experience.

Lastly, at Valon, there’s virtually no divide between leadership and engineers (even interns). I learned a lot from senior Valonians, seeing firsthand how much they invested in the company. It was exciting to be part of a team where everyone has fully bought into the mission, doing whatever it takes to create impact.

 

What were some reflections from your internship? 

Looking back, I learned a lot, and honestly, I miss it—especially the dogs! My growth was visible week by week.

Office Dogs (A Coder’s Best Friend)

Throughout the summer, I made progress figuring out how to get quality code reviews. I initially thought it was the reviewer’s responsibility to provide good feedback, but I quickly realized that it’s up to me to make my code easy to review. This can be tricky. At times, I submitted PRs that were too large, and I received feedback to break them down into smaller, more digestible pieces. Smaller PRs are easier for others to review, especially if they aren’t familiar with the project. Since both the programmer and reviewer are accountable for the code that goes to production, it’s in everyone’s best interest to make the process as smooth as possible.

The biggest area of growth for me has been learning how to unblock myself. This is something I’ll continue refining throughout my career. I learned to determine when to rely on ChatGPT, when to ask for help, and when to push through on my own. The key is figuring out how much time to spend on each approach. One of my senior engineers, John, gave me great advice to set time boxes. He suggested that if you can’t figure something out within a set time, it’s probably worth asking someone for help to avoid wasting too much time. He also advised switching tasks if you’re stuck and coming back to the problem later. These strategies have been incredibly valuable, and I keep learning more every day.

 

What advice would you give future interns?

At Valon, feedback is invaluable and a key part of the culture, so make the most of it. Whether it’s between you and your manager, or from someone on a completely different team you collaborated with on a small task, feedback is constantly flowing. Even as an intern, your feedback is valued, and any feedback you receive is a chance to grow.

The feedback culture at Valon comes from a place of kindness and a shared desire to help each other and the company grow. My advice is to be open to feedback and view it as a positive opportunity rather than a critique. It’s meant to help you learn and improve as an engineer.

Additionally, if you know how you best respond to feedback, communicate that to the people around you. For example, I respond best to quick, direct feedback with clear reasoning. If someone explains why something should be different and provides logical reasons, I’m happy to listen and adjust. Others might respond better to encouragement or gentle guidance.

During your internship at Valon, you’ll learn more about how you prefer to receive feedback. Make sure to voice that to those around you so you can get the most constructive and helpful feedback possible!

 

Thank You Shoutout

I want to give a quick thank you to Vibhav (Mentor), Alex (Manager), Albert (PM), and everyone else on the Escrow team who made this summer such an incredible experience!

If you’re interested in becoming part of Valon’s team, check out our open career opportunities.