Principal Software Engineer
Cambium Learning® Group · Remote
📍 Remotevia workdayFirst listed here 2026-11-04
Apply on company site ↗
Career Moonshot pulls this listing straight from the employer's hiring system — no recruiter middleman, no reposts. Applying takes you directly to Cambium Learning® Group.
Job Overview:
ExploreK12 Literacy is looking for a Principal Software Engineer who combines deep technical expertise, strong engineering judgment, and hands-on execution.
This role is for an engineer who can get deeply into a complex, mature application, understand how it actually works, and help determine how it should evolve. You will work directly in the code while also helping teams navigate difficult technical decisions, modernization efforts, architectural constraints, and ambiguous engineering problems.
You will be a senior technical leader within the Literacy product area, partnering closely with engineers, engineering leaders, and architects to help shape technical direction across multiple teams and products. You will help shape technical direction, surface risks and tradeoffs, and turn complex problems into practical paths forward. You will also work across product boundaries where shared capabilities or product convergence require coordination with other engineering teams.
Modernization is an important part of this role, but it is not the goal by itself. The goal is to enable the future of the product while making the system easier to understand, change, test, deploy, and operate. Sometimes that means modernizing a system. Sometimes it means integrating with it, isolating it, incrementally replacing part of it, or deliberately leaving it alone.
We are also looking for someone who is fluent in modern AI-assisted software development and interested in applying AI thoughtfully where it can improve engineering effectiveness or create meaningful product value. You do not need to be an AI specialist.
Job Responsibilities:
Solve Difficult Technical Problems
Get deeply into our applications, codebases, data flows, integrations, dependencies, and operational behavior to understand how the system actually works.
Investigate complex technical problems through multiple layers of the system until the underlying causes and constraints are understood.
Turn ambiguous or complicated engineering problems into clear problem statements, options, tradeoffs, and recommended approaches.
Bring strong technical judgment to decisions involving complexity, risk, customer value, cost, maintainability, team capacity, and future product needs.
Surface significant technical risks early and take clear, well-supported positions when you believe the organization is heading toward a poor technical outcome.
Remain a Hands-On Engineer
Contribute meaningful production code and take direct responsibility for technical work where your involvement can have high impact.
Depending on the needs of the product, own or contribute to projects, features, migrations, prototypes, architectural changes, and difficult engineering investigations.
Work at both the architecture and implementation levels, moving between system-level reasoning and code-level details as the problem requires.
Use hands-on involvement to build firsthand understanding of the system rather than operating primarily through architecture documents and reviews.
Exercise judgment about when personally implementing a solution is the highest-leverage contribution and when enabling another engineer or team will create greater value.
Help Evolve a Mature Product
Partner with architects and product engineering leaders to understand the current application landscape and help craft practical approaches for its evolution.
Identify where architectural constraints and technical debt are materially affecting engineering effectiveness or limiting future product capabilities.
Recommend modernization investments based on evidence, expected value, risk, cost, reversibility, team capacity, and product direction.
Apply approaches such as incremental replacement, modularization, API enablement, migration, strangler patterns, or parallel adoption when they are appropriate to the problem.
Help teams decompose significant technical change into achievable increments that reduce risk and produce useful progress.
Recognize when existing technology is adequate and modernization would create more cost or risk than value.
Help reduce friction in how engineers understand, change, test, deploy, and operate important parts of the product.
Contribute to a credible longer-term path for the product's technical evolution rather than treating modernization as a collection of isolated projects.
Provide Principal-Level Technical Leadership
Be a high-leverage technical partner on important architectural decisions, novel problems, technically risky initiatives, and work with significant cross-product implications.
Identify architectural constraints, technical risks, and systemic issues that span multiple teams, products, or strategic initiatives, and help drive resolution before they become significant delivery, operational, or customer-impacting problems.
Work with Product and Design during solution discovery and implementation planning to translate product needs into sound technical approaches and challenge proposed solutions when technical insight reveals a materially better path.
Partner with architects on broader architectural concerns such as shared capabilities, identity, data, integration patterns, and areas where products increasingly need to work together.
Influence technical direction across the Literacy product area by helping teams align around shared architectural assumptions, integration approaches, technical standards, and long-term evolution paths.
Help teams make stronger technical decisions through architectural guidance, decision frameworks, and shared understanding without becoming an approval gate or centralizing decisions around yourself.
Explain and defend technical recommendations clearly while respecting the accountability of engineering leaders and teams for final decisions and delivery.
When important technical disagreements cannot be resolved within a team, help make tradeoffs explicit and support escalation to the app
More Remote jobs
Remote jobs · Browse all locations