Crisis Prevention Institute logo
Hiring from
Probably Worldwide
Work type
Remote
Posted
Sep 28, 2026
Is this job info correct?

Our Story:
Crisis Prevention Institute Inc. (CPI) is the worldwide leader in evidence-based de-escalation and crisis prevention training and dementia care services. Our programs teach professionals the skills to recognize, prevent, and respond to crises in the workplace. Since 1980, we’ve helped train more than 17 million people within service-oriented industries including education, health care, behavioral health, long-term care, human services, security, corporate, and retail.

At CPI, we are dedicated to changing behaviors and reducing conflict for the Care, Welfare, Safety, and Security of everyone. We believe the power of empathy, meaningful connections, personal safety, and security are the antidotes to fear and anxiety. It’s a philosophy that is central to everything we do, and traces back to our beginning.

As a member of the team, you can expect to:

  • Make a difference through your work – You’ll be proud to tell your family and friends about what you do.
  • Gain significant career experience only obtained within a fast-growing organization – Entry-level roles through executive leadership.
  • Feel fulfilled and have fun – We work hard but make the time to build meaningful relationships and celebrate the wins.
The Role:
The Senior Software Engineer is a hands-on member of a Product Engineering squad on CPI's Integrated Training and Learning (ITL) platform, the cloud-native learning platform used by CPI's learners, Certified Instructors, and customer administrators worldwide. This is a full-stack role with a strong backend emphasis: the majority of the work is in C#/.NET microservices built on CQRS and event-driven patterns in Azure, with regular contribution to the React front end that delivers the learner and instructor experience. Working in a small squad alongside a product owner, designer, and fellow engineers, the Senior Software Engineer owns features end to end: shaping the problem with the product owner, designing the solution, building and testing it, shipping it to production, and measuring whether it moved the customer or business outcome it was meant to move. This role is expected to raise the bar for the squad through code quality, technical judgment, and mentorship, and to actively contribute to a culture of curiosity, ownership, experimentation, and continuous improvement.

Product Delivery:
  • Design, build, test, deploy, and support features across the ITL stack: C#/.NET microservices, CQRS command and query handlers, Azure Service Bus event consumers and publishers, Azure SQL data models, and React front-end components.
  • Partner with the product owner and designer to understand the customer problem behind each request, challenge assumptions, and propose the simplest solution that delivers the outcome.
  • Break epics into small, independently shippable increments; ship to production frequently behind feature flags and validate with real usage data.
  • Write automated unit, integration, and contract tests as part of every change; treat test coverage and observability (logging, metrics, tracing) as part of the definition of done.
  • Demonstrate completed work to business stakeholders and articulate the customer and business benefit, not just the technical change.
Platform Ownership & Operational Excellence:
  • Own the health of the services your squad is responsible for: monitor dashboards and alerts, participate in the on-call rotation, and respond to and resolve production issues.
  • Participate in blameless incident reviews; drive follow-up actions that prevent recurrence (tests, alerts, runbooks, architectural fixes).
  • Continuously improve the codebase you work in: reduce technical debt incrementally, improve build and deployment times, and simplify where complexity is not earning its keep.
  • Contribute to the incremental decoupling of ITL domain data from upstream enterprise systems by ensuring each feature you build moves the data ITL needs into ITL-owned services.
  • Apply secure coding practices and accessibility standards (WCAG 2.1 AA) as a default part of engineering work.
AI-First Engineering:
  • Use AI-assisted development tools (e.g., GitHub Copilot, Claude, Cursor) as a core part of the daily workflow for design exploration, code generation, test writing, refactoring, and debugging, while owning the quality, security, and correctness of everything shipped.
  • Experiment with new AI tools and techniques, measure their impact on speed and quality, and share what works (and what does not) with the squad.
  • Identify opportunities where AI capabilities could improve the ITL product or internal tooling and bring them to the squad with a proposed proof of concept.
