Senior Software Engineer
About the position: Ditto aims to expand the internet beyond traditional reach. Our groundbreaking software empowers devices to synchronize data in real-time, using cutting-edge peer-to-peer technology that runs on mobile, web, IoT, and server systems. We are looking for a Senior Software Engineer - Big Peer to design and build scalable, high-performance distributed systems. You will work on both new features and optimizing existing infrastructure to ensure reliability and performance at scale.
As a Senior Software Engineer - Big Peer, you will:
Design, build, and maintain highly available and performant distributed systems.
Develop, optimize, and maintain infrastructure that supports Ditto’s peer-to-peer technology, focusing on scaling data synchronization.
Design and maintain high-performance, consistent caches and proxies to bridge Big Peers and Small Peers in the network.
Ensure data consistency and system performance by implementing correctness and load tests.
Collaborate with the SRE team to monitor, debug, and optimize distributed systems in production environments.
Implement automation tools and processes to streamline infrastructure management and deployments.
Write technical documentation, RFCs, and contribute to system architecture designs.
Drive performance tuning efforts to ensure systems meet the demands of large-scale, distributed environments.
Participate in on-call rotations, partnering with the SRE team to manage production systems and ensure uptime.
What you’ll need:
Bachelor’s degree in Computer Science or a related field.
Minimum of 4 years of experience in software engineering, with a focus on distributed systems and low-level programming languages like Rust and/or modern C/C++.
Experience with cloud platforms (AWS, GCP, Azure), containerization technologies (Docker, Kubernetes), and large-scale distributed systems.
Strong knowledge of algorithms, data structures, and performance optimization techniques.
Excellent communication skills, especially in asynchronous collaboration.
Ability to work effectively in a globally distributed team.
Nice to haves:
Familiarity with storage engines like RocksDB or messaging systems like Kafka.
Experience with monitoring tools such as Prometheus or Grafana.
About the job
Apply for this position
Senior Software Engineer
About the position: Ditto aims to expand the internet beyond traditional reach. Our groundbreaking software empowers devices to synchronize data in real-time, using cutting-edge peer-to-peer technology that runs on mobile, web, IoT, and server systems. We are looking for a Senior Software Engineer - Big Peer to design and build scalable, high-performance distributed systems. You will work on both new features and optimizing existing infrastructure to ensure reliability and performance at scale.
As a Senior Software Engineer - Big Peer, you will:
Design, build, and maintain highly available and performant distributed systems.
Develop, optimize, and maintain infrastructure that supports Ditto’s peer-to-peer technology, focusing on scaling data synchronization.
Design and maintain high-performance, consistent caches and proxies to bridge Big Peers and Small Peers in the network.
Ensure data consistency and system performance by implementing correctness and load tests.
Collaborate with the SRE team to monitor, debug, and optimize distributed systems in production environments.
Implement automation tools and processes to streamline infrastructure management and deployments.
Write technical documentation, RFCs, and contribute to system architecture designs.
Drive performance tuning efforts to ensure systems meet the demands of large-scale, distributed environments.
Participate in on-call rotations, partnering with the SRE team to manage production systems and ensure uptime.
What you’ll need:
Bachelor’s degree in Computer Science or a related field.
Minimum of 4 years of experience in software engineering, with a focus on distributed systems and low-level programming languages like Rust and/or modern C/C++.
Experience with cloud platforms (AWS, GCP, Azure), containerization technologies (Docker, Kubernetes), and large-scale distributed systems.
Strong knowledge of algorithms, data structures, and performance optimization techniques.
Excellent communication skills, especially in asynchronous collaboration.
Ability to work effectively in a globally distributed team.
Nice to haves:
Familiarity with storage engines like RocksDB or messaging systems like Kafka.
Experience with monitoring tools such as Prometheus or Grafana.