Becoming a Staff Engineer – Interview with Kristina Fox, Staff iOS Engineer at IntuitFeatured
I'm Kaya Thomas, an iOS Engineer who works at Calm in the Bay Area. Throughout my career in software I've been asked more about what it is like being a woman in engineering than what I actually do in my job. It's sad that when women in technology and engineering fields get interviewed, the subject is rarely about their actual work. I don't mind sharing my journey because I know it's important for other underrepresented folks who want to join tech to see that it's possible. So for this column, I am focusing on highlighting amazing women in engineering about their specific expertise and current work. The first feature is Kristina Fox @krstnfx, Staff iOS Software Engineer at Intuit working on the QuickBooks Self-Employed app, which helps freelancers and contractors manage their business finances and taxes. I met Kristina some years ago after I interned on one of the iOS teams at Intuit. Kristina is an incredible engineer, and she gives talks all over the world about mobile engineering, design and team collaboration. She was recently promoted to staff engineer because of her initiative in leading large, cross functional projects.The exact qualifications of staff engineer vary based on company, but it is known throughout the industry that staff is a distinguished title. Staff is a level beyond senior, and often, women struggle to get to or beyond the senior level. Kristina is breaking the proverbial engineering glass ceiling. One of the projects that helped her get there was building an automation tool within QuickBooks Self-Employed. "We used data science to help users automate financial tasks for their business. Specifically, we helped them sort through all their income and expenses and categorize them properly for tax purposes. Before, this was a pretty manual process that would require users to go through each one of their transactions one-by-one,” says Kristina. To the QuickBooks users, this automation feature may seem to work like magic, but to the engineers who built it, it's hard work and collaboration that brought the feature to life.The team Kristina led for the project included a junior iOS engineer, a data scientist, a product manager, a visual designer, an interaction designer, two Android engineers, and one backend engineer. One of the challenges of cross-functional projects is the different needs for the various platforms. As the lead, Kristina had to work through ensuring the mobile engineers and backend engineers could come to a compromise. "For example, practices like initiating multiple API calls to get necessary data are usually frowned upon for mobile clients, but on the backend, engineers felt that there needed to be a separation of concerns for what each API handled. It was one of the more eye-opening projects that I worked on and made me empathize a lot more with my backend engineer counterparts." Even though Kristina is a mobile engineer, getting to staff level means you should be able to work with engineers outside of your discipline and be able to facilitate communication between engineers on all platforms. Kristina suggests, "Try taking the time to hear out what concerns the other side has before jumping in with what you want. You might be surprised at what may come out of that kind of conversation instead."A large component of being at staff level is mentoring engineers so they can also learn and grow in their careers. This summer, Kristina worked with an intern whose summer project is Dark Mode, which will be released with the upcoming iOS 13. Dark Mode darkens everything from the phone's background to individual apps, but app developers have to make sure their app looks good with this new UI paradigm. One of the insights she gained from working the intern is that more junior engineers often don't ask enough questions. "Sometimes they tend to stew for a while on how to do something or why something works the way it does, rather than just asking someone and getting the answer in a few minutes. Engineers should be self-motivated and be able to problem solve, but they should also know when it’s time to ask for help or a second opinion. That’s why software engineering tends to be done better as a team," said Kristina. Knowing when to get help is a skill that builds up over time, when you're earlier in your career there's a lot of pressure to prove yourself so sometimes asking questions can be nerve-wracking. Kristina creates a safe environment with her mentees through starting off with private one-on-ones, "I tell them that they can feel free to come to me with any questions they have, no matter how trivial or weird it might seem to them. I also check in with them at least once every couple of days, especially if I haven’t heard from them lately."One of Kristina's long term goals is to become an engineering manager, in order to get there, she wants to continue to build out her technical expertise. "I want to be able to experience as much as I can as an individual contributor so that if my direct reports end up in similar situations as me, I’ll be able to help guide them and give them advice." Kristina has been one of my role models for many years because of her successful career in iOS and public speaking. She's clearly on a trajectory to become a strong engineering leader. I'm excited to share more stories of incredible women in technology like Kristina in future posts for this column.