Software Engineer I - Distributed Systems - Elasticsearch
Role details
Job location
Tech stack
Job description
We are looking for a Distributed Systems Engineer with experience in building high-performing, scalable, enterprise-grade applications. You will be responsible for building API interfaces (for customers, UI team etc). You will be responsible for building a high performance queuing/storage engine. You will collaborate with UI, connectivity and DevOps teams to come up with elegant solutions to complex problems. You will work in a polyglot environment where you can learn new languages and technologies whilst working with an enthusiastic team. Responsibilities Responsibilities include designing and developing high-volume, low-latency applications for mission-critical systems and delivering high-availability and performance Contribute in all phases of the development lifecycle Write well designed, testable, efficient code Evaluate and propose improvements to existing system
Requirements
5+ years of industry experience Experience building and shipping large-scale, reliable, highly distributed systems Systems-level programming experience, especially in C, Go, Rust Expertise in L2, L3, and/or L4 networking protocols Good understanding of Linux networking and security Experience building on top of Linux kernel networking primitives - netfilter, nftables, eBPF, tc, network namespaces, etc Experience with large-scale distributed data pipelines, from data structuring to efficient querying to data analysis Experience of working with public cloud infrastructure providers (AWS/Azure/Google Cloud) Understanding of Kubernetes concepts Excellent debugging and optimization skills Understanding at the protocol level, including the differences between what the specs say, and what actually happens on the Internet Contributions to open source projects is a plus Excited by the idea of optimizing complex solutions to general problems Attention to detail and ability to solve complex customer problems Own solutions end-to-end and driving the design, development, and deployment process Able to work across teams and level common, sustainable solutions