ButterflyMX is on a mission to empower people to open and manage doors & gates from a smartphone. They are seeking a Senior Android Engineer to design and develop Android mobile applications and SDKs, ensuring high performance and quality while collaborating with cross-functional teams to enhance their products.
Responsibilities:
- Design and develop Android mobile applications and SDKs, ensuring high performance, quality, and responsiveness
- Create new, secure, and reliable features that enhance real-time data, video, and audio capabilities
- Implement modern Android development design patterns to improve code maintainability and efficiency
- Propose and integrate innovative tools, frameworks, automations, and processes that enhance team productivity and code quality
- Collaborate with product management and UX teams to solve customer challenges by providing engineering solutions and trade-offs
- Participate in an agile development environment to deliver high-quality software solutions
- Refactor legacy codebases to improve maintainability and scalability, ensuring minimal disruption to ongoing development processes
Requirements:
- Proficient in programming with Kotlin and familiar with at least one other programming language
- Strong experience with the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Deep understanding of code versioning tools such as Git
- Experience with asynchronous programming frameworks like Kotlin Coroutines and reactive programming libraries like Kotlin Flow
- Proficient in using Jetpack Compose for building responsive and maintainable UIs
- Skilled in Dependency Injection and build management using Gradle
- Experience with CI/CD implementation using GitHub Actions
- Experience in optimizing apps for performance, including memory management and responsiveness
- Experience in writing testable code and implementing automated tests to ensure code quality
- Hands-on experience with deployments to the Google Play Store, including app signing, versioning, and managing beta releases
- Proficient in REST and GraphQL architectures for integrating web services into mobile applications
- Experience with WebSockets, Firebase Cloud Messaging, audio-video calling technologies like Twilio, and integrating third-party SDKs
- Hands-on experience with Bluetooth Low Energy (BLE) and NFC technologies
- Experience with the Flutter framework for developing cross-platform applications or integrating it as a module
- Proven experience in leading or mentoring a team of Android engineers
- Strong communication skills, with the ability to collaborate effectively with cross-functional teams
- Active participation in the technology community, including contributions to open-source projects