Distributed Systems Senior Software Engineer
At Intel Trust Platform Engineering we are on a mission to create an Intel Trust Platform as a service that is based on state-of-the-art distributed systems, cryptography, and confidential computing research. This service has the potential to revolutionize the way enterprises store data in the cloud by providing an exceptional degree of data integrity, resiliency, confidentiality, and verifiability – with all the advantages of a managed service.
This role offers a unique opportunity to work on cutting-edge distributed system technologies, building byzantine fault tolerant system based on SBFT protocol. Our Replicated state Machine can perform thousands of transactions per second in a secure Trusted mission critical enterprise environment.
Our team has a start-up, collaborative, and open culture. We value diversity, having a growth-mindset, and inclusiveness. We are remote friendly and geo-distributed.
Join us to lead the next generation of trusted data platform as a service in the Cloud.
- Collaborate with cross-functional teams to design and architect scalable and efficient distributed systems that meet the performance and reliability requirements.
- Develop, implement, and maintain distributed systems software components and modules.
- Analyze and optimize the performance of distributed systems, ensuring high throughput, low latency, and fault tolerance.
- Create prototypes and proof-of-concept implementations to validate distributed systems concepts and technologies.
- Implement rigorous testing procedures to ensure the reliability, security, and scalability of distributed systems.
- Conduct unit testing, integration testing, and performance testing.
- Document software designs, architecture, and technical specifications.
- BSc or MSc degree in Computer Science, Computer Engineering, or a related field.
- 5+ years of professional experience in software development with a focus on distributed systems, core database technologies (e.g., SQL/NoSQL, Database replication), and storage systems (e.g., Key-value stores, RocksDB, MongoDB, MySQL, S3, Cassandra).
- Strong programming skills in C++) Familiarity with Go and Python is a plus (.
- Hands on experience in architecting and developing scalable, reliable, low-latency, and high-throughput systems.
- Strong problem-solving skills and the ability to work in a collaborative team environment.
- Excellent communication and interpersonal skills.
- Demonstrated ability to mentor junior team members and lead projects.
- Knowledge of cloud computing platforms (e.g., AWS, Azure, GCP).
- Experience with Trusted Execution Engine (TEE) technologies. Practical experience with secure enclaves and data protection techniques is a plus.
- Experience with distributed computing frameworks and technologies (e.g., Apache Hadoop, Apache Spark, Kubernetes, Docker).
- Experience in distributed systems concepts, including data partitioning, replication, consistency models, and fault tolerance.