We are seeking a passionate and experienced Senior Frontend Engineer to join our dynamic CMP SDKs Squad. As part of our engineering team, you'll be at the forefront of developing innovative solutions across various SDK environments, including Roku, Kepler, and Web CTV. Additionally, you will support and collaborate on our Web SDK and its related architecture. Leveraging your experience in building and maintaining complex frontend applications, you will drive the development of our user-facing web applications, primarily our Web SDK.
Our main office is in Paris, but we are a diverse and distributed team with members working remotely across Europe and the Americas.
Responsibilities:
- Collaborate with designers, product, and other developers to ship new features
- Be in charge of the overall architecture of web applications
- Ensure that we have the right tests and structure in place to make sure that we can move quickly without breaking everything
- Share your knowledge of software development principles and best practices with the team
- Keep learning new technologies and be on the look-out for new ideas that we should try out
Qualifications:
- Solid knowledge of JavaScript and Typescript
- Experience with modern JavaScript and Typescript tooling and libraries
- Experience with front-end applications built in React and best practices and patterns
- Quality-oriented mindset: testing, code reviews, code quality, etc.
- A passion for simple, maintainable, and readable code that balances pragmatism and performance
- Knowledgeable of accessibility concepts and developing WCAG-compliant features
- Obsession with performance considerations and experience with optimizing metrics related to Google Core Web Vitals
Bonus points:
- Familiarity with other languages as Rust, SceneGraph and BrightScript
- Familiarity with Preact and Signals
Recruitment process:
- HR Interview (15 min)
- A technical interview with an Engineering Manager or the CTO
- A code challenge to build a simple API or a SPA. This is used as the basis of discussion for the next step. You can find our challenge on https://github.com/didomi/challenges/tree/master/frontend. We also accept suitable open-source projects in place of the challenge.
- A 1h code review session and architecture discussion with 3-4 Didomi engineers
- A set of 1:1 30-minute calls with the CTO, engineers, and a product manager
How we build our products:
- For the frontend, we have adopted the micro-frontends architecture with single-spa for building our user interface. Each team has the freedom to pick their own framework (Angular/React) for the frontend they need to build. All SPAs we build get plugged into our shell. We also build a multitude of SDKs from Web and Mobile (iOS, Android) to CTV and Unity.
- For the backend, we have multiple services (APIs and Lambdas) written in Javascript and Typescript. We leverage PostgreSQL and DynamoDB as our main databases and manage our infrastructure with Terraform and Cloudformation. The principles of infrastructure-as-code are very important to us and we commit everything including KMS-encrypted secrets. Our most important services have 100% code coverage and we deploy our pipeline runners on GCP on a Kubernetes cluster.
- We process hundreds of millions of requests per day and are building our analytics platform on Kinesis Firehose, AWS S3, EMR jobs, and TimescaleDB to provide performant analytics for our clients. Internally we use Athena and Redash.
- We rely on a multitude of AWS/GCP 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 National de l'Informatique et des Libertés. You can exercise your rights by contacting the data controller at the following address [email protected]
Top Skills
What We Do
Didomi helps organizations implement great Privacy User Experiences that respect choices and give people control over their data. Our Global Privacy UX Solutions are designed to solve today's data privacy challenges, such as multi-regulation consent management, privacy governance, and the need to provide self-service user privacy journeys, supercharged by flexible integrations, high-grade security standards, and premium support services. Thousands of companies work with Didomi to collect billions of consent and preference data points, monitor vendor and tracker activity, reduce compliance risk, and engage users with highly personalized, privacy-first experiences that build trust and loyalty