Remote Position

[Remote] Lead 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 provider of evidence-based de-escalation, crisis prevention training, and dementia care services. The Lead Software Engineer will serve as the technical lead for a product engineering squad developing CPI's cloud-native Integrated Training and Learning platform, with a focus on backend C#/.NET microservices, Azure, and distributed architectures. The role combines hands-on software development with technical direction, service ownership, incident response, mentoring, and adoption of AI-assisted engineering practices.

Responsibilities

  • Own the technical approach for the squad's roadmap: partner with the product owner to shape problems, evaluate options, and choose the simplest design that achieves the customer and business outcome
  • Lead technical design for new features and services in the ITL platform: C#/.NET microservices, CQRS command/query handlers, event contracts on Azure Service Bus, Azure SQL data models, and React front-end integration
  • Break epics into small, independently deployable increments; drive the squad toward frequent, low-risk production deployments using feature flags, trunk-based development, and automated testing
  • Remain hands-on: write production code daily, take on the hardest or most ambiguous technical problems, and unblock the squad when it gets stuck
  • Provide task breakdowns, identify dependencies and critical path, and give realistic effort estimates and risk assessments to the product owner and engineering manager
  • Demonstrate the squad's work to business stakeholders and clearly connect technical work to customer and business impact
  • Own the health of the services the squad is responsible for: define SLOs, ensure meaningful alerting and dashboards exist, participate in and help run the on-call rotation, and lead the response to production incidents
  • Lead blameless incident reviews for the squad; ensure follow-up actions are prioritized and completed so the same failure does not recur
  • Drive the incremental decoupling of ITL domain data from upstream enterprise systems: for each feature, identify the data ITL should own, design the migration, and ensure it flows to the data warehouse for reporting
  • Champion continuous improvement of the codebase: identify and pay down technical debt deliberately, improve build/test/deploy times, and reduce operational toil through automation
  • Ensure secure coding practices, accessibility standards (WCAG 2.1 AA), and performance considerations are built into the squad's definition of done
  • Lead the squad's adoption of AI-assisted development tools (e.g., GitHub Copilot, Claude, Cursor): establish norms for using them well, including review and testing expectations for AI-generated code, and measure their impact on delivery speed and quality
  • Use AI tools daily in your own work for design exploration, code generation, test writing, refactoring, and debugging, and model responsible use for the squad
  • Partner with the Principal Software Engineer on the Product Engineering AI strategy; pilot new tools and techniques on the squad and share results across teams
  • Identify and champion opportunities to apply AI within the ITL product or internal tooling where it creates measurable value for learners, instructors, and customers
  • Set and uphold engineering standards for the squad: code review expectations, testing strategy, documentation, and architectural consistency with the broader ITL platform
  • Mentor and coach engineers on the squad through pairing, design reviews, and regular feedback; help each engineer grow their technical skills and sense of ownership
  • Create space for experimentation: sponsor time-boxed spikes and proofs of concept, insist on evidence in technical debates, and make it safe to try things that might not work
  • Model learning from failure: own mistakes openly, turn them into lessons, guardrails, and runbooks, and lead retrospectives that produce real change
  • Collaborate with other squad leads, the Platform team, and the Principal Software Engineer to align on cross-cutting technical decisions and shared standards
  • Perform other position-related duties as assigned

Skills

  • Bachelor's degree in computer engineering, computer science, or a related field, or equivalent practical experience
  • Seven years or more of professional software engineering experience building and operating production web applications and distributed services
  • Two years or more of experience as a technical lead, tech lead, or senior engineer responsible for the technical direction and delivery of a team
  • Five years or more of hands-on experience with C# and .NET (ASP.NET Core, .NET 6+) designing and building backend services and APIs
  • Deep experience with distributed, event-driven architectures: message brokers (Azure Service Bus or equivalent), idempotency, retries, sagas, and eventual consistency
  • Experience designing systems using CQRS, event sourcing, and/or domain-driven design, including defining bounded contexts and event contracts
  • Working experience with React and modern JavaScript/TypeScript sufficient to design, review, and contribute to front-end features
  • Experience designing relational data models and tuning SQL performance (SQL Server / Azure SQL)
  • Experience building and operating services in Azure (App Service, Functions, Service Bus, Azure SQL, Azure Monitor / Application Insights, Key Vault) or an equivalent cloud platform
  • Experience establishing and improving CI/CD pipelines (Azure DevOps or GitHub Actions), automated test strategies, and continuous delivery practices
  • Experience leading incident response and blameless post-incident reviews for production systems
  • Experience mentoring engineers and leading technical design and code reviews
  • Knowledge of observability practices (structured logging, metrics, distributed tracing, SLOs) and security-based design patterns
  • Experience using AI-assisted development tools daily and guiding others in their effective, responsible use
  • 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 lead a team technically without formal authority: earn trust, build consensus, and make timely decisions when consensus is not possible
  • Ability to balance short-term delivery with long-term platform health and to explain those trade-offs to product and business stakeholders
  • Ability to facilitate evaluation of technologies and achieve consensus on technical standards and solutions among a diverse group of engineers
  • Excellent verbal and written communication; able to write clear design documents and give direct, constructive feedback
  • Demonstrated ability to attract, develop, and retain strong engineers
  • Experience on a learning management system, EdTech, or other B2B SaaS product used by end users at scale
  • Experience decoupling a product platform from an ERP/CRM system of record such as Microsoft Dynamics 365
  • Experience with infrastructure as code (Bicep, Terraform) and containerized workloads
  • Experience with web accessibility (WCAG 2.1 AA)
  • Azure certifications (e.g., Azure Developer Associate, Azure Solutions Architect)

Benefits

  • Gain significant career experience within a fast-growing organization, from entry-level roles through executive leadership
  • Build meaningful relationships and celebrate the wins

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