Software Engineering (Mid Level)
Software Engineer (Mid-Level)
Location: Remote (US)
Department: Insights (AI/ML)
Reports to: Engineering Manager
About the Role:
Irth is building a new AI-driven threat and risk management platform for pipeline asset integrity. The platform brings together three capabilities that have never previously lived in one place at Irth:
- A governed, cross-product data platform built on Databricks and Azure.
- An AI-powered ingestion layer that normalizes, repairs, and enriches customer data without services-heavy onboarding.
- A reusable analytical layer that runs industry-standard, Irth-developed, and customer-built risk models against that data.
- We are seeking a mid-level, full-stack Application Software Engineer to build both the interfaces operators use and the services behind them.
- On the front end, you will build production applications in TypeScript and React, translating UX designs into intuitive, reliable interfaces that faithfully reflect the intended design.
- On the back end, you will build APIs and services in TypeScript and Python that connect the application to the data platform and analytical layer.
- Your work will include:
- Interfaces for configuring models and threat parameters.
- Execution paths that run analytical models and return results.
- Map and dashboard views that surface risk scores and supporting evidence.
- Services and frameworks that allow customers to deploy and run their own models on the platform.
- You will join at a point where these interfaces are being defined rather than maintained, giving you meaningful opportunity to shape the product and its technical foundation.
- Our users are integrity engineers making consequential decisions based on dense, technical information. The front-end experience is therefore closer to building a sophisticated professional application than a traditional marketing surface.
- Key Responsibilities1. Front-End Development — Primary Responsibility
- Build production user interfaces in TypeScript and React, implementing UX designs faithfully across layout, interaction behavior, and visual details.
- Work from design files and prototypes; identify and raise gaps, edge cases, and ambiguities with designers before implementation rather than making assumptions silently.
- Build model configuration and threat-selection experiences, including:
- Multi-step workflows
- Parameter forms
- Input validation
- Clear error and recovery states
- Build data-dense interfaces, including:
- Sortable and filterable result tables
- DashboardsDrill-down experiences from system to segment level
- Map-based visualization of risk across pipeline geometry
- Design interfaces for long-running analytical operations, providing meaningful progress indicators, partial results, and recovery from failures.
- Build reusable, well-typed components and contribute to a consistent component library and design-system implementation.
- Ensure responsive behavior, accessibility, and cross-browser compatibility across applications.2. Back-End & API Development
- Design and build REST APIs in TypeScript and Python for model configuration, execution, and results retrieval.
- Establish clear API contracts, versioning strategies, and maintainable service boundaries.
- Build execution and orchestration services for analytical workloads, including:
- Long-running jobs
- Status tracking
- Result persistence
- Failure handling and recovery
- Implement event-driven and asynchronous patterns so analytical results can be delivered without blocking the user interface.
- Design and implement database schemas and queries across the application data store and lakehouse serving layer.
- Integrate with Databricks and Azure services, including:
- Model serving endpoints
- Azure Storage
- Azure FunctionsAPI Management
- Container-hosted services
- Write and maintain OpenAPI specifications and ensure interactive API documentation remains accurate as contracts evolve.3. Customer Model Deployment Framework
- Build the end-to-end experience that allows customers to deploy, configure, and execute their own models within product workflows, across both front-end and back-end systems.
- Implement connection and data-mapping workflows, including:
- Guided wizards
- TemplatesInput validation
- Customer-supplied data mapping
- Build results-integration capabilities so customer model outputs can be displayed and aggregated alongside industry and Irth model outputs.
- Implement isolation and governance controls to ensure customer-deployed code runs safely within appropriate tenant boundaries.4. Quality, Security & Performance
- Write automated tests across the stack, including:
- Component and interaction tests on the front end
- Unit tests on the back end
- Integration tests across services and APIsMonitor, troubleshoot, and optimize application responsiveness and API performance under realistic analytical workloads.
- Implement authentication, authorization, and tenant isolation using the platform's identity and secrets-management services.
- Identify, assess, and remediate security vulnerabilities in application code, infrastructure integrations, and dependencies.
- Participate in code reviews and contribute to CI/CD pipelines and deployment automation.5. Collaboration
- Partner closely with Design on feasibility, interaction details, edge cases, and design-system consistency.
- Work with data engineers and data scientists to define clear interfaces between application, data, and model layers.
- Partner with Product and QA on requirements, edge cases, acceptance criteria, and release readiness.
- Contribute to:
- Technical and design reviews
- Architecture and decision records
- Engineering standards
- Reusable development practices