We are looking for a senior fullstack engineer to join our engineering team. Our main office is in Paris and we are a very distributed team with people working remotely in Europe and the Americas. Leveraging your experience in building and maintaining complex frontend and backend applications you will drive the development of our user-facing web applications in React and their associated backends in Feathers / NestJS. We also have a Crawler running with Puppeteer.
Responsibilities
Qualifications
Bonus points
Recruitment process
For the architecture discussion, we ask you to sketch an architecture (think of APIs, clients, queues, jobs, etc.) and discuss options and trade-offs as we would on a normal day at Didomi.
We understand you already have job obligations (and maybe a personal life!), so we'll work with you to make sure it doesn't take up too much of your time while still providing a good basis for a very concrete discussion.
How do we build our products
For the frontend, we have adopted the microfrontends architecture with singlespa for building our user interface.
For the backend, we have multiple services (APIs and Lambdas) written in JavaScript and TypeScript. We leverage PostgreSQL and Snowflake as our main databases and manage our infrastructure with Terraform. The principles of infrastructure-as-code are very important to us and since a couple of years our only way to manage our resources. Our most important services have 100% code coverage.
We rely on a multitude of AWS services for building, deploying, serving, monitoring, and scaling our services. We use Gitlab for our code and CI/CD. To manage our issues, we use Jira.
Our vision as a team
We are building a product and engineering team that is strongly committed to a high level of quality in our products and code. We believe that automation is the key to consistently achieving that along with velocity of development, joy, and pride in what we deliver.
At Didomi, we are organized into feature teams and work with 2-week sprints. We do our best to avoid pointless meetings. The majority of the engineering team works remotely from all over the world; the only hard requirement is a 4-hour overlap with CET working hours.
We rely on automated tests of all sorts (unit, integration, linters, you-name-it!) and continuous integration/delivery to build flexible applications that are able to evolve without breaking. We trust that it enables engineers to focus on the quality of their code and iterate fast without fears of breaking stuff. And when we break stuff, we fix it and learn from our mistakes.
Applicants who contact employees directly regarding their application will not receive a response. Please submit your application through the designated application form.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
The information collected from your application is subject to data processing on the basis of the performance of pre-contractual measures. The processing is intended for the management of applications for positions at Didomi. The fields marked with an asterisk are mandatory. Failure to complete them will result in your application being impossible to process. The recipients of the data are Didomi's Human Resources team and other people in the company who are involved in the recruitment process, as well as their service providers. The data provided will be kept on our records for a period of two years beginning from the last contact Didomi has with the candidate. In accordance with the applicable legislation, you have the right to access, rectification, deletion, opposition. In case of disputes, you have the right to refer to the Commission Nationale de l'Informatique et des Libertés. You can exercise your rights by contacting the data controller at the following address.