Senior Software Engineer (Mobile Team)
About Passbolt
Passbolt 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.
Description
We are seeking a Senior Software Engineer to join our Client team and contribute to the growing demands of Passbolt’s Android application. 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 Senior Software Engineer, your role will involve analysing, implementing, and improving features on the Android application 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 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: Kotlin, Java
- Complementary Programming Languages: Go
- Cryptography: GopenPGP
- Version Control and Containerization: Git, Docker
- Modeling Language: UML
- Development Methodologies: Agile Scrum
Main responsibilities
Development & Testing
- Develop new features for the Android application used daily by over 20 thousands users.
- Maintain, improve and fix bugs on existing codebase.
- Transform wireframes from design tools like Figma into reusable 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.
- Collaborate with Seniors on 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.
Deployment and reliability
- Collaborate with Seniors to plan and deploy new product versions with strategies designed to minimize or eliminate downtime.
- Collaborate with Seniors to maintain robust CI/CD pipelines, reducing deployment risks and streamlining releases.
- Collaborate with Seniors to provide technical expertise during incidents by rapidly identifying issues and devising solutions that help restore system stability.
Management & collaboration
- Manage individual project priorities, deadlines, and deliverables to maintain an efficient workflow and contribute to team objectives.
- Collaborate with and 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 / qualifications
Technical Skills
- 3+ years experience building Android applications.
- Proficient building Android applications with Kotlin.
- Proficient testing applications.
- Proficient in integrating RESTful APIs into mobile applications.
- Familiar with Git and branching models.
- Strong understanding of OWASP Top 10 vulnerabilities and secure coding practices.
- Proficient with another programming language: Swift or Go.
Considered a plus:
- 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.
- Inspired by cybersecurity or privacy related issues. You believe in an ethical web. You understand what open source means. You live on the internet.
Considered a plus:
- Experience collaborating with remote teams in an asynchronous workflow.
- Experience writing technical blog posts or sharing knowledge through articles or talks.