Job Description
This position is seeking a skilled Software Engineer specializing in mobile application development to drive the evolution of an open source credential wallet platform. The primary focus will be on delivering a robust, scalable, and user-centric mobile solution across Android and iOS ecosystems. The engineer will be responsible for designing and implementing a modular SDK architecture that enables seamless integration of core functionalities and UX workflows. This will involve creating reusable components that can be leveraged across multiple applications, while ensuring the final user-facing product is a lightweight, aesthetically refined layer built on top of these SDKs. Additionally, the role requires establishing and maintaining a comprehensive CI/CD pipeline for mobile development, including automated testing, deployment to TestFlight, App Store, Play Store Beta, and Play Store, with integration to the broader software supply chain. Collaboration with cross-functional teams, including product managers and designers, will be essential to translate business requirements into technical solutions and ensure alignment with user experience goals.
Key Responsibilities
- Refactor, maintain, and extend the open source credential wallet application on both Android and iOS platforms, ensuring technical debt is minimized and code quality is optimized.
- Design and develop a modular SDK architecture that encapsulates core functionality, UX workflows, and reusable components, enabling efficient integration into future projects.
- Implement a CI/CD pipeline for mobile applications, including automated testing, build automation, and deployment to TestFlight, App Store, Play Store Beta, and Play Store, while synchronizing with the CI/CD processes of the broader software supply chain.
- Collaborate with product managers to prioritize and manage user stories, features, and releases, ensuring alignment with business objectives and technical feasibility.
- Work closely with designers to translate UI/UX concepts into fully functional mobile interfaces, maintaining consistency with brand guidelines and user experience standards.
- Adapt to rapidly changing priorities and deliver high-quality software under tight deadlines, demonstrating flexibility and problem-solving capabilities.
- Conduct code reviews, debug complex issues, and ensure the application adheres to best practices in mobile development, security, and performance optimization.
- Monitor application performance post-deployment, gather user feedback, and iterate on improvements to enhance user satisfaction and system reliability.
Job Requirements
- Proven experience as a mobile developer with a strong background in Android (Kotlin/Java) and iOS (Swift) development, or proficiency in cross-platform frameworks like React Native or Flutter.
- Deep understanding of software architecture principles, with a focus on modular design, reusable components, and SDK development to support scalable solutions.
- Expertise in CI/CD practices, including tools like Jenkins, GitHub Actions, or CircleCI, and experience with automated testing frameworks (e.g., XCTest, Espresso, Appium).
- Strong collaboration skills to work effectively with product managers, designers, and cross-functional teams, ensuring seamless communication and alignment on project goals.
- Ability to analyze complex technical challenges and devise innovative solutions, with a track record of delivering high-quality mobile applications on time.
- Proficiency in version control systems (e.g., Git) and familiarity with agile development methodologies (e.g., Scrum, Kanban) for iterative project management.
- Excellent problem-solving abilities and attention to detail, with a commitment to writing clean, maintainable, and efficient code.
- Knowledge of mobile security best practices, including data encryption, secure API integrations, and privacy compliance (e.g., GDPR, CCPA).
- Experience with cloud services (e.g., Firebase, AWS) and backend integration to ensure seamless functionality across the application stack.
- Strong communication skills to document technical processes, present updates to stakeholders, and provide clear explanations of complex concepts.