Remote Position

[Remote] Senior Software Engineer

๐ŸŒ Remote ยท United States ๐Ÿ’ผ Full-time

Note: The job is a remote job and is open to candidates in USA. Crisis Prevention Institute is a worldwide provider of evidence-based de-escalation, crisis prevention training, and dementia care services. The Senior Software Engineer will build and operate full-stack features for the cloud-native Integrated Training and Learning platform, with a strong emphasis on C#/.NET backend services, Azure, distributed systems, and React. The role also involves end-to-end feature ownership, operational excellence, AI-assisted engineering, collaboration, mentoring, and continuous improvement.

Responsibilities

  • 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
  • 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
  • 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
  • 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

Skills

  • 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

Company Overview

  • Crisis Prevention Institute provides training and consulting in behavior management and dementia care for human service professionals. It was founded in 1980, and is headquartered in Milwaukee, Wisconsin, USA, with a workforce of 201-500 employees. Its website is http://www.crisisprevention.com/.
  • Apply Now โ†’

    More Open Positions

    Explore similar remote opportunities