C

Crisis Prevention Institute

Training to safely manage disruptive behaviors

Principal Software Engineer

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

About the Job

Requirements

  • A bachelor's degree in computer engineering, computer science, or a related field.
  • Twelve or more years of professional software engineering experience, including five or more years 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, including ASP.NET Core and .NET 6+, designing and building production services at scale.
  • Demonstrated experience designing and operating event-driven microservice architectures in production, including message brokers such as 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 redrawing service boundaries.
  • Experience leading the decoupling or migration of a product platform from a monolithic system of record, such as an ERP, CRM, or legacy application, without a big-bang cutover.
  • Deep experience architecting on Azure, including App Service, Functions, Service Bus, Azure SQL, Azure Monitor or 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 demonstrated by asking why before how, investigating unfamiliar code and systems, and seeking to understand learner, instructor, and customer problems behind requests.
  • Ownership of services and features touched, keeping them healthy from design through production support and proactively solving problems.
  • A bias toward shipping working software in small, frequent increments and following through until the outcome is achieved.
  • Comfort proposing and running small, time-boxed experiments, including spikes, proofs of concept, and A/B tests, and using evidence to settle technical debates.
  • Participation in blameless retrospectives and incident reviews, sharing mistakes as lessons, and turning them into guardrails, tests, or runbooks.
  • Commitment to continuous improvement by leaving codebases, processes, and documents better than they were found.
  • 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 alongside ongoing feature work.
  • Ability to translate architecture into business terms such as cost, risk, speed, and reliability for executive stakeholders and into concrete guidance for engineers.
  • Analytical and problem-solving ability, comfort with ambiguity, and sound decision-making with incomplete information.
  • Well-developed interpersonal, negotiation, writing, speaking, and listening skills.
  • Business acumen and strategic thinking ability.

Responsibilities

  • Own the target architecture for the ITL platform and the roadmap to achieve it, including 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 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, including event taxonomy and routing on Azure Service Bus, filtering and prioritization, idempotency, saga and retry strategies, and throughput and cost optimization.
  • Define standards for CQRS, domain-driven design, API design, data modeling, security, and observability across services, and make them easy to follow through templates, reference implementations, and tooling.
  • Evaluate build-versus-buy and platform decisions using cost, risk, and time-to-value analysis, and produce lightweight architecture decision records so decisions and their reasoning are durable and revisitable.
  • Partner with the Platform team on distributed tracing, service-level dashboards, and cost visibility, and use measurements to prioritize architectural investments.
  • Write production code by prototyping patterns, building reference implementations, pairing with engineers on difficult problems, and contributing directly to critical initiatives.
  • Lead technical design reviews for significant changes across squads, review code for architectural consistency, and teach through reviews.
  • Run time-boxed experiments and proofs of concept to de-risk major decisions before organizational commitment, and discontinue ideas unsupported by evidence.
  • Serve as the final technical escalation point for complex production incidents, lead blameless reviews of systemic failures, and drive architectural remediation.
  • Lead the technical strategy for AI-assisted software development across Product Engineering, including tooling selection, guardrails, evaluation of quality and productivity impact, and shared practices.
  • Identify and architect opportunities to apply AI within the ITL product where it creates measurable value for learners, instructors, and customers.
  • Mentor Lead and Senior engineers, run architecture guilds and technical talks, and develop 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, and translate architecture into business outcomes for executive stakeholders.
  • Provide direction to a group of peers, build team buy-in, and shape decisions using evidence, customer knowledge, and CPI business context, focusing on reaching the right conclusion rather than winning the argument.
  • Stay current on .NET, Azure, distributed systems, and AI trends, and apply relevant developments pragmatically.
  • 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.

Desired Qualifications

  • Experience architecting learning management, EdTech, 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 such as Bicep or 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.

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