Senior Software Engineer, Server Security
Build and secure core distributed-database features in a C++ codebase, focusing on cryptography, identity and access, networking, and system integrity. The role requires 5+ years of distributed-systems experience, proficiency in a compiled language, and strong computer architecture and software-design fundamentals.
About the job
Responsibilities
- Build and test new security features in a large, feature-rich C++ codebase.
- Apply distributed-systems fundamentals to deliver core security features.
- Own features and lead investigations into complex areas of the codebase.
- Coordinate feature rollouts and changes across engineering, cloud services, and support teams.
- Promote code quality and security best practices, and assist engineers in writing secure, well-reasoned code.
- Diagnose complex technical issues involving distributed systems, concurrency, and operating-system internals.
- Contribute to project development, code reviews, design reviews, feature leadership, and mentoring.
Requirements
- 5+ years of experience building distributed systems.
- Proficiency in a compiled language such as C++, Rust, Go, or Java.
- Ability to reason about how design choices affect distributed systems such as MongoDB.
- Understanding of modern computer architecture and internals.
- Degree in Computer Science or a similar field, or equivalent practical experience.
- Strong competencies in data structures, algorithms, and software design and architecture.
- Excellent communication skills for synthesizing complex technical implications for diverse stakeholders.
Technical Areas
- Cryptography, including Queryable Encryption and at-rest data encryption.
- Authentication, authorization, TLS, and X.509 certificate management.
- High-performance, low-latency networking protocols, PKI, hashing, and CRLs.
- System resilience, observability, and compliance assurance in large-scale distributed databases.
Compensation and Benefits
- Canada base salary: $137,000–$189,000 CAD.
- Eligible benefits may include equity, an employee stock purchase program, flexible paid time off, 20 weeks of fully paid gender-neutral parental leave, fertility and adoption assistance, an RRSP with employer match, mental health counseling, backup child and elder care, and health, dental, and vision benefits.
Skills
C++, Rust, Go, Java, Distributed Systems, Cryptography, Queryable Encryption, Tls, X.509, Pki, Hashing, Concurrency, Data Structures, Algorithms, MongoDB
Similar jobs
Backend Engineering jobsDevelops and supports open-source Python drivers and libraries for MongoDB, collaborates on APIs and new database features, investigates user issues, and contributes to design and code quality. The role requires substantial Python experience, strong ecosystem knowledge, and effective collaboration.
Senior software engineer designing and scaling secure server-side services for Okta’s device identity platform. The role requires strong Java and Spring expertise, database and API design experience, and the ability to mentor engineers while driving scalable, secure development practices.
Build and scale backend recommendation systems that determine what riders see, using rider context and signals to improve user experience. The role requires 5+ years of software engineering experience, Python and Go expertise, cloud and distributed-systems experience, and strong system-design and mentoring skills.
Build backend infrastructure, APIs, and orchestration layers connecting Lyft with emerging AI ecosystems and devices. The role requires 5+ years of software engineering experience, Python and Go expertise, cloud and distributed-systems knowledge, and experience designing scalable systems.
Senior Software Engineer responsible for evolving GitLab’s authorization model across its Ruby on Rails monolith and next-generation policy engine. The role requires production Rails experience, authorization expertise, security judgment, API knowledge, and strong written communication.