View all jobs

Staff Engineer, Server Architecture

Remote, Canada · Computer/Software
The Server Architecture team is responsible for the scalability and reliability of the services that power our core product. We take care of services that process millions of requests an hour and databases that hold millions of people’s encrypted data. As an ever-increasing number of individuals, families, and businesses start using us every day, we are looking for people who have experience scaling big systems to help us meet the challenge of growing even larger.

This is a Remote opportunity within Canada, the UK, the Netherland and the US.

What we're looking for:

    • A profound respect for user privacy and information security.
    • Comfort in a role where you will influence the technical direction of your team and the engineering organization as a whole.
    • Experience with following through on long-term projects that affect many dependent teams.
    • A critical eye for detail while understanding that perfect is the enemy of good.
    • Consideration for code quality with an ability to deliver appropriate and effective feedback to teammates.
    • A willingness to make “someone else’s problem” into “your problem”.
    • A desire to mentor and sponsor developers on your team.

On the technical side:

    • A strong understanding of how servers and clients interact, API design, multi-service architecture, efficient database design, and experience scaling a system into millions of users and terabytes of data.
    • Deep familiarity with MySQL - not just designing schemas and storing data, but also handling very large databases and configuring MySQL to get the most out of it.
    • Experience working in Go, which is what we write our servers in.

What you can expect:

    • To design, build, deploy, and support new and existing features in key areas including our server-side architecture, database schema and usage, and service design.
    • To troubleshoot and fix bugs, and provide code and design reviews for your team.
    • To write a lot of Go with robust unit and integration tests.
    • To document the decisions you make when creating new features so the rest of your team members can follow along.
    • To keep security and privacy front of mind in all aspects of your work.
    • A collaborative group where the team succeeds as a whole. We understand that balance is important in life and deeply value our supportive and flexible work environment.

We strive to do our work asynchronously most of the time and jump on Zoom if needed. This workflow gives us great flexibility and creates an environment of freedom. That way we can get our work done in the way that best suits us.

More Openings

Senior Software Engineer
Software Engineer

Share This Job

Powered by