Senior Backend Engineer

 (No experience required)
€60k – €80k
Published: 3 weeks ago
Avatar for Didomi

Didomi

Consent and Preferences Management Platform

Job Location

Remote • 
France • 

Job Type

Full Time

Visa Sponsorship

Not Available

Hires remotely in

Relocation

Allowed

Skills

Javascript
Node.js
PostgreSQL
TypeScript
AWS
Feathersjs
Nest.Js

The Role

Didomi (https://www.didomi.io/) helps companies get in compliance with data privacy regulations like GDPR and CCPA. We build a consent management platform that consists of apps, web components, and APIs around collecting, sharing and managing user consents. We know privacy appears to be a boring and hard problem, but we strive to make it interesting and easy to solve for our clients.

We are looking for a senior Backend software 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.

What you will do

Leveraging your experience in building and maintaining complex business applications, you will drive the development of our critical APIs using Node, Feathers, NestJS, PostgreSQL, DynamoDB, etc.

We are looking for someone who is eager to:

  • Collaborate with 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 his/her knowledge of backend 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

What we are looking for

  • A JavaScript expert
  • Experience with complex backend applications in Node and modern JavaScript tooling and libraries (Feathers, NestJS)
  • Experience with complex microservices backend architectures with queues, event streams, etc.
  • Experience with AWS or other cloud providers
  • Quality-oriented mindset: testing, code reviews, code quality, etc.
  • Awareness of performance considerations
  • A passion for simple, maintainable and readable code that balances pragmatism and performance

How do 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.

Hiring process

Our hiring process has the following steps:

  • An intro call with an Engineering Manager or the CTO
  • A code challenge to build a simple API. 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/backend. 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

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 a 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.

More about Didomi

Perks and Benefits

Equity benefits
Remote friendly
Remote friendly
image

Funding

AMOUNT RAISED
$44.7M
FUNDED OVER
2 rounds
Rounds
B
$40,000,000
Series B Jun 2021
image

Founders

Jawad Stouli
CTO • 3 years • 7 years
New York City
image
Romain Gauthier
Founder and CEO • 3 years • 7 years
image
Go to team image

Similar Jobs

Boutwik company logo
Boutwik
Disrupting influencers monetization using Marketplace technology
Data&Data company logo
Data&Data
Real-time, omni-channel detection of digital counterfeiting and grey market sales
PayFit company logo
PayFit
PayFit automates your payroll and HR processes, allowing you to focus on more high-value tasks
Air&Jobs company logo
Air&Jobs
Mobile application to fasten recruiting in aerospace & defense sectors