In this series, we sit down with Sifties to find out what a typical day in their role is like, how they overcome any challenges they might face, and what it’s like to work at Sift Science.
Michel Goldstein is a Senior Software Engineer who works in our Seattle office. Read on to find out what it’s like to run data analysis, deploy machine learning models, and do the challenging and rewarding work of engineering at Sift Science.
What do you do at Sift Science and what is your team’s goal?
I am part of the team that develops, manages, and deploys the machine learning algorithms and models that are used on our fraud detection product. The goal of my team is to make sure that our models are always successful in detecting known patterns of fraud and quickly learning new ones, as fraudsters adjust to try to subvert detection.
Give us a little background on yourself. What did you do before joining Sift Science?
Before Sift I spent over 12 years at Amazon, working on many teams including Catalog Quality (making products easier to find on the Amazon website), Kindle (launching cross-device features, such as X-ray), and Amazon Go (cashier-less grocery store, working on computer vision systems for product identification).
How does your day generally begin?
At about 9 am I get to the office and look at the state of the system and my calendar for the day. Sometimes I have data analysis jobs that I left running overnight, and I need to summarize the results in the morning to plan on next steps. Sometimes I have discussions I need to prepare for, and I try to do those things at the beginning of the day – when I have the focus and energy.
While no two days are ever exactly alike, walk us through a typical workday as a Senior Software Engineer.
After I’ve established my calendar for the day, I start by organizing all the data that I need to evaluate that day. That could be data for analysis for a specific algorithm I’m working on, or software design proposals from other engineers, or my own design proposals.
Once that happens, I usually spend the next hour focusing on reading through things or results and planning on next steps for them. Towards lunchtime I spend a couple of hours coding the new features based on results of previous analysis or design plans. At lunch time I sync up with my team on standup and with my local organization by having lunch together.
Early afternoon I usually have a design review and overall planning meeting, and then one or two mentoring one on ones with engineers or managers. Finally, at the end of the day, I wrap up the coding or the data analysis that I want to run overnight to analyze the next morning.
What are some challenges you experience in your role, and how do you overcome them?
A lot of decisions require data analysis that, due to the amount and diversity of data Sift handles, takes multiple hours to run. In order for this to not affect overall productivity, I spend more time initially planning the analysis, maybe running very short versions of the analysis to inform my planning. Then, I try to be explorative, running multiple possible approaches in parallel and letting them run for a long time before I take the next step.
What’s your favorite thing about the work you do?
The impact of making the internet a little bit safer to do business in, and to provide a better user experience every day.
Why is Sift Science a great team to join?
Sift has a great set of passionate and smart engineers and businesspeople. At the same time, Sifties don’t let this passion get in the way of being positive and friendly to each other. This is probably a side effect from being in the business of doing something good for the world.