Senior Software Engineer II
- Dayton, United States
- $95K – $159K /yr
- Senior Level
- 7+ years
- Posted
Skills
Required
- Software Engineering
- backend / distributed / data-intensive / cloud-native
- Java
- object-oriented design
- concurrency
- collections
- I/O
- error handling
- application performance
- software design principles
- distributed system components
- Kubernetes/containerized workloads
- SQL
Preferred
- Java 17+
- Maven
- JUnit
- Microsoft Azure
- Azure
- Kubernetes Service AKS
- batch processing / ETL / data ingestion / data platform engineering
- Data Lake Storage
- Blob Storage
- Kubernetes
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.
Responsibilities
- 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.
- Design, develop, test, deploy, and maintain software supporting large-scale data ingestion and processing workflows.
- Interface with technical personnel, product stakeholders, architects, and team members to understand and finalize complex requirements.
- Translate product, data, and operational requirements into scalable and maintainable software designs.
- Write and review detailed specifications and technical designs for complex system components and cross-system changes.
- Design solutions spanning multiple services and stages of distributed workflows, including orchestration, file movement, preprocessing, ingestion, metadata management, and downstream delivery.
- Develop software capable of efficiently processing large datasets while appropriately managing CPU, memory, network, storage, and I/O resources.
- Diagnose and resolve complex software defects and production issues involving application code, databases, storage, Kubernetes workloads, queues, and distributed processing.
- Design for reliability through appropriate use of retries, idempotency, failure recovery, back-pressure, concurrency controls, and graceful handling of partial failures.
- Build and maintain effective observability through structured logging, metrics, correlation identifiers, dashboards, and actionable alerts.
- Analyze application and infrastructure telemetry to identify performance bottlenecks, operational risks, and opportunities for optimization.
- Design and work with complex data models, metadata structures, schemas, and data-processing workflows.
- Develop and optimize interactions with relational databases, data-lake/object storage, messaging systems, and other persistence technologies.
- Implement and promote appropriate automated testing practices across unit, integration, component, and end-to-end testing.
- Successfully implement development processes, coding standards, code reviews, and engineering best practices.
- Contribute to CI/CD pipelines and automated quality controls used to build, test, package, and deploy platform services.
- Participate in production support, incident investigation, root-cause analysis, and implementation of preventative improvements.
- Identify technical debt, scalability constraints, reliability risks, and opportunities to simplify or modernize existing platform components.
- Mentor less-senior software engineers through design discussions, code reviews, troubleshooting, and development guidance.
- Research emerging technologies and engineering approaches that may improve platform capability, reliability, cost efficiency, or developer productivity.
- Collaborate effectively across engineering, architecture, product, platform, operations, and upstream/downstream data teams.
- All other duties as assigned.
Requirements
- 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.
- 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 partitioning, parallel processing, back-pressure, worker pools, and autoscaling.
- Experience with data lineage, metadata management, reconciliation, or data-quality controls.
Pay
- U.S. National Base Pay Range: $95,300 - $158,800.
- Geographic differentials may apply in some locations to better reflect local market rates.
- This job is eligible for an annual incentive bonus.
Benefits
- We know your well-being and happiness are key to a long and successful career.
- We are delighted to offer country specific benefits.
- Click here to access benefits specific to your location.
We are committed to providing a fair and accessible hiring process. If you have a disability or other need that requires accommodation or adjustment, please let us know by completing our Applicant Request Support Form or please contact 1-855-833-5120. Criminals may pose as recruiters asking for money or personal information. We never request money or banking details from job applicants. Learn more about spotting and avoiding scams here . Please read our Candidate Privacy Policy .
We are an equal opportunity employer
qualified applicants are considered for and treated during employment without regard to race, color, creed, religion, sex, national origin, citizenship status, disability status, protected veteran status, age, marital status, sexual orientation, gender identity, genetic information, or any other characteristic protected by law.
USA Job Seekers
EEO Know Your Rights .
