Tech Stack
AndroidGradleIoTJavaKotlin
About the role
- Deliver and maintain high-performance Android applications used directly by customers on Bevi smart water machines
- Develop internal tools that empower the engineering team to rapidly create and test new features enhancing the user experience
- Build software solutions that facilitate hardware-software integration and interface with firmware
- Collaborate closely with product management, firmware engineers, and hardware teams to define, create, and ship new features
- Design, build, optimize, and maintain Android applications using Kotlin, ensuring reliable operation and scalability of Bevi’s fleet
- Work as part of an agile software development team, writing clean, reliable, and maintainable code
- Review code, share input with peers, and maintain best practices across the team
- Create and maintain software documentation to contribute to knowledge sharing
- Influence the team’s software development and delivery strategy and participate in architectural decisions
- Triage, identify, and resolve complex issues and bugs in the Android stack to ensure reliable system operation
- Actively participate in Agile/Scrum processes including sprint planning, daily stand-ups, and retrospectives
- Ensure the performance, quality, and responsiveness of Bevi’s user interface
- Stay up-to-date with mobile technology trends and Android SDK advancements
- Ability to be in the office 3+ days per week in Boston (Charlestown) headquarters is required
Requirements
- A BS in Computer Engineering, Computer Science or other related field, or the equivalent in related software development experience
- 5+ years of professional Android development experience
- Strong expertise in Java or Kotlin with mastery of the Android SDK and frameworks, including Couroutines and State Flows. Experience working with Jetpack components, especially Compose, is a plus
- Familiarity with tools such as Git, Gradle, Android Studio, and CI/CD pipelines
- Hands-on experience developing and deploying production-ready Android applications
- Solid understanding of MVVM, Clean Architecture, and other design patterns
- Experience with unit testing, UI testing, and test-driven development. Experience using Espresso and/or Robolectric is a plus
- Solid understanding of performance tuning, memory management, and multi-threading
- A working knowledge of the application development landscape, architectural trends, and emerging technologies. Your passion for new technologies gives you a genuine desire to learn and to devise innovative solutions that enhance application performance
- Strong communication and interpersonal skills that allow you to collaborate effectively with cross-functional teams. You are able to constructively discuss opposing viewpoints with composure and tact to bring the team together towards a shared goal
- A self-starter approach and sense of ownership of the projects that you work on with the ability to work both independently and collaboratively in a fast paced work environment
- Experience with embedded development (AOSP) and integrating with firmware is a plus.