Senior Software Engineer - Backend
At TrainHeroic we build software that helps coaches and athletes be their best. Our tools enable smart and effective strength and conditioning. We proudly serve clients in the NFL, NBA, Olympics, High School, College, every major branch of the military, and private training facilities globally.
We’re a high performance culture that serves high performance coaches and athletes. We believe in servant leadership and are seeking humble, hungry, smart change-makers striving to leave their mark on the world.
--
TrainHeroic is looking for a highly experienced engineer prepared to take on difficult challenges in our backend systems. We are looking for deep technical expertise to be the cornerstone of a growing high performance engineering team that delights our customers.
As Senior Software Engineer, you’ll have the opportunity to provide technical leadership, mentor more junior engineers, and regularly ship to production. You’ll be surrounded by other like-minded engineers in a team culture built around iterative development, automated testing, and high quality code.
Competencies & Day-to-Day Responsibilities
- You will become the technical leader and owner of our backend systems. We expect you to be a well rounded engineer with deep expertise in coding, systems design, architecture, and security.
- Thrive in a highly iterative and collaborative engineering environment. We pushed +150 production releases in 2018 and are on pace for even more this year. We move very quickly and do our best to not break things through automated testing, manual testing, monitoring, and deep expertise in both technology and our industry of strength and conditioning. To support collaboration, we have 15min standup each day and retro every other week.
- Optimize for performance and scalability across our API, database, and caching layers. We have aggressive user growth targets in the next 1-3 years and your technical work will be vital in supporting our growth initiatives.
- Sample projects you may take on include developing scalable API endpoints and underlying queries for our web Analytics solution and mobile app, refactoring our user subscription layer to better support future growth and pricing models, and improving or replacing our access control system.
- Work tightly with client-side engineers building our web, mobile, and tablet apps.
- Eventually, we’d like to make our API public and we appreciate the importance of having a clear separation of concerns between our API and client apps.
- Aggressively refactor code and systems. We take automated testing very seriously because we believe that test automation is the backbone of refactoring. In addition to the tight feedback loops provided in pull requests and conversations, our engineering team also regularly holds refactoring and clean code working sessions to address areas for improvement and professional growth.
- Passion for software quality best practices including unit and integration testing. We firmly believe in having robust and fast automated test suites, and we build this into our daily flows with tests on each PR, pipelines to run our test suites, and steady refactoring to improve our existing test suites and corresponding code. Software is an ever-changing world and we believe in optimizing for our ability to change.
- High interest in both receiving and providing technical direction and feedback. We expect you to be a leader of people and you must have both hard technical skills and soft interpersonal skills to achieve success. In this role, you will mentor more junior engineers, uphold high standards for quality, and serve as a high leverage point for our entire engineering team.
- You must approach your work with a balance of pragmatism and purity. Our team believes in focusing on better not perfect, with continuous improvement deeply rooted in our daily work.
To be successful in this role, you possess:
- 10+ years of software engineering experience
- Bachelors in Computer Science or STEM degree, or demonstrable experience
- Experience refactoring legacy applications and seeing architectural changes through from design to completion. We are looking for you to drive technical efforts on our backend and that requires a combination of coding and systems thinking.
- Experience in PHP, Ruby, Python, or similar experience preferred, with strong knowledge of object-oriented design, common OO practices, and Design Patterns (in any language). Our current backend stack includes AWS, Laravel, MySQL, and Redis. Our current client-side apps are primarily built in React and React Native. As our team and needs change, we are open to exploring new technologies best suited for the job.
- Experience with RDBMS, data storage, and caching tools such as redis, Elasticsearch, and MySQL. We are constantly searching for new ways to increase the performance at the data layer to meet growth.
All Heroes Receive:
Our TrainHeroic team consists of about 20 people, but we receive the benefits of our much larger parent company, Peaksware:
- Competitive compensation and incentives
- 100% company paid medical plan for employees with buy-up options as well as dental and vision insurance for employees (dependent coverage available)
- $1,200/yr fitness reimbursement for any healthy lifestyle and gym-related purchases
- Corporate discounts on gym memberships and top-brand gear
- 15-Days of PTO for all new hires…increases in PTO at various years of service
- 5% 401(k) Match Program
- Four week paid sabbatical for all employees after 7 years of service
- Dog friendly office
- Creative and high energy office at INDUSTRY Denver in RiNo
More about TrainHeroic:
TrainHeroic operates under the umbrella company Peaksware, Inc. along with TrainingPeaks, MakeMusic, and Alfred Music. Together, we have been recognized as Outside Magazine's "Best Places to Work" five times along with BuiltInColorado's "Best Places to Work" list 2017/2018.