User avatar
Full Time Remote
8 days ago
The Team The Memgraph Core Engine team is responsible for building the core engine, implementing graph algorithms and all streaming capabilities behind Memgraph. This includes developing in-memory and on-disk data structures and algorithms with a strong focus on graphs, networking, query optimization, and execution. Memgraph provides the unique benefit of building high-performance systems software in a rapid production environment with a small, dedicated and collaborative team. The Role Distributed Systems Software Architect on the Core Engine team, with a strong background in distributed systems. In this position, you will be empowered to leverage your technical decisions, leadership, and business acumen. Responsibilities • Talk to actual and potential users to better understand requirements of the product • Design distributed system (components and the whole system) • Review the implementation code • Ensure that specification and implementation meets user requirements and long term product vision • Actively participate in defining/discussing implementation details to better understand all possible implications • Collaborate with other professionals to determine functional and non-functional requirements for new software or applications Requirements Basic • BSc college degree or equivalent experience in Computer Science or a similar field • Deep understanding of distributed system theory and distributed algorithms • Experience of how database and streaming system tackle distributed problems • Experience developing distributed systems or databases • Experience in C++ and/or Rust • Mathematical reasoning and problem-solving skills • Being comfortable with working in a dynamic environment • Always strives to expand their knowledge • Deal well with challenging problems and ability to think abstractly • An uncontrollable urge to investigate and solve problems • Ability to work independently and remotely Bonus Points • Knowledge about some cloud services, any cloud provider, most notably services like S3, EC2, Azure Blob Storage, understanding underlying principles and tradeoffs • Experience in designing or using large scale orchestration tools like k8s, understanding how the end system would fit in the modern ecosystem of tools