About PassboltPassbolt is an innovative cybersecurity product company that is growing quickly. Our organization is remote-first with its headquarters located in Luxembourg (Europe). We are the team behind Passbolt, the collaborative credential management platform for modern teams used by over 40,000 organizations in 50+ countries.
You will join a growing and vibrant team committed to leverage the power of open source and a state-of-the-art security architecture to challenge the status quo in the cybersecurity industry. Passbolt is and always will be an engineering company, while scaling international sales and marketing to support global operations and customer success. We're looking for versatile self-motivated enthusiasts with a knack for commercial open source software, ethics and privacy, who can think out of the box and find impactful solutions to challenges.
See https://www.passbolt.com
DescriptionWe are seeking a Full-stack JavaScript Developer to join our team and contribute to the growing demands of Passbolt’s client applications, including a browser extension, desktop application, command-line interface, and SDKs. The end-to-end nature of Passbolt places significant responsibility on the client applications, handling data encryption, data integrity, secure communication while providing a seamless experience across multiple platforms.
As a Full-stack JavaScript Developer, your role will involve analysing, implementing, and improving features across Passbolt’s client applications while maintaining best in class security standard, performance, and usability. From refining UI/UX and business logic to ensuring robust cryptographic mechanisms and zero-trust data validation, you will contribute to every stage of development.
You and your team will be responsible for shipping the features that are requested by our community of users while maintaining an outstanding level of quality throughout the process. After you gain expertise and product knowledge, you’ll help us think about innovative approaches to complex technical problems, develop ways to make our most demanding community members happy, and cultivate a reputation of excellence throughout a vast community of developers.
Technologies- Programming Languages: JavaScript (Vanilla & React)
- Complementary Programming Languages: C#, Swift
- Markup and Styling: HTML, CSS, Less
- Cryptography: OpenPGP
- Testing Frameworks: Jest, WebdriverIO
- Component Development: Storybook
- Package Managers: npm, composer, NuGet
- Version Control and Containerization: Git, Docker
- Operating Systems: Windows, MacOs, Linux
- Modeling Language: UML
- Development Methodologies: Agile Scrum
Main responsibilitiesDevelopment & Testing - Develop new JavaScript features for existing clients used daily by over half a million users.
- Browser: Chrome, Edge, Firefox and Safari JavaScript browser extensions.
- Desktop application: Microsoft UWP application.
- Command line interface: Go.
- SDK: PHP, JavaScript, Go and more.
- Maintain, improve and fix bugs on existing codebase.
- Transform wireframes from design tools like Figma into reusable Storybook components.
- Animate components based on user stories and functional specifications to meet user expectations.
- Implement client-side business logic, including zero trust data validation, local data persistence, and cryptographic mechanisms, following technical specifications.
- Conduct thorough code reviews to identify defects prior to launch.
- Write unit tests aiming for 80% coverage to ensure functionality and prevent regressions.
- Develop end-to-end tests to ensure critical user journeys function correctly across various scenarios.
- Maintain a focus on quality and simplicity; we adhere to the principle that less is more.
- Ensure compatibility across multiple platforms and environments to maintain Passbolt's versatility.
- Optimize code for performance and scalability to handle growth and increased demand efficiently.
Analyze & documentation - Assist sales and customer success teams in refining upcoming requests into comprehensive business cases.
- Support product owners proposing functional approaches to new business cases.
- Define comprehensive and iterative technical approaches to functional problems.
- Recommend long-term structural or architectural improvements by submitting business cases that will be used as base of conversation with co-workers.
- Contribute to our extensive online documentation, including OpenAPI specifications, SDKs, and user and admin guides.
- Engage with community members to refine feature requests or bug reports.
- Share back findings, lessons learned and best practices with the team and community by writing blog posts on the company blog and participating in online and offline events.
Management & collaboration - Manage individual project priorities, deadlines, and deliverables to maintain an efficient workflow and contribute to team objectives.
- Collaborate with / coach your co-workers and help them achieve their goals.
Data Privacy & Security- Ensure each request for change includes a risk analysis that identifies and proposes mitigations for newly introduced security issues or risks.
- Follow secure coding/design practices to ensure all components adhere to the highest security standards.
- Monitor project dependencies for vulnerabilities and assist the security team in analyzing their impact.
- Patch project dependencies' vulnerabilities and ensure these updates do not introduce regressions.
- Ensure that data handled by the product development team complies with GDPR and other data protection regulations.
- Collaborate with the security and senior management teams to maintain up-to-date company policies and risk registers.
- Assist the security team in enforcing least privilege access and ensure proper segregation of roles and responsibilities.
- Participate in security exercises and help refine processes and crisis management procedures.
Skills required / qualificationsTechnical Skills- 3+ years experience building JavaScript applications.
- Proficient building front-end applications with React or equivalent framework.
- Proficient testing applications with Jest or any other JavaScript testing frameworks.
- Proficient in integrating RESTful APIs into front-end applications.
- Knowledgeable in HTML / CSS.
- Strong understanding of OWASP Top 10 vulnerabilities and secure coding practices.
- Proficient with another programming language: PHP, C#, Go, Swift, Python or Rust.
Considered a plus:
- Experience building browser extensions, UWP or mobile applications.
- Experience with end to end testing framework: WebdriverIO, Cypress, Selenium.
- Experience working with design systems and frameworks (example: StoryBook).
- Familiarity with UML documentation and a willingness to use it.
- Experience maintaining a long lived-project.
- Experience contributing to an open source project.
Soft Skills- Fluent in English, both verbal and written and preferably one other language.
- Strong analytical skills and a simple solution-oriented mindset.
- Ability to balance technical excellence with business priorities and strategic goals.
- Comfortable working in full autonomy while collaborating effectively within a team.
- Receptive to feedback and able to collaborate effectively in a team setting.
Considered a plus:
- Experience collaborating with remote teams in an asynchronous workflow.
- Experience writing technical blog posts or sharing knowledge through articles or talks.
Benefits of working at PassboltWe put a lot of effort into creating a workplace where everyone has room to learn, have fun, evolve and become the best version of themselves.
Here are some benefits, provided by default:
- Work from anywhere, or from our headquarter located in the Grand Duchy of Luxembourg.
- Work/life balance: to keep the flow going, it’s important to take regular breaks and disconnect. We provide 26 days of paid holidays / year.
- Equity for everyone. We are all in the same boat, we win together.
- When you grow, we grow: we invest in your professional as well as personal growth, through paid trainings of all types.
- In tune with yourself: Passbolt is built on strong values which we stand for: transparency, openness, privacy, people-first.