The Sr Software Developer- Back end will design, build, and maintain the backend microservices that power our real-time operations platform, working across multiple backend services and data pipelines.
This role involves developing Python microservices with FastAPI, managing PostgreSQL and analytics data stores, building distributed task queues, and integrating with cloud infrastructure. You will contribute to services that handle everything from REST APIs, to real-time, to MQTT, to WITSML data exchange and message publishing.
Key Responsibilities
Design and implement RESTful API endpoints using FastAPI across multiple backend microservices
Build and maintain data models with SQLAlchem, write Alembic database migrations, and optimize PostgreSQL queries
Develop real-time data streaming features using WebSockets and Server-Sent Events (SSE) for live sensor and operational data
Work with analytics data stores for large-scale data retrieval alongside relational databases for transactional data
Implement and maintain distributed task processing pipelines using cache and message brokers
Build and maintain authentication and authorization logic using JWT validation and policy-based access control
Develop data ingestion and transformation services, including CSV parsing, XML processing, and store-and-forward message patterns
Write comprehensive tests with pytest, including async test patterns
Containerize services with Docker, maintain multi-stage build configurations, and support CI/CD pipelines
Integrate with cloud platform services for storage, logging, messaging, and secrets management
Participate in code reviews, maintain code quality with Ruff and mypy, and contribute to technical documentation
Track work, manage sprints, and collaborate with the team using project tracking tools
Translate business requirements into well-structured user stories that divide work into small, demonstrable increments aligned with sprint goals
Collaborate with product owners and domain experts to refine acceptance criteria and ensure technical implementations meet operational needs
Â
Required Qualifications
5+ years of professional backend development experience with Python 3.10+
Strong proficiency with FastAPI or a comparable async Python web framework
Hands-on experience with relational databases (PostgreSQL preferred), SQL query writing, and ORM tools
Understanding of RESTful API design, versioning, authentication patterns, and error handling
Experience with database migration tools (Alembic or similar)
Familiarity with async/await patterns in Python and async libraries like asyncpg or aiohttp
Experience writing automated tests with pytest and working knowledge of test fixtures, mocking, and coverage tools
Comfort with Docker for local development and deployment, including writing Dockerfiles and Docker Compose configurations
Working knowledge of Git, collaborative development workflows, and CI/CD concepts
Strong problem-solving skills and the ability to debug issues across distributed services
Preferred Qualifications
Experience with a major cloud platform (GCP preferred)
Familiarity with distributed task queues and Redis for caching and message brokering
Knowledge of real-time communication protocols (WebSockets, Server-Sent Events)
Experience with policy-based authorization engines
Exposure to data pipeline patterns including store-and-forward, ETL, and event-driven architectures
Familiarity with WITSML, WellView or similar industry data exchange standards
Experience with code quality tooling such as Black, Ruff, or mypyÂ
Knowledge of OpenTelemetry or similar observability frameworks for logging, tracing, and monitoring
Background in the energy, industrial, or IoT sectors
Â
Applicants must be currently authorized to work in the United States on a full-time basis. This role does not offer visa sponsorship now or in the future.
Learn more about this Employer on their Career Site
