Hi! I’m Xing and I’m currently working as a Software Engineering Intern at Better Mortgage. I graduated from Stuyvesant in 2018 with a focus on Computer Science and am currently attending Macaulay at Hunter College. I came to learn about Better through an internship program at my college, CUNY TTP, where I was given just their name, their website, and an offer to apply to interview there. I researched the company and found only positive things - employees loved it there! I quickly responded to Elise, the manager of TTP at Hunter, with my acceptance to this interview.
Despite having done nearly six years of computer science, I was unprepared for my first technical interview. The first half of the interview was a code reading excercise with Kareem and Nessa, two engineers that now I work with closely. The exercise aimed to gauge my ability to understand code blocks. Despite having multiple fumbles, my interviewers were patient and understanding, often providing small hints to allow me to come up with a solution on my own. I walked away from the first portion feeling pretty confident.
The second portion was different, I was asked to implement a specific data structure in any language of my choosing. Unfortunately, this is when my lack of experience kicked in. I was unable to properly pace myself and was not able to completely finish the coding assignment. I had spent far too much time trying to explain myself and my ideas. However, after working here for the past four months, I’ve come to realize that maybe it wasn’t as bad as I thought. Communication is an extremely valuable skill to have and learning to explain myself better has been a key part of my learning.
After my acceptance, I walked into my first internship at Better with both high hopes and butterflies lining my stomach. I wanted to ensure that I have a great first day and impress those that I met. However, my experience was nothing like I had expected.
I started off my day by meeting my onboarding buddy Kareem, a senior engineer on the Internal Efficiency team. He introduced me to some people and discussed the company’s values. After that, he helped my set up my work station but we ran into technical issues. I was not able to set up my work station even after a day. I went home disappointed and afraid that I had let my fellow engineers down. But that was not the case.
I’ve come to learn that mistakes and bugs happen, and to not let them get me down. Work your hardest every day, and put your best foot forward. It took me over ten days to complete my first feature, which was complex and required understanding how the system worked. But that didn’t stop me from being extremely proud of all the progress that I had made. The praise I received from my product manager Erica and direct supervisor Nessa exemplified it.
What I learned
The most important thing that I’ve learned working at Better is how to ask questions. I started as a shy intern who was afraid people would doubt my competence if I asked questions. Instead, my supervisor Nessa welcomed questions and I learned of their importance. One of my favorite parts about interning at Better is the amount of collaboration between engineers. No one ever made me feel hesitant to ask a question. Everyone was eager to lend me a hand when I needed.
Overall, I’ve really enjoyed my internship at Better. It’s amazing learning in a growing environment where by your first month in, there were already new faces around the office. It’s superb that I was able to work on JIRA tickets with a team rather than being assigned a side project that I’m not expected to complete. It’s especially fantastic meeting all the friendly, brilliant, and cooperative minds that a company can foster. It has been amazing experience. I would for sure do it again if given a chance.
Upserts in Redshift
Redshift doesn't support upserts (updates + inserts) but using a few tricks we can implement it anyway.Wed Aug 28 2019—by Erik Bernhardsson1 min read
Modeling conversion rates and saving millions of dollars using Kaplan-Meier and gamma distributions
At Better, we have spent a lot of effort modeling conversion rates using Kaplan-Meier and gamma distributions. We recently released convoys, a Python package to fit these models.Mon Jul 29 2019—by Erik Bernhardsson8 min read
Using ImageMagick for PDF redaction
Automating document redaction with a classic command line toolThu Aug 06 2020—by Robert Brownstein3 min read