Role Overview
The Software Engineer designs, builds, and supports automation solutions and system integrations that improve operational efficiency and reliability across the organization. This role develops services, scripts, and workflows using Python and .NET, integrates with internal and vendor systems via APIs and messaging, and applies strong DevOps practices to deliver robust, observable, and maintainable automation in production.
Responsibilities
- Design and develop automation solutions to eliminate manual effort, reduce risk, and improve service reliability
- Build reusable components and frameworks for automation (API, libraries, templates, utilities)
- Create scheduled jobs, event-driven automations, and workflow orchestrations
- Build and maintain integrations using REST APIs, webhooks, and messaging patterns
- Develop and maintain automation services and tooling using Python
- Develop and maintain solutions using .NET
- Build and maintain CI/CD pipelines for automation solutions
- Operate solutions in production: monitoring, alerting, logging, and incident response
- Apply secure engineering practices: least privilege, secrets management, and secure coding
Requirements
- Strong software engineering experience with Python
- Experience building integrations, including REST APIs and authentication mechanisms (OAuth2, API keys)
- Experience with unit and integration testing and test automation
- 3–6+ years of relevant engineering experience in automation, backend, or integration roles
- Strong troubleshooting skills across application, network, and data layers
- Demonstrated experience delivering end-to-end solutions
Skills
- Python
- .NET
- REST APIs
- CI/CD
- DevOps
Good to Have
- Experience with .NET (C#, VB) in production environments
- Hands-on knowledge of Dataverse, SharePoint Online, and Power Platform
- Experience with Git and source control
- Observability practices (logs, metrics, tracing)