Software Engineers

Il y a 2 mois

Luxembourg, Luxembourg Silicon Luxembourg Temps plein
Passbolt

The open-source password manager for teams: secure, collaborative credential management, made in Europe.

Software Engineer (Backend Team)

Job Title: Software Engineer (Backend Team) Location: Luxembourg or remote in EU timezone

Reports to: Chief Product Officer Department: Development

Grade: 5

Description

We are seeking a Software Engineer to join our Backend Team and contribute to the growing demands of Passbolt’s products, including a self-hosted Community Edition, a self-hosted Enterprise Edition, and a managed Cloud Edition. The security-first nature of Passbolt places significant responsibility on the API, handling data integrity, access rights management, and secure integrations with other systems while providing a seamless experience that can scale to organizations of all sizes. As a Software Engineer, your role will involve analyzing, implementing, and improving features across Passbolt’s API products while maintaining best-in-class security standards, performance, and usability. From refining REST API entry points 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 requested by our community of users while maintaining an outstanding level of quality throughout the process. After gaining expertise and product knowledge, you’ll help us develop innovative approaches to complex technical problems, find ways to make our most demanding community members happy, and cultivate a reputation for excellence among a vast community of developers.

Technologies

  • Programming Languages: PHP (CakePHP), SQL
  • Complementary Programming Languages: Bash
  • Markup and Styling: HTML, CSS, Less
  • Cryptography: OpenPGP, GnuPG
  • Testing Frameworks: PHPUnit
  • Package Managers: composer
  • Version Control and Containerization: Git, Docker
  • Operating Systems: Linux, MacOS
  • Modeling Language: UML
  • Development Methodologies: Agile Scrum

Main responsibilities

Development & Testing

  • Develop new features in PHP and CakePHP for existing products used daily by over half a million users.
  • Maintain, improve and fix bugs on the existing codebase.
  • Transform functional specifications into reliable API workflows, ensuring backward compatibility and security.
  • Participate in 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

  • Support the support team in refining upcoming feature requests or bug reports from clients and the community.
  • Support product owners proposing functional approaches to new business cases.
  • Define comprehensive and iterative technical approaches to functional problems.
  • Identify opportunities for long-term structural or architectural improvements and raise proposals.
  • Contribute to our extensive online documentation, including OpenAPI specifications, SDKs, and user and admin guides.
  • Share findings and best practices internally through documentation and presentations.

Deployment and reliability

  • Assist the release lead during releases by preparing release readiness and supporting rollout activities to minimize or eliminate downtime.
  • Collaborate closely with SRE teams to maintain robust CI/CD pipelines, reducing deployment risks and streamlining releases.
  • Provide technical support during incidents by investigating issues and implementing fixes that restore system stability.
  • Participate in blameless postmortems by contributing to root cause analysis and ensuring corrective actions are implemented in the codebase.

Management & collaboration

  • Manage your own priorities, deadlines, and deliverables to meet team commitments.
  • Communicate progress, risks, and decisions early and clearly to the team.
  • Support co-workers through pairing and knowledge sharing.