Veeam Software Senior Software Engineer at Veeam Software focused on performance engineering for Data Connectors and High-Scale Ingestion. Owns throughput, latency, scalability, and resource efficiency of multi-source ingestion pipelines.
Responsibilities
We are seeking a Senior Software Engineer to join the Performance Engineering team for Data Connectors & High-Scale Ingestion. You will own the throughput, latency, scalability, and resource efficiency of multi-source ingestion pipelines that move data from SaaS, cloud, and on-premises sources into the platform at very large scale.
Design and run performance and scalability tests for connectors and ingestion pipelines (throughput, latency, concurrency, soak), with dataset generators that reproduce realistic source data shapes, object counts, payload sizes, and change rates
Debug the full stack end to end (Go runtime, OS, network, datastores, Kubernetes, cloud) to root-cause bottlenecks and regressions such as goroutine leaks, lock and channel contention, GC pressure, connection pool exhaustion, TCP/TLS behavior, API rate limiting, and slow queries
Analyze production workloads and telemetry in Prometheus and Kibana to find bottlenecks, and build proofs of concept that become product improvements
Build tooling that speeds up bottleneck analysis, such as automated pprof and trace capture and run-to-run regression comparison
Fix performance issues and implement new features in product code, including parallelism and pipelining, batching, back-pressure handling, and connection and memory reuse
Tune PostgreSQL, Redis, and Databricks usage on the ingestion path, and optimize resource usage and autoscaling of ingestion workloads on Kubernetes across AWS and Azure
Own customer-reported performance issues through root cause and resolution, in partnership with Support and Engineering
Participate in design and code reviews so new features are performant by design, and document sizing guidance and best practices
What You’ll Bring
5+ years of experience developing enterprise solutions in a high-level programming language such as Go, C++, or Java
Experience with distributed systems concepts and client-server architectures
Qualification
Expertise in developingBSExperience developing in Go
Required
5+ years of experience developing enterprise solutions in a high-level programming language such as Go, C++, or Java
Experience with distributed systems concepts and client-server architectures
Expertise in developing, testing, and debugging production-quality, scalable, multi-threaded, and concurrent systems
Strong knowledge of computer science fundamentals (data structures, algorithms, and concurrency)
BS, MS or Ph.D. in Computer Science, Computer Engineering, or equivalent industry experience
Preferred
Experience developing in Go
Experience developing for and on containers, container scheduler, and orchestration platforms
Experience with databases and/or storage systems - especially in the public cloud
Experience developing for multiple architectures such as amd64, arm64, ppc64le