Senior Principal Engineer - Android Mobile Development
Description
Job Description :
We are excited to announce an opening for Software Engineer Principal at Costco.
Skills Required :
- Kotlin
- Jetpack Compose
- Coroutines & Flow
- Contentstack CMS
- Firebase, REST APIs
Experience Range : 15+ years
Position Summary :
GDX Mobile is seeking an experienced and system-oriented Software Engineer with a strong architecture background to join our team of technology professionals. As an Android Architect, you will lead the design and development of our Android mobile applications. You will bring a wealth of knowledge and expertise to guide the development team in building robust and scalable mobile applications. Your role will involve creating and maintaining the functionality of our Android apps while ensuring they align with our business requirements and user expectations. We are looking for a proactive individual who can contribute their expertise to foster a dynamic and collaborative team environment, working with a diverse and inclusive global team.
In this position, you will play a critical role in defining the technical roadmap, ensuring architectural integrity, and guiding the development team to deliver high-quality software solutions. You will interact with senior business and technology leaders to understand their needs, vendors, and partners to influence technology roadmaps to benefit Costco. Equally important, you will teach, mentor, and grow other domain experts within the organization.
Responsibilities :
- Creating the next generation of native Android mobile interaction for a top level cCommerce site.
- Building highly composable, reusable UI components and modules using Jetpack Compose and design systems.
- Integrating Contentstack CMS APIs and Firebase real-time infrastructure to drive dynamic content delivery.
- Ensuring the longevity, scalability and quality of our Android applications through continuous improvement, comprehensive documentation, meticulous profiling, and mobile performance enhancements.
- Mentoring a team of engineers, fostering a culture of continuous learning and improvement.
Job Duties/Essential Functions :
- Collaborate with stakeholders, including business analysts, project managers, and development teams, to understand business requirements and translate them into technical specifications.
- Define the overall system architecture, including component structure, module interactions, and integration points.
- Design scalable, reliable, and high-performance Java/ Kotlin-based solutions that align with industry best practices and architectural principles.
- Evaluate and select appropriate frameworks, libraries, and technologies to support the architecture and meet project requirements.
- Conduct architectural reviews and provide guidance on design patterns, coding standards, and development methodologies.
- Lead the development team in implementing the defined architectural vision and technical strategies.
- Provide technical expertise and hands-on coding when necessary to support the team in complex development tasks.
- Ensure adherence to coding standards, code quality, and best practices throughout the development lifecycle.
- Collaborate with other architects and technical leads to ensure consistency and compatibility across systems and projects.
- Troubleshoot and resolve complex technical issues, providing guidance and support to the development team as needed.
- Architect and design cutting-edge Android applications that meet the business requirements while adhering to best practices, performance, and scalability standards.
- Collaborate with backend and frontend architects to design end-to-end solutions that seamlessly integrate with the Android platform.
- Collaborate and work effectively in agile environments with multifunctional teams, comprising product managers, UX/UI designers, and software engineers, to establish technical requirements and ensure the successful delivery of projects.
- Provide technical leadership and mentorship to the Android development team, fostering a culture of excellence, innovation, and continuous improvement.
- Develop and maintain technical documentation, diagrams, and guidelines for the Android development team to ensure consistent and clear communication.
- Perform comprehensive code reviews, ensuring strict compliance with coding standards and industry best practices, to guarantee high code quality and reliability.
- Identify potential risks and technical challenges early in the development lifecycle and devise effective solutions to address them.
- Stay updated with the latest trends and advancements in Android development, actively proposing and integrating new technologies and frameworks when they align with project requirements and goals.
- Conduct thorough performance analysis of existing Android applications, identifying areas for improvement, and implementing effective performance enhancements.
- Ability to operate vehicles, equipment or machinery: Computer, phone, printer, copier, fax.
Experience, Skills, Education & Licenses/Certifications :
Required :
- Minimum 12 years experience in Android mobile development.
- Bachelor's degree or equivalent in Computer Science or a STEM-related field (Science, Technology, Engineering, or Mathematics) from a recognized institution or its foreign equivalent.
- Extensive expertise in Kotlin, Jetpack Compose, Kotlin Coroutines, and Asynchronous Flows (StateFlow, SharedFlow).
- Strong command of the Android Software Development Kit (SDK) and modern Android Jetpack suite for developing feature-rich applications.
- Hands-on experience integrating Contentstack CMS via REST Delivery, GraphQL, and Contentstack Sync APIs to drive dynamic UI rendering, localized content feeds, and dynamic layouts.
- Extensive experience with the Firebase platform, including Firestore real-time listeners, Cloud Messaging (FCM), Remote Config (A/B testing), Auth, and Performance Monitoring.
- Proficient in applying design patterns and application architectures (MVVM, MVI, Clean Architecture, Dependency Injection via Hilt/Dagger2) to create scalable and maintainable solutions.
- Knowledge of databases such as Room DB for managing local data storage and offline-first persistence paired with Retrofit, Ktor, or Apollo GraphQL for network communication.
- Strong understanding of creating and interpreting sequence, class, and use case diagrams to visualize dynamic software behaviors and system architecture.
- Skilled in writing and executing automated unit, integration, and UI tests using JUnit5, Espresso, Mockk, and Compose UI Test Kit.
- Proficient in debugging, memory profiling, and resolving complex issues in Android applications using Android Studio Profiler.
- Proficient in using Git for code management and team collaboration.
- Experience writing Gradle Kotlin DSL build scripts (build.gradle.kts) and configuring CI/CD release pipelines using Fastlane, Bitrise, or GitHub Actions for Google Play deployment.
- Skilled in optimizing application performance, battery usage, network calls, and UI rendering speeds for enhanced user experience.
- Understanding and implementation of Material Design 3 guidelines for creating visually appealing and intuitive Android interfaces.
- Strong ability to convey ideas, technical specs, and feedback effectively to individuals, product managers, and engineering teams.
- Demonstrated skills in guiding engineering practices, mentoring team members, and fostering a positive work environment.
- Excellent organizational skills to prioritize sprint deliverables, meet project deadlines, and optimize productivity.
- Analytical mindset to assess technical challenges, debug production failures, and develop scalable solutions.
Recommended :
- 3 years' experience in :
1. Experience developing mobile solutions in an online ecommerce environment.
2. Experience with Server-Driven UI (SDUI) or Kotlin Multiplatform (KMP) architecture patterns.
3. Experience using Figma, design mockups, and interactive prototypes during development.
4. Experience with API security practices (OAuth 2.0, SSL Pinning, Android KeyStore encryption).
5. Experience with Redis, In-Memory caching, or local offline-first synchronization strategy.
6. Knowledge of SOX, PII, PCI, CCPA, HIPAA regulations for mobile transactions, security, and confidentiality. Integrating an application with other applications using SOA/REST web services.
- Successful internal candidates will have spent one year or more on their current team.