Principal Software Developer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+30 more
Job description
Outcome: Build and operate Databricks and Azure Data Factory pipelines that ingest raw source data and move it through the medallion pattern (bronze to silver to gold) into reliable, report-ready datasets for the Data Hub platform.
Impact: Reporting consumers and customers get accurate, timely data they can trust. This is the single capability the intake answers say the person must do extremely well, and it is the core reason the Data Hub exists.
How: Design and maintain Delta Live Tables, Databricks Asset Bundles, Python transformation logic, and ADF orchestration (linked services, triggers, JSON-defined pipeline assets); troubleshoot failures end to end from ingestion through catalog modeling to the OData reporting layer. Rather than executing the design exactly as handed down, actively evaluate whether there is a better approach and propose an alternate solution when one exists.
OBJECTIVE 2: Reliability and Observability Across the Cross-Repository Pipeline (First Quarter, Then Ongoing)
Outcome: Strengthen reliability and observability across the full Data Hub chain - ingestion through ETL through OData services to reporting - so failures are detected, diagnosed, and prevented before they reach customers.
Impact: Directly addresses the biggest improvement flagged during intake, with a live customer-facing pain point as the first target: large customers currently time out when the platform delivers their data.
How: Lead with preventive measures - health checks and data-quality gates - ahead of reactive alerting. Attack the current weakest link first: the customer data-delivery path, and being able to scale to large customers. Understand the architecture of the two methods the platform uses to deliver data to customers, and improve how those long-running requests are managed so large customers stop timing out. Then extend logging, monitoring, and run and data-health visibility across repository boundaries.
OBJECTIVE 3: Ramp Across the Architecture and Contribute Across Tracks (First 90 Days)
Outcome: Get oriented across the multi-repository architecture - shared libraries, ingestion repos, ETL layers, OData services, UI components - and become a credible reviewer and contributor on either the application (ASP.NET Core / OData) or data (Databricks / ADF) track, with working familiarity in the other.
Impact: The intake “clone” answer named this as the defining trait: reasoning confidently about cross-repository dependencies and moving fluidly between application and data engineering rather than treating them as two separate jobs.
How: In the first 30 to 60 days, map the repositories and how they depend on each other (shared libraries into ingestion into ETL into OData into UI). By 90 days, take on real review and contribution on a primary track while building working familiarity in the other, and reason confidently about how a shared-library change ripples into downstream services.
OBJECTIVE 4: Set the Engineering Quality Bar Across the Codebase (First 6 Months, Then Ongoing)
Outcome: Set and hold the standard for code review, test strategy, and performance and production readiness across the multi-repository Data Hub codebase - regardless of whether the person’s primary track is application or data engineering.
Impact: The intake answers point here: a principal who raises the bar without being asked and holds others to it lifts the whole team and keeps a complex cross-repo platform maintainable. This is the strategic altitude a principal-level role demands.
How: Establish and model review standards, test strategy, and production-readiness expectations; give rigorous, constructive reviews across repositories; drive improvements to test coverage and performance; hold peers to the same bar and coach toward it.
OBJECTIVE 5: OData Reporting Services, With Identity and Security Supporting (First 6 to 12 Months)
Outcome: Design and maintain the ASP.NET Core OData reporting services that deliver Data Hub reporting data to customers, with the supporting authentication and authorization flows (Entra ID, OAuth2 / OIDC, JWT, SSO) handled as a secondary concern rather than the core of the role.
Impact: The OData layer is how transformed data actually reaches customers, and the identity flows keep that delivery safe in a regulated financial environment. Robust, fail-safe delivery here protects customer trust in the reporting platform.
How: Build and maintain OData reporting APIs, shared libraries, middleware, and DI configuration, with identity and token flows (Entra ID, OAuth2 / OIDC, SSO, Okta) as supporting work. Build robustness into the components that gather and deliver data - anticipate failure modes and handle them gracefully so reporting degrades safely instead of breaking., This role requires close collaboration with engineering leads, architects, DevOps, QA automation, product management, implementation teams, and customer-facing stakeholders. The engineer should be comfortable working in a complex enterprise software environment where changes frequently span repositories, services, pipelines, databases, identity configuration, and customer-facing reporting behavior. PowerPlan is an EOE Applicant Privacy Notice
Please note that this is a hybrid role that involves a combination of onsite work from our corporate office as well as work from home. While we strive to accommodate flexible working arrangements when sensible, there will be times when onsite work is required. This could include scheduled office days, team meetings, client meetings, or special events.
Requirements
- Hands-on Databricks and Azure Data Factory experience building medallion-style ingestion and transformation pipelines with Delta Live Tables, Asset Bundles, and Python ETL (Objective 1).
- A track record of building reliability and observability into distributed systems - preventive health checks, data-quality gates, logging, monitoring, and graceful failure handling (Objective 2).
- The ability to reason through cross-repository dependencies in a Git-based, multi-repo environment with shared libraries, and to move fluidly between application and data engineering (Objective 3).
- A high personal bar for code review, test strategy, and production readiness, and the credibility to hold peers to it (Objective 4).
- Strong C# and ASP.NET Core skills, including OData service design, middleware, and dependency injection (Objective 5).
- Working knowledge of Microsoft Azure (App Service, Azure SQL, Key Vault, managed identities) and identity and token flows (Entra ID, OAuth2 / OIDC, SSO), plus strong production SQL skills.
- A willingness to learn regulated financial and accounting concepts and model them accurately across pipelines, services, and reporting., Bachelor’s degree in Computer Science, Information Systems, Engineering, Accounting Information Systems, or equivalent professional experience. Typically 10+ years of professional software engineering experience, with senior-level ownership of services, data platforms, enterprise applications, or cloud-hosted systems. Experience in Agile/Scrum delivery environments, including backlog refinement, estimation, sprint execution, code review, testing, release planning, and production support.
About the company
PowerPlan builds cloud-based software that helps asset-intensive and regulated organizations manage the financial and accounting complexity of their operations - spanning project accounting, asset accounting, depreciation, income tax, tax provision, and lease accounting. The platform models sophisticated accounting concepts accurately and delivers reliable reporting that customers rely on for high-stakes financial decisions. The Data Hub sits at the center of that mission, carrying data from ingestion through transformation to customer-facing reporting. Engineers here work in a regulated financial environment where accuracy, reliability, and security are core to the product.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
Making Data Warehouses Fast: A Developer’s Story
Highest Paying Tech Companies for Developers
Navigating the AI Shift