BASIC FUNCTIONS
This position performs complex research, design, and software development assignments within the Data Vault platform and provides direct input to project plans, technical designs, implementation approaches, and engineering methodology.
The position designs and develops software across multiple distributed systems supporting data ingestion, orchestration, file processing, metadata management, and downstream data delivery. The engineer works with technical and product stakeholders to understand complex requirements and translate them into scalable, reliable software solutions.
This position also investigates and resolves complex production issues, contributes to platform reliability and performance improvements, mentors less-senior engineers, and helps establish engineering practices across development, testing, deployment, and operational support.
QUALIFICATIONS
7+ years of professional Software Engineering experience.
BS in Engineering, Computer Science, or a related discipline, or equivalent practical experience.
Experience developing and supporting production backend, distributed, data-intensive, or cloud-native systems strongly preferred.
TECHNICAL SKILLS
Strong proficiency with Java , including object-oriented design, concurrency, collections, I/O, error handling, and application performance.
Strong understanding of software design principles and experience designing solutions that span multiple applications or distributed system components.
Experience developing and operating cloud-native applications and services .
Experience with Kubernetes/containerized workloads and understanding of application behavior in distributed runtime environments.
Strong proficiency with SQL and relational databases , including schema design, query optimization, indexing, and performance analysis.
Strong knowledge of multiple data storage technologies, including relational databases, object/data-lake storage, and distributed data systems.
Experience processing large structured or semi-structured datasets and designing software for high-throughput data processing.
Understanding of distributed-system concepts and failure modes, including asynchronous processing, retries, idempotency, partial failures, timeouts, race conditions, concurrency, and resource contention.
Experience designing or working with queue-based, asynchronous, or event-driven processing systems.
Experience identifying and resolving application performance bottlenecks involving CPU, memory, network, storage, or I/O.
Strong understanding of automated testing practices, including unit, integration, component, and end-to-end testing.
Experience with modern software build, dependency management, source control, code review, and CI/CD practices.
Experience with observability practices including structured logging, metrics, dashboards, alerting, and correlation of activity across distributed systems.
Ability to diagnose complex production issues using application logs, system telemetry, database information, and infrastructure/runtime data.
Strong knowledge of software development best practices, maintainable design, coding standards, and code-review practices.
Ability to research unfamiliar technical problems and develop effective solutions with limited direction.
Ability to work effectively with engineers, architects, product stakeholders, platform teams, and other internal or external technology resources.
Ability to write and review detailed technical designs and specifications for complex system components.
Strong oral and written communication skills.
Preferred Technical Experience
Java 17+, Maven, and JUnit.
Microsoft Azure and Azure Kubernetes Service (AKS).
Large-scale batch processing, ETL, data ingestion, or data platform engineering.
Azure Data Lake Storage, Blob Storage, or comparable object-storage technologies.
GitHub Actions or comparable CI/CD platforms.
Grafana, Azure Log Analytics, or comparable observability platforms.
Experience with workload…