Job Description
Esper is experiencing hyper growth! We’re the industry’s first DevOps SaaS platform designed to provide a simple, safe, and secure way for engineering and DevOps teams to release applications and manage smart Android devices. Our device infrastructure enables developer, mid-market orgs, and enterprise fleets of 100,000+ devices to deliver their software as a service. Esper has rapidly-growing global customer adoption among some of the world’s most innovative major brands in retail, hospitality, logistics, and healthcare.
In this role, you will be part of a team building Esper’s flagship product, the Esper Foundation for Android, a custom Android-based operating system built for enterprises, optimized for dedicated Android devices.
As a Senior Software Engineer working with the Esper Foundation team, you will play a crucial role in the development, customization, and enhancement of our Android-based platforms. You will be responsible for designing and implementing software solutions, collaborating with cross-functional teams, and driving the technical direction of Foundation.
What you’ll do
- Development and Customization: Lead the development and customization of Android OS components, including system services, frameworks, and native applications.
- System Integration: Integrate and optimize hardware drivers, kernel modules, and system libraries to ensure seamless performance on target devices.
- Code Review and Quality Assurance: Conduct code reviews, implement best practices, and ensure the highest standards of code quality, performance, and security.
- Technical Leadership: Provide technical guidance and mentorship to junior engineers, fostering a culture of continuous learning and improvement.
- Collaboration: Work closely with product managers, UX/UI designers, and other stakeholders to define requirements and deliver features that meet business objectives.
- Performance Optimization: Analyze and optimize system performance, memory usage, and power consumption to enhance the overall user experience.
- Bug Fixing and Maintenance: Identify, debug, and resolve issues in the Android platform and applications, ensuring stability and reliability.
- Documentation: Maintain comprehensive documentation of design decisions, code changes, and development processes.
What we are looking for
- Education: Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field or equivalent experience
- Experience: 4+ years of experience in software development, with a strong focus on Android platform development and AOSP.
- Technical Skills:
- Strong software engineering fundamentals, including the use of version control systems like Git
- Proficiency in Java and Kotlin for Android development.
- Strong understanding of C/C++ for low-level programming and system integration.
- Experience with Android SDK, NDK, and AOSP build systems.
- Familiarity with Linux kernel development and device drivers.
- Knowledge of Android security architecture and best practices.
- Problem-Solving: Excellent analytical and problem-solving skills with the ability to diagnose and resolve complex technical issues.
- Communication: Strong verbal and written communication skills, with the ability to articulate technical concepts to non-technical stakeholders.
- Team Player: Collaborative mindset with the ability to work effectively in a team-oriented environment.
Preferred Qualifications
- Experience working with running Android on x86 hardware or on GSIs is a big plus.
- Experience working at third party, open-source orgs like LineageOS is a big plus.
- Experience working with CTS tests and building CTS-compliant Android platforms is desired.
- Experience working on Android OS for GMS certified devices is a huge plus.
- Experience working with the telephony layer i.e Android RIL is a bonus.
- Experience building Android apps and working in the Enterprise space.