Sr. iOS Engineer Eric Hyche (he/him) has been with Noom for a little over 1.5 years now, focusing on developing and optimizing our products for mobile. As a tech lead, Eric spends a good chunk of his time mentoring, interviewing, and putting our #alwayslearning principle into practice (“Invest in yourself and let Noom invest in you”!). Read on below to hear directly from Eric on why he joined Noom, what a day in the life is like, and what he’s excited about building. And don’t forget to check out all of our open Engineering roles here.
Why did you choose to join Noom? How did you know it was going to be a good fit?
I joined Noom for three main reasons: (1) in 2011, my wife and I both lost 45 pounds, and we have kept it off since then. Noom’s focus on habit change (as opposed to a quick fix) aligned with the approach that had worked for us ; (2) I wanted to work on a mobile team where I could learn from other developers, and that is what I found here; (3) Noom’s mobile engineering team had a clear idea of the kind of app architecture they wanted to build, and it used technology that I wanted to learn more about.
Tell us about your role. What is a typical day like?
My threshold for personal job happiness is when I spend at least 50% of my time with my development environment open and writing code. I have found that here at Noom. I usually spend about half my day writing code, and the other 50% is usually divided up between reviewing others’ code, technical discussions, mentoring, interviewing, and learning – reading technical books, blogs, and videos to keep current on the state-of-the-art for iOS development. When you have a team that is rapidly growing (as Noom’s mobile team is), you wind up spending a significant amount of time helping people onboard and get up to speed on the codebase.
Noom is, by far, the most remote-friendly work environment I have experienced.
What is it like working with a globally-distributed team? How does Noom support you all in staying connected?
I have worked in full-time-remote development roles for 23 years, and Noom is, by far, the most remote-friendly work environment I have experienced. In previous jobs, I was one of the few people who were remote, and everyone else was on-site. I missed out on a lot of information and socializing. However, at Noom, since almost all of the engineers are remote, everyone is in the same boat and shares the same benefits and challenges that remote work brings.
In order to stay connected, our mobile team has an every-other-week meeting where we can just talk about anything, whether work-related or not. Sometimes we catch up on the latest developments in the mobile tech world, or sometimes we just play online games together. Also, the engineering organization as a whole makes a concerted effort to keep our remote workforce connected. They do this by bringing us to New York a few times a year (when it is safe to do so), as well as planning monthly online social events.
What are some technical challenges you and your team face?
iOS development has undergone massive changes in the last few years with the introduction of SwiftUI and Combine. We recently dropped support for iOS 12 and iOS 13, which paved the way for us to begin using some of that cool stuff. Fortunately, our architecture and patterns already had good separation of concerns, and this should help as we start replacing our UIKit-based UI layer with SwiftUI. We are also experimenting with the Composable Architecture to see if we can use that as well.
What is the most exciting project you’ve worked on recently?
In order to be the most effective in their Noom journey, users need to be kept up to speed on the latest features of the Noom app. That being said, we needed a way to place messages on the home screen without requiring an app update. So, we built an in-app messaging system which used Firebase’s backend for message authoring, targeting, and delivery. But then we completely replaced the Firebase front-end and provided our own UI.
Probably the biggest thing I have appreciated in Noom’s iOS team is that we spend a lot of time thinking and talking about good architecture. But it’s not just talk…
What is the most exciting project in mobile engineering?
I have always worked on teams that needed to support older iOS versions, so I had not been able to use SwiftUI in my day job yet. I am excited to try it out and see what it is like working with SwiftUI in a large-scale production app like Noom’s.
What do you value most about your team’s culture? What sets Noom apart from other places you’ve worked?
For some reason, app architecture on mobile (and particularly on iOS) seems to receive lip service, but not serious resources. In past jobs, we talked about good architecture and even made some small attempts at it, but the burden of legacy code kept us from making large strides in this area. Probably the biggest thing I have appreciated in Noom’s iOS team is that we spend a LOT of time thinking and talking about good architecture. But it’s not just talk – our directors have put their development dollars behind this, and have invested in efforts to improve and maintain a flexible and modular app architecture.