Lead Software Engineer - Hybrid

Crisis Prevention Institute Inc

Milwaukee (WI)

Hybrid

USD 120,000 - 180,000

Full time

10 days ago
Application generator

Don’t send a generic resume — generate a resume and cover letter tailored to this exact role.

Get past ATS filters

Benefits offered by this job

Competitive salary
Comprehensive benefits package
401(k)
PTO
Health & Wellness Days
Paid Volunteer Time Off
Continuing education and training
Hybrid or remote work schedule
Paid Parental Leave

Job summary

Crisis Prevention Institute Inc is seeking a Lead Software Engineer to act as the technical lead for a Product Engineering squad on the ITL platform. You will design and implement backend services in C#/.NET, oversee CQRS/event-driven patterns on Azure, and collaborate across the React front end when needed.

You will mentor the team, drive architectural direction, ensure reliability and observability, and champion secure, accessible software. Hybrid or remote work options are offered.

Qualifications

  • Bachelor's degree in computer engineering, computer science, or related field or equivalent practical experience.
  • Seven+ years of professional software engineering experience building and operating production web apps and distributed services.
  • Two+ years as a technical lead, tech lead, or senior engineer responsible for technical direction.
  • Five+ years hands-on with C# and .NET designing backend services and APIs.
  • Experience with CQRS, event-driven architectures, and Azure cloud services.

Responsibilities

  • Own the squad's technical approach and roadmap in collaboration with the product owner.
  • Lead design for new ITL features: C#/.NET microservices, CQRS, and Azure integration.
  • Break epics into small increments and drive frequent, low-risk deployments.
  • Write production code daily and unblock the squad on tough problems.
  • Mentor engineers, conduct design/code reviews, and uphold standards.

Skills

C# / .NET
React
AI tooling
Distributed systems
Mentoring

Education

Bachelor's degree in computer science or related field
Equivalent practical experience

Tools

Azure Service Bus
Azure SQL
GitHub Actions

Job description

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 Lead Software Engineer is the technical lead 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 hands‑on, backend-focused role: the Lead spends the majority of their time designing and writing code in C#/.NET microservices built on CQRS and event‑driven patterns in Azure, and is comfortable working across the full stack, including the React front end, when the squad's work requires it. As technical lead, the Lead Software Engineer owns the technical direction and delivery health of the squad: translating product outcomes into a sound technical approach, breaking work into small shippable increments, setting engineering standards, and ensuring the services the squad owns are reliable, observable, and easy to change. The Lead is a player‑coach, not a manager: they raise the squad's technical bar through design reviews, code reviews, pairing, and mentorship, and they model the culture CPI is building in Product Engineering: curiosity, ownership, drive, experimentation, learning from failure, and relentless improvement.

Technical Leadership & Delivery:
  • 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.
Service Ownership & Operational Excellence:
  • 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.
AI‑First Engineering:
  • 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.
Team Growth & Culture:
  • 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.
You Need to Have:
  • 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
We’d Love to See:
  • 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)
What We Offer:
  • Competitive salary
  • Comprehensive benefits package
  • 401(k)
  • PTO
  • Health & Wellness Days
  • Paid Volunteer Time Off
  • Continuing education and training
  • Hybrid or remote work schedule
  • Paid Parental Leave

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.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Software Engineer - Hybrid
Senior Software Engineer - Hybrid

Crisis Prevention Institute Inc • Milwaukee (WI)

Hybrid
USD 120,000 - 180,000
Hybrid or remote work schedule
401(k)
Health & Wellness Days
+3
Strategic Account Executive II
Strategic Account Executive II

Crisis Prevention Institute Inc • United States

Hybrid
USD 90,000 - 150,000
Remote work option
Milwaukee Headquarters
Behavioral Crisis Prevention Instructor
Behavioral Crisis Prevention Instructor

Crisis Prevention Institute, Inc • Denver (CO)

Hybrid
USD 65,000 - 85,000
Hybrid or remote work schedule
PTO
Health & Wellness Days
+2
Service Desk Analyst I
Service Desk Analyst I

Crisis Prevention Institute • Wisconsin

On-site
USD 50,000 - 58,000
$50,000 - $58,000 annual salary
Annual company performance bonus
Comprehensive benefits package
+5
Marketing Lead, Content Strategy
Marketing Lead, Content Strategy

Crisis Prevention Institute • Milwaukee (WI)

On-site
USD 80,000 - 85,000
Annual company performance bonus
Comprehensive benefits package
401k
+3
Behavioral Crisis Prevention Instructor
Behavioral Crisis Prevention Instructor

Crisis Prevention Institute Inc • Denver (CO)

On-site
USD 65,000 - 90,000
Hybrid or remote work schedule
Competitive salary
Comprehensive benefits package
+6
Behavioral Crisis Prevention Instructor
Behavioral Crisis Prevention Instructor

Crisis Prevention Institute Inc • Las Vegas (NV)

On-site
USD 65,000 - 90,000
401(k)
PTO
Health & Wellness Days
+4
Customer Support Representative
Customer Support Representative

Crisis Prevention Institute, Inc • Milwaukee (WI)

On-site
USD 32,000 - 52,000
Hybrid schedule
401k
PTO
+3
Customer Support Associate
Customer Support Associate

Crisis Prevention Institute, Inc • Town of Grafton (WI)

Hybrid
USD 54,443,000 - 57,308,000
Comprehensive benefits package
401k
PTO
+3
Director, Engineering - Data Infrastructure & Reliability
Director, Engineering - Data Infrastructure & Reliability

Koitecc Solutions • New York (NY)

Hybrid
USD 180,000 - 260,000
Market compensation
Wellness programs
Parental leaves
+2