Culture, Learning & Collaboration:
  • Bring curiosity to the work: investigate unfamiliar parts of the system, ask why, and share what you learn in code reviews, documentation, and team discussions.
  • Run small, time-boxed technical experiments and spikes to de-risk decisions; present findings and recommendations to the squad with evidence.
  • Give and receive thoughtful, direct code review feedback; mentor less experienced engineers and help them grow.
  • Contribute to retrospectives with candor, own your part in what went wrong, and follow through on improvement actions.
  • Perform other position-related duties as assigned.

You Need to Have:
  • Bachelor's degree in computer engineering, computer science, or a related field, or equivalent practical experience
  • Five years or more of professional software engineering experience building and operating production web applications and services
  • Three years or more of hands-on experience with C# and .NET (ASP.NET Core, .NET 6+) building APIs and backend services
  • Experience building and maintaining distributed, event-driven systems, including message brokers (Azure Service Bus or equivalent) and asynchronous processing patterns
  • Experience with CQRS, domain-driven design, or similar patterns that separate reads from writes and model business domains explicitly
  • Experience building front-end features in React (hooks, state management, component design) and modern JavaScript/TypeScript
  • Experience designing relational data models and writing performant SQL (SQL Server / Azure SQL)
  • Experience deploying and operating services in Azure (App Service, Functions, Service Bus, Azure SQL, Azure Monitor / Application Insights) or an equivalent cloud platform
  • Experience with automated testing across the stack (unit, integration, contract, and end-to-end) and CI/CD pipelines (Azure DevOps or GitHub Actions)
  • Experience working on an agile team with continuous delivery practices: small batches, trunk-based development or short-lived branches, feature flags, and frequent production deployments
  • Knowledge of RESTful API design, authentication/authorization patterns, and security-based design patterns
  • Knowledge of observability practices: structured logging, metrics, distributed tracing, and alerting
  • Experience using AI-assisted development tools (e.g., GitHub Copilot, Claude, Cursor) as part of a daily engineering workflow
  • Yearly personal development demonstrated by successfully completing an accredited software engineering course, acquiring a software engineering-related certification, or presenting a completed learning project to the team
  • Curiosity: asks why before how, digs into unfamiliar code and systems, and seeks to understand the learner, instructor, and customer problem behind every request
  • Ownership: treats the services and features they touch as theirs to keep healthy, from design through production support, and does not wait to be assigned a problem before solving it
  • Drive: a bias toward shipping working software in small, frequent increments and following through until the outcome is achieved, not just the ticket closed
  • Experimentation: comfortable proposing and running small, time-boxed experiments (spikes, proofs of concept, A/B tests) and letting evidence, not opinion, settle technical debates
  • Learning from failure: participates openly in blameless retrospectives and incident reviews, shares mistakes as lessons, and turns them into guardrails, tests, or runbooks
  • Continuous improvement: leaves every codebase, process, and document a little better than they found it
  • Ability to take an ambiguous product problem and drive it to a well-designed, well-tested, shipped solution with minimal supervision
  • Ability to communicate technical trade-offs clearly to both engineers and non-technical stakeholders, in writing and in conversation
  • Ability to give and receive direct, respectful feedback and to disagree productively while committing to team decisions
  • Ability to manage multiple, competing priorities and attain the best possible outcomes for the organization
Crisis Prevention Institute is an Equal Opportunity Employer that does not discriminate against any applicant or employee on the basis of age, race, color, ethnicity, national origin, citizenship, religion, creed, sex, sexual orientation, gender, gender identity, or expression (including against any individual that is transitioning, has transitioned, or is perceived to be transitioning), marital status or civil partnership/union status, physical or mental disability, medical condition, pregnancy, childbirth, genetic information, military and veteran status, or any other basis prohibited by applicable federal, state, or local law. The Company will consider for employment qualified applicants with criminal histories in a manner consistent with local and federal requirements. Our management team is dedicated to this policy with respect to recruitment, hiring, placement, promotion, transfer, training, compensation, benefits, employee activities, and general treatment during employment.

Similar jobs

Apply for this job