Back End Principal Software Engineer - TrainingPeaks
Description
As Principal Software Engineer, you will quickly learn the fundamentals of the organization's product technology stack, successfully identifying positive patterns and opportunities in the code base.
Throughout, you will spend time learning the development team's collaborative dynamics, get to know individual contributors, and mentor developers in best practices and code design.
Long term, you will continue to help the entire product development organization become more efficient and innovative by making pragmatic technology decisions. You will continuously balance long-term engineering needs with short-term business drivers and help teams choose the right technologies and architectural patterns for the circumstance. Lastly, you will promote a culture of shared learning and drive these goals by promoting a high performance engineering hiring process.
We would love to have you join our ever-growing team!All applicants will receive equal consideration for employment regardless of gender, race, national origin, age, sexual orientation, gender identity, physical disability, religion, or length of time spent unemployed.
You are a continuous learner with a hunger for knowledge. You approach challenges as opportunities to improve. You value team members' input from all levels and you actively seek ways to support your colleagues.
You will sit directly with the Engineering Team, work in close collaboration with product, marketing, sales, and customer teams, and report to the Engineering Manager.
Core Functions:
- Solve our most complex engineering challenges, lead our decision-making process on the most relevant technical solutions for complex business problems.
- Evaluate and make decisions around the use of new or existing technologies and tools, influence other Engineers and stakeholders to build the right systems that can scale to the needs of the business.
- Provide strategic leadership of technology road-map, collaborating with Engineering and Product leadership to define resourcing and prioritization.
- Provide leadership and definition of software engineering best practices, by staying up to date with and continuously exploring and evaluating new software development approaches.
- Consult on technology and product initiatives at early stages (initiation, planning) to provide risk, complexity, systems, and time estimate analysis of efforts.
- Embed in teams to provide strategic architectural and best-practices guidance on day-to-day execution of product road maps. This includes regular hands-on coding with the teams on product initiatives.
- Rapidly learn and evaluate new languages, frameworks, and solutions that support the technical strategy.
- Assist Engineering leadership with hiring effort, providing primary guidance on code test and technology skills evaluation as well as culture fit and best practices vetting.
- Perform other duties as assigned.
Requirements
- 8-15+ years of software engineering experience.
- 2+ years of experience proving success driving pragmatic architecture decisions
- Extensive experience writing operational, production code in a SaaS environment.
- Deep knowledge of at least two programming languages, each ideally within fundamentally different programming paradigms (e.g., object-oriented + functional)
- Proven ability to lead delivery of large-scale high-quality systems
- Proven ability to lead strategic and day-to-day improvements to existing and growing systems using architecture, infrastructure, operations, and software best practices for teams and products.
- Ability to clearly communicate technology strategy to executive leadership, product management, and development teams.
- Focus on servant leadership, with the ability to influence team members without direct reporting lines by creating open, collaborative relationships with other technologists across the department and leading by example through clean, methodical implementations.
- Degrees are not required and we value all forms of continued education including traditional four-year degrees, post-graduate degrees, associates degrees, bootcamps, online training, professional certifications, self-teaching and more.
Our Tech Stack:
- Cloud architecture: AWS compute & cloud native services (EC2, Lambda, SQS, Fargate, Amplify)
- Databases: SQL Server, ElasticSearch, DynamoDb, S3, Redis
- Back end languages: C#, .NET, .NET core, Python
- Front end languages: JavaScript, React, TypeScript, Web Components, SCSS
- Mobile languages: iOS (Swift, Objective-C), Android (Kotlin, Java), Dart, Flutter
- CI/CD: TeamCity, CodeBuild, CodePipeline
- Automated testing (unit & TDD, integration, end to end): NUnit, Moq, Pytest, Jest, Cypress
- Other tools: GitHub, TargetProcess
Desired Qualifications:
- Experience shipping software in an agile environment with multiple teams and responsibilities
- Experience with architecture and design of large scale distributed systems built for reliability and scaling
- Experience with networking protocols, web technologies
- Experience with large data storage architecture, design patterns, tools, and techniques
- Experience with service-oriented and event-driven architectures and messaging technologies
Don't meet every single requirement? Don't worry. We still want to hear from you and encourage you to apply.
Benefits
Compensation:
Peaksware/TrainingPeaks is committed to fair and equitable compensation practices. The salary range for this role is $115,966 - $193,277. This position is also remote-friendly and, as such, compensation will ultimately be in line with the location in which the position is filled. Final compensation for this role will be determined by various factors such as a candidate's relevant work experience, skills, certifications, and geographic location.
This role is eligible for variable compensation including bonus.
Benefits and Perks:
Health
- 100% company-paid Medical for employees with buy-up options
- Dental
- Vision
- Health Savings Account
- Flexible Spending Account
- Dependent Care Flexible Spending Account
- Paid Parental Leave
- Teladoc
- Employee Assistance Program (EAP)
- Additional coverage options such as accident and critical illness insurance and hospital indemnity
Disability and Life
- Company-paid Short Term Disability
- Company-paid Long Term Disability
- Company-paid Basic Life Insurance and AD&D
- Employee-paid Supplemental Life Insurance for Employee, Spouse, and/or Child
Additional*
- 401(K)
- 401(K) Matching
- Pet Insurance
- 9 paid holidays annually and unlimited Flexible Time Off (FTO)
- Free TrainingPeaks, TrainHeroic, MakeMusic accounts, and Alfred Music product
- Access to the Performance and Recovery Center (PARC), our on-site fitness facility
- Employee only access to on-site locker rooms and showers
- Employee only access to secure, indoor bike storage
- Access to our onsite Music Studio
- An assortment of "grab'n go" fruit and snacks as well as on tap cold brew, kombucha, and beer.
- Beautiful onsite cafe that includes indoor and outdoor seating and lounge areas.
- Access to e-bikes available exclusively to Peaksware employees
- Significant investment in resources for employee growth and development
- Corporate discounts on select gym memberships and top brand gear
- Flexible work schedule in a culture of trust
Please contact [email protected] if you require a reasonable accommodation to review our website or to apply online.
---
TrainingPeaks is a member of the Peaksware family of companies including Alfred Publishing, MakeMusic, TrainingPeaks, and TrainHeroic. Peaksware was recognized as #15 on Built in Colorado's "Best Places to Work" list and five times by Outside Magazine's "Best Places to Work"! Through our unique approach to deliberate practice, each company within Peaksware develops software solutions to help users on their individual journeys of skill development and improvement.