PowerSchool is a global leader in cloud-based software for K-12 education, dedicated to powering personalized education for students. They are seeking a Senior Software Engineer to modernize a legacy COBOL-based ERP into C#/.NET using an AI-first approach, focusing on building a scalable modernization workflow and ensuring the quality of software delivery.
Responsibilities:
- Experienced .NET Developer to design and build an enterprise-grade application. Responsibilities include creating foundational components like modular architecture, event-driven systems, repository patterns, and LINQ capabilities for multiple applications. The role will be responsible for developing business processes using Domain-Driven Design (DDD)
- Expert in Object-Oriented Design and SOLID principles
- Knowledge of Design Patterns: Repository, Unit of Work, Observer/Pub-Sub, Factory, Dependency Injection, Result Pattern
- Proficient in Generics, Reflection, and Expression Trees for dynamic components
- Strong experience with LINQ and dynamic query building
- Familiarity with Domain-Driven Design (DDD) and domain events
- Experience in developing repository layer for secure, auditable data access using ORM
- Experience writing comprehensive test suites for components
- Hands-on experience with AWS services such as EventBridge, Lambda, and API Gateway, along with expertise in hybrid networking solutions including PrivateLink, VPC, and Site-to-Site VPN
- Design an asynchronous integration gateway utilizing AWS tools, while establishing canonical data contracts. This includes developing adapters for data normalization and defining API conventions across various endpoints
- Implement micro-frontend (MFE) applications using React and TypeScript, with an emphasis on user self-service functionalities. Ensure comprehensive deployment and validation within a specified testing framework
- Develop event schemas and establish publish/subscribe patterns for domain events via EventBridge. Create connector Lambdas to facilitate event translation and integrate resilience patterns for robustness
- Analyze and understand legacy COBOL, Genero 4JS programs (batch jobs, online programs, copybooks, file processing, and business rules)
- Translate and modernize into clean, maintainable C#/.NET aligned to agreed architecture patterns
- Use AI-assisted tools to accelerate translation/refactoring/test generation, applying human judgment and review to ensure correctness
- Build an agentic factory – for Self-Correction Loops that can analyze test failures, look back at the source code in Cobol or Genero and autonomously refactor c# fix
- Automated test generation and execution
- Output diffing and reconciliation (legacy vs modern)
- Deterministic runs and clear mismatch reporting
- Preserve fund accounting correctness (allocations, accruals, period processing, balancing rules, and auditability)
- Reconcile legacy data access patterns with SQL Server in relational schemas and modern data access practices
- Identify and remediate platform assumptions from HP MPE, UNIX emulation, file handling, and batch scheduling
- Debug parity mismatches and performance issues; drive fixes to achieve functional equivalence
- Collaborate with SMEs, QA, and stakeholders to clarify requirements and edge cases
- Document migrated components, assumptions, and modernization decisions
Requirements:
- 5+ years of professional software development experience
- Strong hands-on experience with C# and .NET
- Hands-on experience with AWS services
- Ability to read and understand COBOL to accurately translate business logic
- Strong experience with SQL Server and relational database concepts
- Experience using AI-powered coding assistants (e.g., GitHub Copilot, Cursor) and Prompt Engineering in a professional context (translation, refactoring, test generation, automated review), with the ability to validate and correct outputs
- Experience building automation workflows/pipelines that orchestrate multi-step processes (e.g., translate → refactor → generate tests → run → reconcile → report) and integrate with CI
- Strong analytical, debugging, and problem-solving skills; comfort working with incomplete legacy documentation
- Experience building parity harnesses, Deterministic Testing or Property-Based Testing to match the source and destination results to the last decimal point. (golden master, snapshot tests, reconciliation tooling)
- Experience with modernization or large-scale migration projects
- Fund accounting / public-sector finance / financial systems domain experience
- Familiarity with Enterprise Resource Planning applications