Sr. Software Engineer - Distributed Databases

AuthZed

Remote

$113.40K - $149.40K/yr

Full-time

Posted 10 days ago


Job description

Senior Software Engineer

We're looking for a driven and innovative Senior Software Engineer, experienced in distributed databases to help shape the future of our open-source database, SpiceDB. SpiceDB is built to manage security-critical application permissions. In this role, you'll leverage your deep expertise in database engineering to push the boundaries of performance, scalability, and efficiency for both SpiceDB OSS and Enterprise. You'll focus on low-latency query optimization, refining database architecture, and ensuring the system is robust and reliable for large-scale, mission-critical applications.

What you'll own:

  • Research, design, implementation, testing and release for new database features and enhancements.
  • Troubleshooting correctness, stability and performance issues related to statement planning and execution within a complex distributed system.
  • Driving Optimization efforts by gathering statistics, refining query planning, and implementing materialized views and incremental view maintenance (IVM).
  • Indexing, partitioning, and caching strategies to improve query efficiency and overall database performance.
  • Contributions to both our open source and enterprise database product, SpiceDB.
  • Collaboration closely with product, engineering, and support teams.

What you bring:

  • Bachelor's degree in Computer Science or a related field or equivalent experience.
  • 5+ years of experience working in system-level languages like Golang, C/C++, Rust or Zig.
  • In-depth knowledge of database concepts, and how they are implemented: compilers, indices, query planning, optimization, materialized views, etc.
  • Strong Systems engineering background (e.g. distributed systems, operating systems, databases).
  • Proven ability to diagnose performance bottlenecks and propose creative solutions.
  • Excellent communication skills with a proven ability to articulate technical concepts to both technical and non-technical stakeholders.
  • Ability to collaborate effectively with remote teams across time zones.
  • Familiarity with modern software development practices and tools, such as continuous integration/continuous deployment (CI/CD), Docker, and Git.

Extra shine:

  • Master's level coursework in database systems.
  • Experience with Golang.
  • Experience with cloud infrastructure and managing databases in cloud-native environments.
  • Familiarity with modern authorization systems and access control models.

Life at AuthZed:

  • Opportunities to work with cutting-edge technology in a rapidly growing sector.
  • A supportive environment where your ideas lead to real impact.
  • Competitive salary based on experience.
  • Stock options at an early-stage startup.
  • Comprehensive benefits including healthcare (in the US) and other insurance.
  • A fully remote and flexible schedule to accommodate different time zones.
  • Twice-yearly travel for team offsites, focused on team bonding, collaboration, and having fun!


Frequently asked questions

Q: What skills or qualities help someone succeed as a Senior Software Engineer?

A: To succeed as a Senior Software Engineer, key technical skills include expertise in programming languages such as Java, Python, or C++, as well as proficiency in software development methodologies like Agile and DevOps. Additionally, strong problem-solving skills, experience with cloud platforms like AWS or Azure, and knowledge of database management systems are highly valued. Soft skills like effective communication, leadership, and collaboration, along with traits like adaptability, continuous learning, and a customer-centric mindset, are also essential for success in this role.\n\nSummary: These technical and soft skills enable Senior Software Engineers to design, develop, and deliver high-quality software solutions, lead cross-functional teams, and drive innovation, ultimately supporting career growth and effectiveness in the role.

Q: What is the career path for a Senior Software Engineer?

A: A Senior Software Engineer's typical career progression involves starting as a Junior Software Engineer, progressing to a Mid-Level Software Engineer, and then to a Senior Software Engineer, with each role requiring increased technical expertise and leadership responsibilities. Key opportunities for skill development and growth include mastering programming languages, frameworks, and technologies, as well as developing leadership, communication, and project management skills through mentorship, team lead roles, or specialized certifications. Long-term career prospects for Senior Software Engineers may include technical leadership positions, such as Technical Program Manager or Engineering Manager, or transitioning into related fields like Product Management or Data Science.



AuthZed job posting for a Sr. Software Engineer - Distributed Databases in California, MO with a salary of $113,400 to $149,400 Annually with a map of California location.