Career Path: Matt Falk, Chief Software Architect at FeatureX
What does the career path and a day in the life look like for the Chief Software Architect at FeatureX?
We interviewed Matthew Falk to find out.
Where did you grow up? What did you parents do for work? What was your very first job?
I grew up in ‘Jersey just a few minutes from the beach. My mom is a nurse, and my dad has his own digital marketing company. I was a Programmer Analyst at Radwell International just before college. I remember we used C# (which was a new language for the entire team). We spent the first week writing PacMac together just to learn the language. It was the most fun I had experienced in a workplace and made me realize how amazing it would be to work in a software company.
Why did you decide to go to MIT and study computer science? Anything that you’d like to highlight from your experience there - it looks like you participated in track and field?
I was always very interested in math and science. MIT’s name had popped up in a lot of movies (namely Iron Man), and I was set on getting in. I applied to nine schools, but after getting accepted into Early Action at MIT, I knew where I was heading. While at MIT, I did the decathlon on the varsity track & field team which was a really nice contrast to the coursework at MIT. That was my version of MIT’s motto “Mens and Manus,” which means “the mind and the hand.”
Did you know while at MIT that you wanted to pursue a career in software engineering? Were there any internships that helped guide your career decisions?
To be honest, I was not sure that computer science was where I would end up. I switched my undergrad major at MIT a total of six times. I played around in a lot of different fields and finally realized that CS was a tool that allows you to work in a variety of different fields (which was perfect for someone who liked to switch majors on a semester basis). I also interned at Facebook before pursuing my Master’s (also at MIT). This was my first exposure to a large software company since previously I had only worked at smaller shops (less than 50 engineers). It was a great way to learn the pros and cons of larger/smaller companies and which was a better fit for me.
Can you share the high-level responsibilities of your current position at FeatureX as Chief Software Architect?
At FeatureX, I am responsible for designing and implementing our platform as well as putting together the team that will ultimately deploy it. On the technical side, I’m often researching new technologies and choosing which we should use. Then I’m designing the system architecture, from the high-level component layout to the individual microservice specification. Lastly, the largest component of my job is to build the platform and ensure that others building the platform are producing production-ready code. And, of course, that means building a strong team. So I spend some of my time helping out with recruiting, interviewing, and managing the developers that we hire. It’s a dynamic position and one that has a lot of influence both independently and as part of a team. I’m a very hands-on person, and I get to have a lot of impact on the overall direction that FeatureX takes, which is a lot of fun.
What contribution to FeatureX are you currently proudest of?
To be honest, I am really happy that I was able to convince a lot of my colleagues to join a gym with me. I think that it has helped bring us closer as a team. And consistent exercise helps with productivity, motivation, etc. So it’s a win for everyone. Aside from that, we are very close to having our first end-to-end product built, which is exciting! Since we’re a startup, a lot of what I bring to the team entails choosing and setting up the different developer tools that we use: JIRA, Confluence, CodeCollaborator, Jenkins, and others.
How do you keep your engineering skills up to date?
To keep my skills up-to-date, I simply continue learning. At any given time, I am registered and actively taking two online courses (the last two being Particle Physics on Coursera and Deep Learning on Udacity), reading three books, and participating on different coding sites (like ProjectEuler).
Describe the engineering team you are building. What sort of roles, skills, and workplace dynamic do you plan to have?
As we are just starting to build the engineering team, there will be set roles (WebApp, BackEnd, FullStack), but the exciting part of it is that every role has overlapping edges. That’s to say, just because you are filling a particular role does not preclude you from getting to work on any other part of the project. Furthermore, as the team is just starting to grow, you become familiar with all aspects of the project and are learning a plethora of new skills and components of product development. And, especially over the past couple of years, there’s little else that’s as quickly developing and exciting as the field of machine learning. Being on a team that productionalizes the research done by FeatureX’s computer vision team is a unique opportunity. What I mean by that is since we’re still a young startup – and everyone is exposed to the higher level goals of the company – there’s this awesome chance for software engineers to also get involved in the research side of things if their skills or interests tend that way.
I am very much a fan of making the workplace a fun and collaborative atmosphere to be in; we work hard, but we have a good time doing it. During office hours, people will be working on different things, but everyone is encouraged to discuss things with anyone else on the team. Like many tech companies, we also promote “the best idea wins.” As the project is brand new, not everything will be known ahead of time, and the best solution is not always immediately apparent. New ideas, regardless of who they come from, are welcome and encouraged so that we can build a really high-quality platform. It’s important to me – and to all of us – that we get to know one another as peers as well. So we typically eat lunch together, play a lot of foosball to re-energize, and celebrate happy hour every Friday. It helps bring collaboration to the office and generally provides a much more fun work environment.
What are some of the projects that the engineering team will be working on? What will the team have bragging rights to a year from now?
The engineering team will be working on a predictive data warehouse that minimizes the latency for the customer, a service-oriented architecture that exposes all of our capabilities to external users, a user-friendly API which makes accessing our tools as simple as possible, and different applications that expose our tools through a UI removing the need to deal with the API at all. A year from now, we will have built not only the initial version of the project but a second more robust version of the project that takes into account all of the things we have learned from the first version (including all of the mistakes that we will undoubtedly make).
Day in the Life
Coffee, tea, or nothing?
Every day is different, but can you outline what a typical day looks like for you?
Morning: I wake up and head to the gym every morning. I am not a morning person, but after working out, I feel ready to go for the day. Once I get to work, I typically go through any emails, Slack messages, and resumes that are waiting for review.
Afternoon: I play different music throughout the day. Depending on the work I am doing the tempo changes, but it all keeps me motivated. Here is where I get most of the technical work done for the day.
Evening: After getting home from work, I’ll spend at least two hours/day reading or working on my online classes. Depending on how interesting the book or class is, I might go longer.
Do you log back in at night or do you shut it down completely?
I check my work email on an hourly basis outside of the office and deal with any immediate or small emails. I don’t typically log back in on a laptop unless there is something urgent requiring my attention. Additionally, I periodically spend time learning more about something that I encountered during the day but didn’t have a chance to get back to.
Any productivity hacks?
I consider myself an organized person, which helps me stay productive. I will typically outline a daily to-do list for myself. I filter things aggressively from my inbox; if it’s in my inbox, that means it’s on my to-do list.
Also, I like to be working on two things at once. Whenever I get stuck on one thing, I context switch and allow the other problem to persist in the back of my mind. This allows me to work on something even when I get up to walk to the kitchen for a protein bar.
What are the three apps that you can’t live without?
Spotify – I use it all day, at the gym, at work, on the subway, etc.
Strong – It’s my gym app.
Reminders – Outside of work, this serves as my global to-do list. If it’s not in here, it doesn’t exist. This includes grabbing lunch with a friend, an upcoming trip, or doing my taxes!
What professional accomplishment are you proudest of?
When working at Two Sigma, I took on a side project to deprecate a legacy system and recreate all of the missing components that depended on it in a more modular and less interconnected way. This involved deleting 21 codebases and replacing it with three new codebases that performed the same functionality in a much cleaner way. From this project, I understood what it meant for a project to grow organically (over many years and via numerous developers). This experience has guided how product development operates hear at FeatureX. We take a lot of care to make sure that we reuse code whenever possible and that the code stays as encapsulated as possible.
Who do you admire or call upon for professional advice?
My dad – when trying to make a difficult professional decision that has a major impact on my life, my dad is the person that I can rely on to always have my best interests at heart. No ulterior motive, just honest unbiased advice.
Images courtesy of FeatureX.