#1 – Tell us about your role and journey so far at DoorDash.
I started out as a new grad backend engineer when I joined the Drive team in August 2018. This team focused on providing delivery as a service, allowing merchants to request dashers to deliver their goods. There were about six engineers and two mobile engineers at the time, which has grown to 60 engineers over the last four years.
With the growth and development of Drive, I’ve picked up many skills, led multiple projects, and worked with a tight-knit group to push out features as fast as possible.
#2 – How did you get into software engineering?
I always loved to play and create games. Creating games involved very basic programming with simple triggers. Enjoying this so much, I started to look into game development, so I pursued computer science and really enjoyed its algorithms and relation to math. This interest eventually led me to studying software engineering in college.
I still had the intention to pursue game development afterwards, but decided software engineering sounded like a better major than going specifically into a game development major because I wanted to keep my possibilities open, or maybe it made my parents happier. Anyways, while in school, I discovered all the software engineering opportunities in Silicon Valley from classmates, and decided to try it out. From there, I realized it wasn’t just game development I was interested in. General software engineering problems fascinated me, and so here I am today as a software engineer.
#3 – What has been your proudest accomplishment in your career?
My proudest accomplishment is probably the first project I worked on at DoorDash – mainly due to the feeling that I was able to gain trust from all my coworkers after its completion. I was working with my mentor to turn our create delivery API endpoint async to immensely speed up the response times. Near the end of the quarter, we hit a huge roadblock in which we realized our async tasks were not 100 percent reliable, but we needed 100 percent reliability. I dove deep into the inner workings of how async tasks really worked, and this was really the first time where I realized that even if your code doesn’t have bugs, we still have to account for unknown system errors.
Within the final two weeks of the quarter, we really wanted to get this feature working and knew this improvement would be a huge win towards our relationship with merchants. I eventually implemented a fallback system, which was a job that ran every 30 seconds, finding all failed tasks, figuring out which step failed, and recovering from it. With this addition, we were able to achieve the reliability goal, and release the feature just before the end of the quarter.
#4 – Have you gone on a WeDash yet? If so, what was your experience like?
I’ve enjoyed most of the WeDashes I’ve done. I always try to go on dashes with other coworkers, and I like to treat the opportunity as a way to not only learn about how our product works, but bond with our teammates – especially with this remote work lifestyle.
#5 – What do you love most about working at DoorDash, and what do you think is important for potential candidates to know?
For me, I really enjoy the product direction DoorDash is taking. They make a lot of sense, and I believe that the things we are working on will have a lot of success.
We know there will be times where we find ourselves working extra hours to hit our deadlines, and other times where we will have to choose a faster option. However, the upside is that there are so many opportunities to grow here with plenty of projects needing owners.
Interested in building your career at DoorDash? Click here to check out open positions today.
The post Employee Spotlight: William Ma, Software Engineer appeared first on DoorDash Newsroom.