Arryved Inc. is a Boulder-based company specializing in Point-of-Service for craft breweries, restaurants, and other craft destinations. At our core, we use software to build excellent customer experiences on both sides of the counter, from being the central hub of the restaurant/taproom and back-of-house, to online sales and mobile guest experiences. We believe that nothing is worth doing unless it aligns with your customer experience and is done right, no matter the cost.
At Arryved we are committed to creating a safe space, and to ensuring opportunities for success for all employees equally. We recognize that diversity makes us stronger and we commit to creating a respectful working environment where all voices are invited and heard.
The most important product for Arryved’s end-users is our Point of Service application, an Android application that has been with us since the very beginning. As we continue to scale, Arryved has multiple strategic initiatives for this application that require Android subject-matter expertise and thought leadership. As a Senior Android Engineer, you will provide technical leadership and mentoring to other engineers at Arryved to advance our Point of Service Application. We are also looking for someone with experience designing, building, and modernizing Android applications.
Are you one of the best at what you do? Do you enjoy solving complex problems or puzzles? Maybe you’ve done competitive coding competitions for fun and profit? Or perhaps writing clean, extensible code really gets you jazzed? We want someone as passionate as we are about building useful and usable software, but equally as passionate about shipping products that people use daily. We are looking to hire a Senior Android Engineer.
- 5+ years work experience in full stack development, 3+ years of experience working on Android applications. Must include a solid understanding of and best-practices experience with several of the following, within a commercially available application:
- The Android Activity lifecycle, including related state management techniques across activity flows
- How and when to incorporate user notifications, user-metric tracking, just-in-time permission requests as needed
- Calling external REST APIs, using local storage, upgrading storage schema over time, and addressing data synchronization concerns
- How to properly synchronize efforts across the main UI thread and background data-activity threads
- Aspects for handling multiple users with login/logout capability as well as multiple permission levels
- Solid understanding of common design patterns including when you would use them
- Strong knowledge of data structures and algorithms
- Experience with a variety of storage and data management technologies (SQL, NoSQL, local caching, etc)
- Translates insights into solutions, including the ability to make technical trade offs and lead code reviews or sprint design conversations
- Additional experience around our Android-specific needs
- Dealing with sometimes network-flaky environments
- Experience handling I/O from externally connected devices ( for example payment swipers, barcode scanners, cash drawers)
- Exposure to different ways to handle display requirements for indoor (soft-lit areas) vs bright/outdoor usage (for example, on a patio with the sun overhead)
- Experience dealing with battery / performance considerations for external devices, heat issues, etc
- Application roll-out and upgrade strategies, including experimental feature tracking and dark-launch capabilities
- Payments experience, especially around handling PCI data and using standard encryption
- Accustomed to highly scalable, high volume, low latency, transactional systems
- Experience designing, implementing, maintaining, and versioning APIs
- Demonstrated ability to enhance and extend an application over time (especially across Android versions and changing permissions types over time)
- Exposure to code generators (writing and/or using)
- Advisor to peers, manager, and product managers
Our Tech Stack:
- Backend is Java
- Frontend is Typescript, React, Redux, Material UI, Webpack, and Remix
- Source control is Git
- Environment is Google Cloud
The job entails:
- Working in a very team-oriented development environment
- Opportunities to deep dive into Java and mobile development
- Strong automated testing to ensure code backwards compatibility and quality
- General web development on our internal- and external-facing portals
- Contributing to the establish of ecommerce widgets for use internally and externally
- This position will be physically located in the general Boulder, CO (Denver) metro area (this position is not available for fully remote employees because of the hardware component)
- Salary is FTE$165,000 to $200,000 depending on experience
- Benefits Include Healthcare, Dental, Vision, 401k match, Generous PTO, Multiple leave policies
Arryved is a family-friendly workplace dedicated to fostering a diverse, inclusive, and respectful environment for all employees. We prohibit unlawful discrimination against applicants and employees on the basis of race, color, religion, gender, gender identity, national origin, age, disability, socio-economic status, sexual orientation, genetic information, or any other status protected by applicable federal, state, or local law.