C++ Distributed Systems Engineer id-6427

Job Description

Your Mission, Should You Choose to Accept:

Join our passionate team of top-notch engineers to solve real-world problems, and help people spend less time managing expenses and more time pursuing their real goals. As we revolutionize the way people manage their expenses, being part of the Expensify team means building the easiest, fastest, and most efficient platform to automate everything expense-related.

Our employees work from all over the world, but if you’re looking for a change of scene we offer visa sponsorship and relocation assistance to join us at one of our rad locations:

Other Jobs You May Be Interested In

Remote Data Entry, No Experience, $40/hr, Part-Time
Virtual Assistant, $45/hr, Remote, No Experience, Night Job
Entry-Level Remote Data Entry, $50/hr, Evening Job
Customer Support, No Degree, $40/hr, Remote, Weekend Job
Remote Phone Job, $42/hr, Part-Time, College Student Friendly
Virtual Assistant, $40/hr, Remote, No Degree, Night Job
Part-Time Data Entry, $45/hr, Remote, College Student Friendly
Remote Moderator, No Degree, $50/hr, Evening, Weekend Job
Remote Customer Support, $42/hr, Night Job, No Experience
Live Chat Support, $40/hr, Remote, Entry Level, Part-Time
Virtual Assistant, Remote, $42/hr, Weekend, No Experience
Remote Data Entry, $45/hr, No Degree, Night Shift
Part-Time Customer Support, $40/hr, Remote, College Student
Remote Live Chat, $50/hr, Part-Time, Evening/Night Job
Entry Level Phone Job, $42/hr, Remote, No Degree Required
Weekend Data Entry, $45/hr, Remote, No Experience
Remote Virtual Assistant, $40/hr, Evening, Part-Time Job
Remote Moderator, $42/hr, Part-Time, Weekend, No Degree
Data Entry, $45/hr, Remote, Night Shift, College Student Job
Phone Support, Remote, $50/hr, No Experience, Part-Time
Virtual Assistant, No Experience, $42/hr, Remote, Weekend
Remote Customer Support, $45/hr, Part-Time, College Student
Data Entry, Remote, $40/hr, Night Shift, No Degree
Evening Virtual Assistant, Remote, $45/hr, No Experience
Weekend Customer Support, $42/hr, Remote, College Student
Remote Data Entry, $50/hr, No Experience, Evening/Night Job
Remote Live Chat, $40/hr, Part-Time, No Degree Required
Virtual Assistant, $42/hr, Remote, Weekend, Entry Level
Remote Phone Support, $45/hr, Evening, No Experience Required
Data Entry, No Experience, $50/hr, Remote, College Student
Remote Moderator, $40/hr, Weekend, No Degree, Part-Time
Live Chat Support, Remote, $42/hr, Night Shift, College Student
Phone Job, $50/hr, Remote, No Degree, Part-Time, Weekend
Data Entry, $45/hr, Remote, Evening, No Experience Required
Virtual Assistant, No Experience, $42/hr, Remote, Part-Time
Remote Customer Support, $50/hr, Night Shift, No Degree
Remote Data Entry, $40/hr, College Student Friendly, Part-Time
Live Chat Support, $42/hr, Weekend, Remote, No Degree
Virtual Assistant, Remote, $45/hr, Evening, No Experience
Remote Phone Job, $50/hr, College Student, Night Shift
Remote Moderator, $42/hr, Weekend, No Experience Required
Data Entry, No Degree, $45/hr, Part-Time, Remote Job
Customer Support, $50/hr, Remote, Evening/Night Job, No Degree
Virtual Assistant, $42/hr, Remote, Weekend, No Degree
Remote Live Chat, $45/hr, College Student, No Experience
Remote Data Entry, $40/hr, Part-Time, No Degree Required
Phone Support, $50/hr, Weekend, Remote, No Experience
Virtual Assistant, $42/hr, Evening, Remote, No Degree
Remote Customer Support, $45/hr, No Experience, Part-Time
Data Entry, $50/hr, Night Job, No Degree, Remote
Remote Moderator, $40/hr, College Student Friendly, Part-Time
Virtual Assistant, Remote, $42/hr, Weekend, No Experience
Remote Phone Job, $45/hr, Part-Time, No Degree Required
Customer Support, $50/hr, Night Job, Remote, No Experience
Data Entry, Remote, $42/hr, Evening Job, No Degree
Live Chat Support, $45/hr, Weekend, Remote, College Student
Virtual Assistant, Remote, $50/hr, Part-Time, Night Shift
Data Entry, $40/hr, No Experience, Remote, Weekend Job
Remote Phone Job, $45/hr, No Degree, College Student Friendly
Customer Support, $42/hr, Remote, Evening, No Experience
Virtual Assistant, $50/hr, Weekend, No Degree, Remote
Remote Data Entry, $40/hr, Part-Time, College Student Job
Phone Support, Remote, $42/hr, Evening/Night Shift
Virtual Assistant, No Degree, $45/hr, Remote, Part-Time
Live Chat Support, $50/hr, Remote, No Experience Required
Remote Moderator, $42/hr, College Student, Weekend Job
Data Entry, $45/hr, Remote, Night Job, No Degree
Virtual Assistant, $50/hr, Remote, Part-Time, Evening Job
Remote Customer Support, $42/hr, Weekend, No Experience
Phone Job, $45/hr, Remote, Night Shift, No Degree
Remote Live Chat, $50/hr, College Student, No Experience
Data Entry, $40/hr, Part-Time, Remote, Weekend Job
Virtual Assistant, $42/hr, Remote, No Experience, Evening
Remote Phone Support, $45/hr, Night Job, College Student
Remote Moderator, $50/hr, No Degree, Weekend, Part-Time
Virtual Assistant, $40/hr, Remote, Night Shift, No Experience
Customer Support, $42/hr, Remote, Part-Time, No Degree
Remote Data Entry, $45/hr, Weekend Job, College Student
Phone Support, Remote, $50/hr, No Experience, Night Shift
Virtual Assistant, $42/hr, Evening, Remote, College Student
Live Chat Support, $45/hr, Part-Time, Remote, No Degree
Data Entry, $50/hr, Remote, Evening Job, College Student
Virtual Assistant, $40/hr, Weekend, Remote, No Experience
Remote Phone Job, $42/hr, Night Shift, College Student Friendly
Remote Customer Support, $45/hr, No Degree, Evening Job
Virtual Assistant, $50/hr, Part-Time, Remote, Weekend Job
Data Entry, $40/hr, Evening Job, No Experience, Remote
Remote Live Chat, $42/hr, Weekend, No Degree, Part-Time
Virtual Assistant, $45/hr, No Experience, Remote, Night Job
Phone Job, $50/hr, Remote, Part-Time, College Student
Remote Data Entry, $42/hr, Evening/Night Job, No Experience
Remote Moderator, $45/hr, No Degree, Weekend Job, Part-Time
Live Chat Support, $50/hr, Remote, Night Shift, No Degree
Virtual Assistant, $40/hr, Weekend, College Student, Remote
Remote Phone Job, $42/hr, Part-Time, No Experience Required
Remote Data Entry, $45/hr, No Degree, Weekend, Night Job
Virtual Assistant, $50/hr, Evening, Remote, College Student
Customer Support, $42/hr, Weekend Job, Remote, No Degree
Phone Support, $45/hr, Remote, No Experience, Evening Job
Data Entry, $50/hr, Night Shift, No Degree, Remote Job
Virtual Assistant, $50/hr, Part-Time, Remote, Weekend Job
Data Entry, $40/hr, Evening Job, No Experience, Remote
Remote Live Chat, $42/hr, Weekend, No Degree, Part-Time
Virtual Assistant, $45/hr, No Experience, Remote, Night Job
Phone Job, $50/hr, Remote, Part-Time, College Student
Remote Data Entry, $42/hr, Evening/Night Job, No Experience
Remote Moderator, $45/hr, No Degree, Weekend Job, Part-Time
Live Chat Support, $50/hr, Remote, Night Shift, No Degree
Virtual Assistant, $40/hr, Weekend, College Student, Remote
Remote Phone Job, $42/hr, Part-Time, No Experience Required
Remote Data Entry, $45/hr, No Degree, Weekend, Night Job
Virtual Assistant, $50/hr, Evening, Remote, College Student
Customer Support, $42/hr, Weekend Job, Remote, No Degree
Phone Support, $45/hr, Remote, No Experience, Evening Job
Data Entry, $50/hr, Night Shift, No Degree, Remote Job
Remote Data Entry, No Experience, $40/hr, Part-Time
Virtual Assistant, $45/hr, Remote, No Experience, Night Job
Entry-Level Remote Data Entry, $50/hr, Evening Job
Customer Support, No Degree, $40/hr, Remote, Weekend Job
Remote Phone Job, $42/hr, Part-Time, College Student Friendly
Virtual Assistant, $40/hr, Remote, No Degree, Night Job
Part-Time Data Entry, $45/hr, Remote, College Student Friendly
Remote Moderator, No Degree, $50/hr, Evening, Weekend Job
Remote Customer Support, $42/hr, Night Job, No Experience
Live Chat Support, $40/hr, Remote, Entry Level, Part-Time
Virtual Assistant, Remote, $42/hr, Weekend, No Experience
Remote Data Entry, No Experience, $40/hr, Part-Time
Virtual Assistant, $45/hr, Remote, No Experience, Night Job
Entry-Level Remote Data Entry, $50/hr, Evening Job
Customer Support, No Degree, $40/hr, Remote, Weekend Job
  • San Francisco
  • Portland
  • Michigan
  • New York
  • London

