While we’ve previously written about the making of our mobile experience intelligence platform and why we chose to use Rust, now we want to introduce some of the innovators behind our cross-platform mobile framework. With varied backgrounds and a blend of Android, Rust, Go, iOS, and web frontend knowledge, the team is united by their passion for building privacy-sensitive, exceptionally crafted, and intuitive libraries to help app developers and their users. We asked some members of the team to reflect on their work, their team, and share their sage advice.
What makes working on FullStory's mobile technology stack uniquely interesting to you?
Prashanth: It's a truly novel technology. I've done lots of web and app development at different startups, and while they can be challenging, I think working on FullStory for Mobile Apps has pressed me to expand what I think is "possible", and to challenge my assumptions at a fundamental level. Usually the problems I'm accustomed to solving have to do with making improvements, or dealing with accidental complexity, but what I find exciting (and at times daunting too!) is often the problems I'm working on have to do with figuring out whether something is actually possible or not. Thanks to the nature of that kind of work, I feel like I've grown as an engineer at a much more accelerated pace.
Joshua: I really enjoy the diversity of technologies that I can get to use, and how the work calls on the breadth of my skill set. To track down a session replay bug, in the morning, I might open a PDF in a text editor; I might then open UIKit in a disassembler to look for how an API is used; in the afternoon, I'll read some of our Objective-C; and then I'll end my day by making a surgical change in some TypeScript to get a customer a fix that they don't even have to update their plugin for. Talk about rewarding!
Which team accomplishments or milestones are you most proud to be a part of?
Ted: There's not one big thing I would point to as being most proud of, it's all the little parts of team cohesion that make me proud to be involved. We've done such a great job working together to address customer issues, improve the quality of the product, and also improve the processes we use to get things done so that we can keep shipping a great product without sacrificing our own quality of life.
Nathan: I'm really proud of our stance on privacy, the way you can get a feel for what's happening in an app and where the sticking points are without needing any personal information about the user. Also, the fact that it works at all is a little magical.
What drew you to FullStory and why do you stay?
Prashanth: The team. At most other companies, I've had a tough time really being a company evangelist, or recommending that my friends or close coworkers come work for the company I'm joining. But FullStory's team and company culture has been a real revelation. It's honest, it's nerdy, it's welcoming, across the whole company, and specifically on my team as well. I feel like I've learned what my "North Star" is for a team culture.
Ted: I was invited to interview and the company culture impressed me so much, as well as the amazing people working here that it felt like a place where I could do interesting work with a bunch of great colleagues. I've come to really enjoy how much FullStory customers love our product, and the working environment was as great as I imagined. Everyone here understands we're on the same team and wants to help each other so that we can ship a great product that our customers will continue to love, while also recognizing that we're all human and treating each other with compassion.
Nikolai: I was drawn by the people here and stayed because it was an opportunity to have a large impact on a very technically complex product.
Nathan: It feels like I fit in more than anywhere else I've ever worked. Also, FullStory strikes a good balance of being a place where I can do work that I'm proud of during the day and still have time for myself and my family in the evenings.
Joshua: A lot of organizations have core values that they talk about, but that don't come into practice all that often. FullStory's Watchwords -- clarity, empathy, and bionics -- are "everyday foods", and the culture that surrounds them comes from the very top of the company. Engineers at FullStory are empowered to speak up when we fall short of one of these, and as a result, we hold ourselves to a high standard -- and it comes through in how customers experience us.
What are some similarities/differences between your current team and previous teams?
Prashanth: A lot of the similarities are the best practices in software development - automated deployments, sprints and iterating on features, services (that actually make sense to be services). I think a lot of the key differences at FullStory come from how Engineering lives our company Watchwords - Clarity, Empathy and Bionics. FullStory has a bigger emphasis on communication and documentation than I've worked with in the past. I also think it helps that many engineers have a similar "leave things better than when I arrived" mindset. It's easy for companies to say that's how they operate, but I've found it to be more true at FullStory.
Ted: I've never worked at a company where a healthy culture was so thoroughly ingrained from the top down that everyone really believed in it. There's nobody I've encountered at FullStory that I'd be hesitant to work with because they're toxic or working for their own success at the expense of others. That feels really great!
Nikolai: Engineers at FullStory remind me a lot of those at Apple. Product decisions are driven by the technology and engineers challenge themselves to produce increasingly better work. People here also care deeply about the privacy and security concerns of our technology.
Nathan: This was my first time doing any significant work in Rust, Go, TypeScript, or Objective-C. There is a much higher emphasis on clarity here, but not in a micromanaging sort of way. I have more autonomy here than most of my previous roles. The weekly company-wide meeting with toasts and demos and whatnot is awesome.
What is the best advice you have ever received?
Prashanth: It's a bit cliche, but Patrick McKenzie's blog has extremely valuable advice. I first read some of his pieces when I was in college and I didn't really buy into some of his assertions and felt like parts didn't apply to me. But after joining a few different companies, learning more about the startup/corporate world, it amazed me just how spot-on a lot of his observations are. Here’s my favorite one that I come back to.
Ted: Be open to new experiences. You never know where you'll find yourself when you stay open to trying something new!
Nikolai: Understand what your personal values are and stick to them, especially when it's difficult to do so. But also keep an open mind to develop even better values.
Nathan: Focus on delivering
Joshua: There are many smart people out there. Differentiate yourself by being kind.