Join ABC Fitness and become part of a culture that's as ambitious as it is authentic. Let's transform the future of fitness-together!
Our Values
- Best Life
We believe great work begins with great people. That's why our culture is built on respect, trust, and belonging. We create an inclusive environment where every team member can bring their authentic self to work-because diverse perspectives drive innovation and meaningful impact. - Growth Mindset
We are doers, thinkers, and dreamers. At ABC Fitness, your growth is our investment. Through continuous learning, mentorship, and professional development opportunities, we empower you to reach new heights-personally and professionally. - One Team
From day one, you'll be part of a team that collaborates, celebrates, and cares. We move fast, support one another, and have fun along the way. Because when you thrive, we all thrive.
Lead the architecture and hands-on modernization of critical software systems.
ABC Fitness is modernizing critical technology from legacy, database-centric applications toward well-designed, domain-oriented software. This role will provide principal-level technical leadership for that transformation while protecting compatibility, correctness, and business continuity.
As a Principal Engineer, you will set software architecture and engineering direction and remain close to implementation. You will work across application code, domain models, APIs, data access, messaging, runtime behavior, and tests to turn complex technical risk into durable software.
This is a hands-on individual-contributor role. You will influence teams through technical judgment, clear architecture, working software, production insight, and partnership not through direct people management.
WHAT YOU'LL DO
- Lead software architecture and modernization
Shape the evolution of legacy applications into well-structured, domain-oriented software. Define target architecture, module and service boundaries, migration seams, compatibility strategies, and incremental paths that teams can implement safely. - Stay deeply hands-on in code
Contribute directly to critical implementations, prototypes, refactoring, code reviews, and production fixes. Work comfortably in backend code and frameworks such as Java/Springboot, Golang, Node/TypeScript, or similar backend ecosystems, and help teams improve application structure, runtime behavior, and maintainability. - Design strong domain models and APIs
Create clear domain abstractions, ownership boundaries, service contracts, and APIs. Improve how business rules are represented in code and keep consumers insulated from legacy storage and implementation details. - Modernize application foundations
Guide framework and runtime upgrades, dependency modernization, concurrency and lifecycle improvements, and the decomposition of tightly coupled code. Use practical refactoring strategies that keep large systems releasable throughout the work. - Engineer for correctness, performance, and reliability
Diagnose difficult behavior through code, runtime evidence, database interactions, and dependency flows. Fix root causes in implementation and design, including concurrency defects, inefficient data access, resource contention, failure propagation, and recovery behavior. - Improve data access and integration design
Move business logic out of database-centric implementations and into testable application code. Design effective persistence, transaction, caching, messaging, and event-consumer patterns while preserving historical, reporting, and audit needs. - Raise the bar for code quality and testing
Establish strong practices for unit, integration, contract, and functional testing. Improve code review, static analysis, dependency management, feature controls, and validation so teams can change complex software with confidence. - Create reusable engineering patterns
Turn successful designs into clear patterns, reference implementations, libraries, and architecture decisions that help teams solve recurring software problems consistently. - Turn technical strategy into cross-team execution
Translate architectural risk into clear code-level priorities, decisions, ownership, and sequenced implementation plans. Partner with engineering, product, security, and data teams to move complex software initiatives from design through working code.
WHAT THIS IS NOT
- This is not a people-management or architecture-only role. The engineer is expected to contribute directly to implementation and production outcomes.
- This is not limited to greenfield design or modernization for its own sake. Decisions must balance long-term software quality with migration safety, business value, and the realities of changing production applications.
WHAT YOU BRING
- Deep backend and distributed-systems engineering
You have substantial experience designing, building, operating, and evolving production backend systems, services, APIs, and distributed applications. - Credible hands-on im