Junior Developer
1Password
About the Role
1Password is seeking a Software Developer to join its new Data Security team. The team's mission is to safeguard 1Password’s foundation by designing, implementing, and maintaining cryptographic systems and practices that ensure the confidentiality, integrity, and availability of information across products.
Key Responsibilities
- Be partially responsible for the underlying cryptography across 1Password products.
- Build cryptographic libraries and implement the latest algorithms directly into client applications with security, performance, and usability in mind.
- Develop proof-of-concepts and implement new industry specifications into code.
- Conduct code and design reviews to ensure good cryptographic hygiene and standards across the codebase.
- Work with a small team of security developers who are specialists in Rust and Golang Security.
- Develop cryptographic or other security libraries to share common security-critical code across applications.
- Assist in security design efforts or scoping initiatives for new features, particularly with heavy cryptographic components.
- Assess and take appropriate steps to resolve new security vulnerabilities across applications.
- Implement new security features for the next generation of 1Password.
- Demonstrate leadership in security development and act as a trusted point of contact for management and other developers.
- Work with a variety of teams across the hybrid core architecture, including Design, Product, and Product Engineering.
Requirements & Tech Stack
- Rust and/or Golang experience, or a demonstrated ability to pick up new languages quickly.
- Experience with implementing industry standards into new libraries or codebases.
Qualifications
- 0-2+ years of experience in software development.
- Passion for and strong experience with security development best practices, coding standards, and design patterns.
- Basic understanding of modern cryptographic algorithms, trade-offs, and implementation considerations gained from real-world experience.
- Ability to work well in a team environment with positive communications amongst a variety of technical and non-technical stakeholders.
- Proven experience in implementing testing methodologies and debugging techniques to ensure high-quality code.
- Adaptability and resilience, thriving in fast-paced environments with shifting priorities.
This is a remote opportunity within Canada and the US.