About the Role As a Software Engineer, Mobile at Roku, you will have the opportunity to join a team of highly skilled engineers, making your mark by designing and implementing new features while enhancing existing ones. You must enjoy working on mobile applications at all levels, from networking to user interfaces and everything in between. You will be self-motivated, ready to take on features or projects simply because the problem needs solving and shipping. However, success at Roku also requires strong collaboration skills, as you will work closely with other engineering teams, UI designers, product managers, and business leaders to bring ideas to life. This balance of independence and teamwork is key to thriving in our collaborative environment. We are looking for a Software Engineer, Mobile with experience in building scalable apps to help us maintain our momentum and deliver high-quality applications as we continue to grow. The mobile team oversees the architecture and implementation of the services that power Roku's mobile applications, and they are collaborating with the Advance Development team at Roku to add new features across the mobile ecosystem. If you are passionate about creating innovative and robust mobile experiences, we’d love to hear from you About the Team The Advanced Development team pushes the boundaries beyond product lines to build genuinely new things. We think independent of standard shipping cadences and timelines, working on foundational technologies that could impact every Roku device in the future and on ideas that no one’s seen in their living room. Because this is an exceptional team, we are seeking exceptional talent. Everyone here is an expert but without the myopia of over-specialization. They have the technical expertise to let them see the bigger picture but can still go deep into the minutia, pushing back against convention and building something singular and new. They foster a strong sense of collaboration and trust with little room for drama. Together, this is a team of people who love to make decisions and own those decisions. What you'll be doing Rapidly iterate next generation mobile application to enable the prototyping of AI features. Develop software for iOS and Android platforms. Develop new features, perform A/B test experiments, device configuration, safely release to production, monitor analytics gathered from the applications Improve existing products based on customer requirements and create delightful user experiences Work closely with engineers, product, UI design, platform services, and release management teams to contribute to our application development Manage state across entire application and model side effects Modularize each feature of the existing application, to create more straightforward to understand units that can be built, tested, and distributed in isolation Write high-quality code with comprehensive tests for each feature Discuss application architecture, data flow and perform code reviews with peers Investigate, diagnose, and fix bugs We're excited if you have Strong understanding of the entire mobile development life cycle Hands on experience with building native iOS mobile applications using Swift and/or SwiftUI, with a track record of shipping high-quality app(s) to Apple AppStore Some experience in Android mobile development with a focus on IoT using Kotlin or Java, with a track record shipping high-quality app(s) to Google Play Experience working with scripting languages like JavaScript, Python, Lua, and TypeScript, C++, embedded Linux, or equivalent Proficient in Kotlin or Java Experience with third-party mobile libraries and APIs Proficient in Android development toolset including Android Studio & Emulator Experience with agile development methodologies Demonstrable experience of software engineering experience. Strong problem-solving and communication skills Bachelors or Masters/Ph.D. in Computer Science or equivalent experience LI-PA1