Bevi
Senior Software Engineer, Android
Job Description
Bevi is on a mission to disrupt the beverage supply chain and replace single-use water bottles with smart water machines. Thousands of companies use Bevi to sustainably provide their employees with pure, sparkling, and flavored water at work. As the market leader in IoT-enabled beverage machines, we’ve raised over $160M in venture capital and we’re doubling year over year. In addition to maintaining hyper-growth with our current product line, Bevi is heavily investing in new product development.
Bevi is looking for a passionate and experienced Senior Software Engineer for Android to join our software development team. In this role, you will help deliver and maintain high-performance Android applications used directly by customers on our innovative smart water machines. You will develop internal tools that empower our engineering team to rapidly create and test new features that enhance the user experience of using our machines. You will be responsible for delivering software solutions that facilitate hardware-software integration efforts and will collaborate closely with other software and firmware engineers on system design, documentation, and implementation.
We are a small and fun software team in a fast-growing hardware startup. Our customers love our product and you will play a crucial role in making them even happier. If you love thinking through new ideas and interactions, how to execute them in an innovative way and have a deep respect for user experience, come join our team!
The ability to be in the office 3+ days per week in our Boston (Charlestown) headquarters is required for this position.
Your Day to Day
- Design, build, optimize, and maintain Bevi’s Android applications using Kotlin to facilitate consistent reliable operation, remote management, and scalability of Bevi’s rapidly expanding fleet of machines.
- Work efficiently to deliver consistent results as part of an agile software development team, ensuring your code is clean, reliable, and easy to maintain.
- Directly support hardware-software integration efforts on both existing and new products by building controls that interface with the firmware that powers Bevi machines.
- Collaborate with cross-functional teams, including product management, firmware engineers, and hardware teams, to define, create, and ship new features to Bevi’s customers.
- Review code and regularly share input and advice to peers to ensure high code quality and maintain best practices across the team.
- Create and maintain software documentation to proactively contribute to knowledge sharing across the team.
- Significantly influence the team’s software development and delivery strategy and contribute considerably to software development planning.
- Make technical decisions keeping software quality, security, and maintainability in mind.
- Set the standard for software quality and delivery across Bevi’s Android software team through the use of modern software frameworks and organizational practices.
- Help triage, identify, and resolve complex issues and bugs that surface in the Android stack for reliable system operation on Bevi machines and to reduce impact to customers.
- Actively participate in Agile/Scrum development processes, including sprint planning, daily stand-ups, and retrospectives.
- Ensure the performance, quality, and responsiveness of Bevi’s user interface.
- Participate in architectural decisions and app optimization strategies.
- Stay up-to-date with the latest mobile technology trends and Android SDK advancements.
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.
- 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.
Benefits
- Comprehensive medical, dental and vision insurance plans with BlueCross BlueShield, 95% paid by employer
- 401(k) with company match, and environmentally responsible investment options
- Flexible PTO plus 12 company holidays, and additional paid days for sick leave, etc (including sustainability or social justice volunteer events)
- Generous fully paid parental leave for both birth parents and non-birth parents
- Fully employer paid disability and life insurances
- Wellness and fitness reimbursements
- Monthly stipends for cell phone use and commuting costs
- Onsite snacks, weekly catered lunch, and (of course) unlimited Bevi … plus composting and terracycling, too
- Happy hours, team-building events, bagel breakfasts, Hero awards – and more!