Even though we work hard at Expensify, we make sure our employees are happy. Our most talked about perk is our Offshore where we spend a month abroad working from a remote location as a team.

About You

Whether you’re building features like automating customer processes, accounting integrations, real time processing of credit card transactions, or pulling information from receipts, you’re self-driven and collaborative. You’re an autonomous individual who is passionate about writing beautiful and concise code. You love to work in all areas of the code base but come with experience and passion for working with APIs and databases. You’re willing to work with other engineers, designers, and customer-facing teams to turn our dreams into reality. 


As a C++ Distributed Systems Engineer, you will:

  • Maintain and develop Expensify’s Bedrock Infrastructure (bedrockdb)
  • Work directly with the SQLite team optimizing our customized version of SQLite that powers Bedrock and Expensify at large. This is the largest production SQLite database that we know of
  • Work with multiple teams, including our Site Reliability Engineers and Engineering team to develop features and ensure platform reliability.
  • Contribute to full-stack development tasks as needed, which may include writing PHP or JavaScript once your primary C++ projects are completed.

We’re looking for someone who:

  • Is excited to work on backend systems, with a strong focus on C++ and distributed systems.
  • Is comfortable working on full-stack problems in PHP and front-end systems written in JavaScript, and React Native.
  • Has a deep understanding of algorithms, data structures, and protocols used in distributed systems, including replication, fault tolerance, and consensus mechanisms.
  • Communicates clearly and effectively, both within teams and in code.
  • Is an analytical problem solver, capable of working with distributed systems that scale across multiple servers.
  • Can think about the long-term impact of their work and how it contributes to the organization on a larger scale.
  • Is eager to develop and grow their technical skills in distributed systems engineering and leadership within

