Principal Software Engineer

Milwaukee, WILeadPosted Oct 28, 2026

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 Principal Software Engineer is the senior-most individual contributor in CPI's Product Engineering organization and is responsible for the technical architecture and long-term health of the Integrated Training and Learning (ITL) platform: a cloud-native learning platform composed of 30+ C#/.NET microservices built on CQRS and event-driven patterns, communicating over Azure Service Bus, backed by Azure SQL, and delivered through a React single-page application to CPI's learners, Certified Instructors, and customer administrators worldwide.

This is a hands-on principal role. The Principal Software Engineer sets the technical vision for the platform, owns cross-cutting architectural decisions, and works directly in the code with product squads and the Platform team to make that vision real: prototyping, pairing, reviewing, and shipping. The role is measured by outcomes the platform enables (deployment frequency, reliability, cost efficiency, and speed of feature delivery), not by documents produced.

The Principal Software Engineer is a multiplier for the whole organization and a visible role model for the culture CPI is building: curiosity, ownership, drive, experimentation, learning from failure, and continuous improvement. Architecture & Technical Vision: Own the target architecture for the ITL platform and the roadmap to get there: service boundaries and bounded contexts, event and API contracts, data ownership, integration patterns, and front-end architecture.

  • Lead the architectural strategy for decoupling ITL domain data from upstream enterprise systems so that ITL owns its production data, deploys independently, and can ship to production multiple times per day. Design and evolve the platform's event-driven backbone: event taxonomy and routing on Azure Service Bus, filtering and prioritization, idempotency, saga and retry strategies, and throughput and cost optimization. Define the standards for CQRS, domain-driven design, API design, data modeling, security, and observability across all services, and make them easy to follow through templates, reference implementations, and tooling. Evaluate build-versus-buy and platform decisions with clear cost, risk, and time-to-value analysis; produce lightweight architecture decision records (ADRs) so decisions and their reasoning are durable and revisitable. Keep the architecture honest by measuring it: partner with the Platform team on distributed tracing, service-level dashboards, and cost visibility, and use that data to prioritize architectural investments. Hands-On Engineering: Write production code: prototype new patterns, build reference implementations, pair with engineers on the hardest problems, and contribute directly to critical initiatives. Lead technical design reviews for significant changes across squads; review code for architectural consistency and teach through the review. Run time-boxed experiments and proofs of concept to de-risk major decisions before committing the organization to them; kill ideas that the evidence does not support. Serve as the final technical escalation point for complex production incidents; lead blameless reviews of systemic failures and drive architectural remediation. AI-First Engineering: Lead the technical strategy for AI-assisted software development across Product Engineering: tooling selection, guardrails, evaluation of quality and productivity impact, and shared practices. Identify and architect opportunities to apply AI within the ITL product itself where it creates measurable value for learners, instructors, and customers. Leadership, Mentorship & Culture: Raise the technical bar of the entire organization: mentor Lead and Senior engineers, run architecture guilds and tech talks, and grow the next generation of technical leaders. Partner with the VP of Engineering, engineering managers, product leadership, and the Platform team to align technical strategy with product and business strategy; translate architecture into business outcomes for executive stakeholders. Provide direction to a group of peers; achieve team buy-in and shape decisions using evidence, customer knowledge, and CPI business context; focus on reaching the right conclusion rather than winning the argument. Model curiosity and continuous learning: stay current on industry trends in .NET, Azure, distributed systems, and AI, and apply what is relevant with pragmatism. Make technical and financial decisions that are responsible, accountable, justifiable, and defensible in accordance with organizational policies and procedures. Perform other position-related duties as assigned. You Need to Have: Bachelor's degree in computer engineering, computer science, or a related field. Twelve years or more of professional software engineering experience, including five years or more in a principal, staff, or architect role responsible for the architecture of a multi-team product platform Deep, hands-on expertise in C# and .NET (ASP.NET Core, .NET 6+) designing and building production services at scale Demonstrated experience designing and operating event-driven microservice architectures in production: message brokers (Azure Service Bus or equivalent), event contracts, sagas, idempotency, back-pressure, and failure handling at high message volume Demonstrated experience applying CQRS, event sourcing, and domain-driven design to real products, including defining bounded contexts and decomposing or re-drawing service boundaries Experience leading the decoupling or migration of a product platform from a monolithic system of record (ERP/CRM or legacy application) without a big-bang cutover Deep experience architecting on Azure: App Service, Functions, Service Bus, Azure SQL, Azure Monitor / Application Insights, Key Vault, networking and identity, and cost management 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 set technical direction across multiple teams and bring them along through influence, evidence, and demonstrated results rather than authority Ability to hold a long-term architectural vision while delivering pragmatic, incremental steps toward it alongside ongoing feature work Ability to translate architecture into business terms (cost, risk, speed, reliability) for executive stakeholders and into concrete guidance for engineers Excellent analytical and problem-solving skills; comfortable with ambiguity and able to make sound decisions with incomplete information Well-developed interpersonal, negotiation, writing, speaking, and listening skills Strong business acumen and strategic thinking ability We'd Love to See: Experience architecting learning management, Ed. Tech, or other B2B SaaS platforms serving end users globally Experience with Microsoft Dynamics 365 integration patterns and Dataverse Experience applying large language models or other AI capabilities within a product Experience with infrastructure as code (Bicep, Terraform), containers, and Azure Kubernetes Service Azure Solutions Architect Expert or equivalent certification Public speaking, technical writing, or open-source contributions in distributed systems or .NET 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.

Description copied from Crisis Prevention Institute's careers page. Read the full posting before you apply.

More jobs at Crisis Prevention Institute

See all openings at Crisis Prevention Institute

More jobs in Milwaukee

See all jobs in Milwaukee

Principal Software Engineer jobs at other companies