Senior Mobile Developer
Relocation Assistance Available!
As a Senior Mobile Developer at TrainingPeaks, your primary role is building software that helps our athletes and coaches achieve their goals. You understand and appreciate the unique challenges of training and coaching for endurance sports, and of building high quality software for this market.
You excel at collaborating with other engineers, product managers, UX and UI designers, and QA testers, to find pragmatic solutions to challenging problems. You work to raise the quality and productivity of your team by improving the codebase, improving tools and processes, and mentoring junior engineers. You have enough skill to invent your own frameworks, libraries, and build tools, and enough judgement to know when not to.
You understand that personal skills, relationships, and team dynamics are just as important as software architecture. You are a driving force for quality, positive change, and continuous improvement, and you constantly raise the standards and bring out the best in your team. You are committed to helping our customers, our business, and your teammates achieve their goals.
TrainingPeaks provides the complete web, mobile and desktop solution for enabling smart and effective endurance training. Our products include TrainingPeaks.com Athlete and Coach Edition, WKO+ desktop software for cutting-edge scientific analysis and planning, and the TrainingPeaks mobile apps for iOS and Android. TrainingPeaks solutions are used by Tour de France teams, IRONMAN® World Champions, Olympians, athletes and coaches around the world to track, analyze and plan their training.
Our engineers share a passion for technical excellence, teamwork, and continuous improvement. We consistently deliver solutions that help our customers succeed and help our business grow.
In this role, you will have the opportunity to:
- Create new features and bug fixes for the TrainingPeaks Android app
- Collaborate with product manager, UX, UI, and QA, to design and deliver delightful user experiences
- Work with other engineers to improve existing architecture and define new architecture patterns, and to research and implement tools and processes that enhance quality and increase productivity
- Plan and implement refactoring projects to reduce technical debt and improve system architecture
- Mentor junior engineers
- Perform other duties as assigned
To be successful in this position, you possess:
- Experience working on challenging problems in complex Android applications
- Ability to fully maintain and drive the architecture of a complex Android project
- Extensive knowledge of Java
- Experience working with RESTful APIs
- Extensive knowledge of asynchronous programming, the app life cycle and networking
- Strong understanding of the MVVM pattern
- Proficient with Git
- Experience with unit testing, integration testing, and test driven development
- Experience with mentoring junior developers on writing code that is clean, maintainable, and testable
- Strong written and verbal communication skills
- Demonstrated commitment to continuous improvement of yourself and your team
If this job description excites you, we're looking forward to connecting!
Benefits and Perks Include:
- 100% company paid medical plan for employees with buy-up options as well as dental and vision insurance for employees (dependent coverage available)
- 401(k) 5% match
- $1,200/year fitness reimbursement to purchase any items related to healthy living
- 3 weeks of PTO for all new hires; increase in PTO at various years of service
- 4 week paid sabbatical for all employees after 7 years of employment
- Stocked kitchen with snacks and drinks
- Dog friendly office
- Music Studio for all to practice, jam, and record
- On-site workout area access: treadmill, bike trainers, rowers, and full weight lifting gym with CrossFit equipment, with changing rooms and showers and towel service
- Corporate discounts on gym memberships and top-brand gear
- Beautiful North East Boulder, CO location (with a few remote days possible)
- Flexible work schedule in a culture of trust