We are looking for full stack engineers who have a strong understanding of algorithms and design patterns that can apply those concepts to a production-level codebase. For this role at least three years of backend experience is required. PHP, C++ or Java experience is highly preferred. Some level of Javascript skills are also required given the full-stack nature of this role. React, React Native, iOS or Android skills are a plus. This position is the foundation for launching a career with Expensify, with the expectation that you’ll carry these skills into new domains.

Compensation & Benefits

  • Full-time, salaried position
  • 401k with employer match
  • 100% Medical/Dental/Mental Health support/Vision contributions
  • $20k annual family planning benefit through Carrot
  • Up to three months of fully paid parental leave, with up to six months for birthing parents
  • Three months of fully paid medical leave 
  • Commuter benefits
  • Flexible vacation policy
  • Relocation available

Next Steps 

Applying is easy, but it takes time. See, while we know you're awesome, it's actually really hard and time consuming to find you in the midst of literally hundreds of other applications we get from everyone else. So this is where we're going to ask our first favor: can you make it really easy and obvious how great you are, so we don't accidentally overlook you? There are probably many ways to do that, but the easiest way to help us out is by answering the following questions: 

  1. What's the URL of your website? If you don't have one, why not? 
  2. What's your coding history? When did you start, and what have you done between then and now? 
  3. What do you want to do with the rest of your life, and how is Expensify a step toward your long-term goals? (We’re serious, we want to know! Share what you’re comfortable sharing, but we are a group of ambitious individuals building a community of people who want to achieve success in every aspect of our lives, and we encourage employees to figure out how they can use Expensify to realize their personal goals with the support of the company around them.) 
Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...