A Day in the Life of a Dashlane Server Engineer

Malaika Nicholas
Dashlane Insights
Published in
6 min readFeb 16, 2016

In our new, on-going series, we want to introduce you to the Engineering Team behind our award-winning password manager! First up is Quentin Barbe, our Server Developer working on the back-end of the Dashlane application. Although you may not see all of his work in action, Quentin’s job is to make sure that our servers stay up to manage registrations of new users, subscription to premium offers, collection of performance data to track Dashlane’s progress and much more. Learn more about Quentin and his #LifeInTheDashlane!

Quentin after playing the escape game “HintHunt”.

Q: Why did you decide to become a developer?

A: I started programming when I was in high school. Why did I start? At first, I wanted to create video games, but for some reason — I’m not sure why actually — I didn’t enjoy working on anything related to user interface. I realized I actually prefer developing in the background: the backend, data storage, and things like that. Backend development is way more interesting!

Q. What is the most challenging aspect of your job, and how are you solving those challenges every day?

A: The most challenging part is the scale. The server is used by all of our users, so it’s different from a client app. With client apps, there are set methods, but at Dashlane, our servers are used by all of our users at the same time. Maintaining an infrastructure for 10,000 users, 1 million users, or several million users is not the same, and we had to change our software, architecture and our databases to adapt to this growth. Dashlane is growing very fast, so we have to anticipate and think for the future, because we know that in some unknown amount of time, we’ll have a million more users. That’s definitely the most challenging part.

How do we solve that? We try to anticipate and do things and design our product well enough to scale, but it’s not always easy. Sometimes, it depends — we may realize that our current system doesn’t work anymore, that it has become too slow, so then we’d have to re-do things, for example, we may have to refactor parts of our legacy architecture.

Q. What does a typical day look like for you?

A: Since we work in Agile, I generally have normal tasks assigned to me every two weeks. Those are development tasks — create a new web service, stuff like that. It’s mostly development. On top of that, I need to communicate and manage requests from several teams within Dashlane. It can be client teams that need some stuff to be activated in the server; it can the User Support team that needs to examine and investigate bugs reported by users, it could be our B2B team that need support with a B2B client that have specific problems, bugs, or other needs. I also work a lot with the Analytics Team because we provide them data — sometimes they are missing data, sometimes there’s a database that’s not working. So, I handle these types of requests every day.

Q: How important is security to your job?

A: We always have security and privacy in mind as our top priority when we design and develop new features. First, it’s important to note that Dashlane’s security is very focused on the client side. It is part of our model to make sure that attacks on our servers could not jeopardize our user’s data.

With that being said, there are a few ways that the Server team emphasizes security. One way is by setting up and developing monitoring tools and systems to know exactly what happens on our servers and alert us if something unusual happens. We also have security researchers that regularly conduct security audits and searches for security bugs. If a security bug is found — which doesn’t happen very often — it’s my job to help fix it as soon as possible.

Additionally, we make it a point to stay up-to-date with the latest security tools and information. For example, we attend conferences focusing on security — I actually attended Black Hat Europe this past November — to gather more information about best practices, known security issues, and learn ways to best monitor for security bugs in the software we currently use and how to update them.

Q. What’s your favorite thing about working for Dashlane?

A: I really like my job and the DevOps part is very important to me because in many companies, there are people strictly dedicated to operations — only the server — and others focused on development. I really like doing both. It’s like you taking care of your own code and your servers. Also, what I find really great about Dashlane are all the people. We have a great atmosphere. We play videogames together often, we hang out outside of Dashlane. We’re really good friends with each other. Its like we’re one big family

Q: What have you learned since working at Dashlane?

A: I’ve learned a lot about Amazon Web Services (AWS), which is our hosting provider and cloud platform. It’s a very powerful platform with a lot of tools and API. I knew nothing about it when I started and now I think I’ve learned many advanced, interesting things with this platform.

Q. Do you work on any technical projects outside of Dashlane? If so, what are you working on?

A: I work on a few at home for my own media center with a special Linux distribution which is called OpenELEC. I like to tune it and play around with it. Same for my routers. I have some special Linux programs for my routers. Other than that, I generally like discovering new libraries. I try to be informed of new stuff — new software, new libraries — that we could use at work, which is one very, very cool things that I appreciate about Dashlane. When there are new tools or new databases or new languages or new technology in general, we are very free to use them. Basically, we are allowed to do whatever we think is best for the team, and that’s something that’s much appreciated. Basically, we’re trusted to do the right thing.

Q: Do you have any favorite tech software or language that you use frequently other than nodejs?

A: I’m a big fan of Scala and functional programming.

Q: What advice would you give to an engineer who is interested in working for Dashlane?

A: They should try to learn as much as they can about new technology that’s available out there, because — the thing about this job is that since you get to choose which database you want to store your data and for the data to be efficient, in order to choose the right database you must know what databases exist and what kind of software is available to help solve your problem. That’s one important thing: learning as many technologies as possible.

My other advice would be for preparing for interviews: be prepared and comfortable with algorithms. We test your knowledge of algorithms during the interview process because we think it shows a developer’s strong technical foundation. Many engineers find this particularly hard because they haven’t worked with algorithms since University.

Q: What would you like to accomplish here at Dashlane in the next year?

A: What I’m trying to do currently is improve the way we deploy code in our servers, making that process completely automated. We’ve improved it a lot in the past few years, but there are still a lot of things to improve. Basically, how do we make sure that what we push to production is not going to break everything? We have to review our processes, adapt our architecture to achieve that goal. Our big end goal is to make Dashlane faster and always stay ahead of the curve in terms of the latest in security.

Have questions about becoming a Server Engineer or what it’s like working for Dashlane? Reach out to us on Twitter @DashlaneLife or leave your question in the comments below!

To learn more about our Engineering Team, stay tuned to our Dashlane Insights Medium page!

--

--

Malaika Nicholas
Dashlane Insights

I'm a Content and Digital Marketing Strategist that helps brands and businesses promote themselves, engage their fans, and tell their stories.