C

Crisis Prevention Institute

Training to safely manage disruptive behaviors

Lead Software Engineer

Backend EngineeringConfirmed live in the last 24 hours
Full-timeMilwaukee, WI, USANo salary listed

About the Job

Requirements

  • Bachelor's degree in Computer Engineering, Computer Science, or a related field.
  • Seven or more years of professional software engineering experience building and operating production web applications and distributed services.
  • Two or more years of experience as a technical lead, tech lead, or senior engineer responsible for the technical direction and delivery of a team.
  • Five or more years of hands-on experience with C# and .NET, including ASP.NET Core and .NET 6+, designing and building backend services and APIs.
  • Deep experience with distributed, event-driven architectures, including message brokers such as 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 using SQL Server or Azure SQL.
  • Experience building and operating services in Azure, including App Service, Functions, Service Bus, Azure SQL, Azure Monitor/Application Insights, and Key Vault, or an equivalent cloud platform.
  • Experience establishing and improving CI/CD pipelines using 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, including structured logging, metrics, distributed tracing, and SLOs, and security-based design patterns.
  • Experience using AI-assisted development tools daily and guiding others in their effective, responsible use.
  • Demonstrate yearly personal development by successfully completing an accredited software engineering course, acquiring a software engineering-related certification, or presenting a completed learning project to the team.
  • Demonstrate curiosity by asking why before how, investigating unfamiliar code and systems, and understanding the learner, instructor, and customer problem behind requests.
  • Demonstrate ownership by treating services and features as theirs to keep healthy from design through production support and proactively solving problems.
  • Demonstrate drive through shipping working software in small, frequent increments and following through until outcomes are achieved.
  • Demonstrate experimentation by proposing and running small, time-boxed experiments, including spikes, proofs of concept, and A/B tests, and using evidence to settle technical debates.
  • Participate openly in blameless retrospectives and incident reviews, share mistakes as lessons, and turn them into guardrails, tests, or runbooks.
  • Demonstrate continuous improvement by improving codebases, processes, and documentation.
  • Lead a team technically without formal authority by earning trust, building consensus, and making timely decisions when consensus is not possible.
  • Balance short-term delivery with long-term platform health and explain trade-offs to product and business stakeholders.
  • Facilitate technology evaluation and achieve consensus on technical standards and solutions among a diverse group of engineers.
  • Communicate verbally and in writing, write clear design documents, and give direct, constructive feedback.
  • Demonstrate the ability to attract, develop, and retain strong engineers.

Responsibilities

  • Own the technical approach for the squad's roadmap by partnering with the product owner to shape problems, evaluate options, and choose the simplest design that achieves customer and business outcomes.
  • Lead technical design for new features and services in the ITL platform, including 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 and drive frequent, low-risk production deployments using feature flags, trunk-based development, and automated testing.
  • 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 connect technical work to customer and business impact.
  • Own the health of the squad's services by defining SLOs, ensuring meaningful alerting and dashboards exist, participating in and helping run the on-call rotation, and leading production incident response.
  • Lead blameless incident reviews for the squad and ensure follow-up actions are prioritized and completed to prevent recurrence.
  • Incrementally decouple ITL domain data from upstream enterprise systems by identifying the data ITL should own for each feature, designing the migration, and ensuring the data flows to the warehouse for reporting.
  • Identify and deliberately pay down technical debt, improve build/test/deploy times, and reduce operational toil through automation.
  • Ensure secure coding practices, WCAG 2.1 AA accessibility standards, and performance considerations are built into the squad's definition of done.
  • Lead adoption of AI-assisted development tools, including GitHub Copilot, Claude, and Cursor; establish norms for review and testing of AI-generated code and measure impact on delivery speed and quality.
  • Use AI tools daily 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 squad engineering standards for code review expectations, testing strategy, documentation, and architectural consistency with the broader ITL platform.
  • Mentor and coach engineers through pairing, design reviews, and regular feedback, helping each engineer grow technical skills and ownership.
  • Create space for experimentation by sponsoring time-boxed spikes and proofs of concept, requiring evidence in technical debates, and making 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 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.

Desired Qualifications

  • 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, including Bicep or Terraform, and containerized workloads.
  • Experience with web accessibility, including WCAG 2.1 AA.
  • Azure certifications such as Azure Developer Associate or Azure Solutions Architect.

About the Company

Crisis Prevention Institute

Training to safely manage disruptive behaviors

CPI provides training programs to help professionals safely manage disruptive behaviors and care for individuals with autism and dementia. Programs like Nonviolent Crisis Intervention, Dementia Capable Care, and Trauma-Informed Care are delivered as courses and certifications for healthcare, education, and human services. It uses neuroscience-based techniques and proactive intervention strategies to give caregivers practical skills to prevent incidents. It differentiates itself by tailoring content to organizational needs across sectors and focusing on proactive, evidence-based approaches; its goal is to improve safety and care quality by enabling staff to prevent disruptive incidents.

Company size
501-1,000
Company stage
Debt Financing
Total funding
$435M
Headquarters
Milwaukee, WI
Founded
1980

Recently Posted Jobs

Explore more opportunities at Crisis Prevention Institute

See more jobs