Andreas Andreakis is a Senior Software Engineer on Evernote’s service backend team. He has been with the company since March of 2015, working originally in our Zürich office and recently relocating to our Redwood City headquarters.
How did you end up at Evernote?
I was living in Germany, but I wanted to work for a Silicon Valley company. I decided to join Evernote because the people I met in the interview process were amazing. The technical excellence I saw from them was top notch and it convinced me this was the place to be.
What is the biggest technical challenge you’re solving right now?
The backend systems that serve all Evernote clients are a monolith, which makes code changes riskier. Releasing changes requires coordination across multiple teams, which is a lot of effort. In order to solve this problem, we are currently writing new code that will run on a microservices platform. We are also planning to gradually break down the monolith into smaller services.
Our current architecture is very stable and mature, but it hasn’t changed in a while. Anirban Kundu, our CTO, has encouraged the engineers to have ownership in pushing new ideas and making things happen. We can pick technologies we want to use on projects without worrying that those decisions will be blocked by managers.
That sounds refreshing.
A lot of other companies have a big distance between the engineers and the CTO but that’s not the case here. It feels like everyone is equal and this goes all the way up to the CTO. Anirban sits in on meetings as if he is one of us; it doesn’t feel like, “oh my god, this is the CTO and we have to be careful of what we say.” He and the other managers and leaders feel like peers because they treat everyone the same.
What I value most is the human component here. This isn’t the sort of place where people want to be the alpha or they have huge egos and want to be better than everyone else. I like that.
So how do the technical teams work at Evernote?
There are two kinds of teams:
- Specific codebases like Android, iOS, backend, etc. each have teams who are responsible for maintaining their part of the code. That doesn’t mean other teams don’t contribute, but this is your permanent team.
- Depending on the project, you may form cross-functional teams with other people. For example, as part of Evernote’s cloud migration I’m working with Ops, QA, and other engineering teams who I wouldn’t work with otherwise. It makes sense to loop in people with the technical expertise on a particular subject that your regular team may be lacking. How long these cross-functional teams last varies depending on the scope of the project.
Is the work fun?
For sure. We do a lot of interesting and new things. We have small, lean engineering teams with a lot of ambition so you can’t avoid learning new things as you go, no matter what your experience level is. I’ve had the chance to do exciting things here — specifically with Cloud technologies. It’s also fun because of the people. The atmosphere in the office is naturally comfortable and friendly.
What is the most satisfying part of your job?
There are many satisfying parts of my job, but the main one is being able to work together with others on hard problems. I like when we think through a solution on the board, code it up, roll it out into production, observe how it behaves, and iterate from there.
You started out working remotely. How was that experience?
I was a remote worker for one and a half years in Zürich and it was a superb experience. I never felt detached or out of the loop because the team naturally tried hard to keep me up to date. They would organize meetings across the time zones that I could attend. I do enjoy being in the office more but the remote experience was not isolating.
People here don’t care as much if you work in the office, at your desk or from home. I get bored and demotivated when I have to sit for 8+ hours every day at the same desk. It’s a pleasure being able to walk around the office and socialize here and there, or drive home to San Francisco and work in a coffee shop. We don’t subscribe to the idea that productivity only comes from keeping your head down and coding day after day.
What are three things you think someone considering working for Evernote should know?
- Evernote has small engineering teams so your footprint is very large. You will make an impact here.
- We have a large user base, a big system, and we work at high scale so everyone has a lot of responsibility.
- We’re migrating to the Cloud and taking advantage of new technologies.
It’s an exciting time to join the company!