Backend Engineer

Full-timeRemote

View all open roles
Apply now

Description

At Doist, our mission is to empower people with simple yet powerful tools.

We're a multidisciplinary, fully-remote, team that’s passionate about creating products, like Todoist and Twist, that improve people’s lives. We thrive on innovating new solutions to old productivity challenges and we seek to rethink how productivity tools are made.

Our Core Values

They are few, but they are mighty. From creating processes to decision-making and recruiting, we build our four core values into nearly every single thing we do.

  • Ambition. You aspire to put a dent in the universe. You set high standards for yourself and those around you. You solve issues that have a high impact on our customers and our company.
  • Mastery. You care deeply about the quality of your work. You’re continuously learning and pushing yourself to the limits of your ability. As a champion of your craft, you are also a champion of your well-being – you work intensely, then disconnect completely.
  • Independence. Others can trust that you’ll deliver on time. You keep your word and trust your teammates to do the same. You are proactive, take ownership, and remain accountable with little or no direction.
  • Communication. Your communication is clear, concise, and engaging. You keep others in the loop and never go radio silent. You speak respectfully and foster warm relationships through your interactions. You’re culturally and socially aware and can appropriately navigate social situations.

We invite you to visit our blog to learn more about us, our values, and how we work.

Your Role

As a Backend Engineer, you will propose, specify, implement, maintain and decommission code that powers Todoist for millions of active users through our diverse portfolio of apps and integrations. Contributing to an architectural revamp, ensuring flawless cross-device sync, and seamless sharing are some current opportunities where you can have a large impact.

Our codebase is far from perfect. An in-house Python framework that resembles Flask and circular dependencies are challenges representative of our codebase. We are working hard to modernize our stack and architecture, and build a backend that is rock-solid running on AWS and fun to work with.

We’re a great fit if you are independent and driven, thrive in understanding and evolving legacy systems, maintaining a high delivery cadence and quality, systematically repaying technical debt, mentoring colleagues, and working with a highly resilient team. We are looking for an engineer who will raise the bar for the team and help us continue evolving our momentum, solution architecture, and overall quality.

Being a Backend Engineer is not just about churning out code. You get to lead projects right from their inception, work with our talented leadership (filled with engineers-at-heart who understand the value of refactoring), and collaborate with adjacent teams to solve pain points our users face. Being a reliable partner is critical for our long-term success, so we value strong communication skills, consistent delivery, and a high level of professionalism.


Requirements

About You

It's important to us that the person we hire will thrive in this role. Here are some core things we believe will set you up for success:

  • You have substantive professional experience with developing web services and understand the moving parts (DNS, HTTP, DBs, etc.). You have designed, built, and maintained projects and features that have been deployed to production.
  • You are familiar with Python, know both its strengths (and how to capitalize on them) and weak points (and how to work around them), and you’re able to argue about them. You follow the evolution of the Python ecosystem. You’ve also used at least one other programming language professionally.
  • You are familiar with OWASP Top 10 web app security risks and know how to avoid and mitigate them. You can assess the security implications of a pull request or an architectural decision.
  • You are familiar with MySQL or PostgreSQL and have experience with their core concepts and subtelties. You care about and understand the performance impact of SQL queries you (or your code) writes, and have experience assessing and optimizing their performance.
  • You feel at home in the Unix shell. You are familiar with grep, and sed or awk. You often write bash or Python scripts to automate your work.
  • You’ve written tests long enough to have a taste for what a good test looks like, are aware of current testing practices, and can argue about each approach’s merits.
  • You understand the value and cost of abstraction, are versed in current architectural practices, and judiciously apply programming principles like SOLID, DRY, YAGNI, etc.
  • You yearn to be more than a mere executor, look for ways to inform the overall direction of the products you work on, and actively participate in sketching an implementation plan that focuses on value delivery with a well-derisked approach.

Our Process

Not sure the role is a good fit for you? That's okay! We'd still be happy to consider you. Here's what the process looks like:

  1. Submit your complete application by March 3rd at 2:00PM UTC. This includes a resume (or manually entered experience) and thoughtful responses to all the application questions. No cover letter needed!
  2. Application screening. We read every application to understand your motivation, skills, and experience. Once your application has been reviewed, you'll receive an update about the status of your application.
  3. Value alignment interview with Gonçalo Silva (Chief Technology Officer).
  4. Compensation details. We'll calculate and share your salary range and total rewards.
  5. Take-home test project. This will be your opportunity to showcase your role-specific skills.
  6. Role-specific interview with Felipe Rodrigues (Backend Engineer).
  7. Culture contribution interview with Luke Merrett (Backend Engineer).

We estimate that we'll reach a hiring decision by April 4th.


Benefits

Our perks and benefits are designed to provide the freedom and support you need to grow personally and professionally. Here’s what that looks like:

The basics

  • Work from anywhere. Doisters can work from anywhere in the world. We never place restrictions on locations.
  • Design your own schedule. Work during the time of day that’s best for you. Doisters are encouraged to work 8-hour days and no more than 40 hours/week.
  • Competitive pay. Our formula-based salaries are calculated based on industry-benchmarked skills and geographical location – no stressful negotiation required

Expand your professional skills

  • Continue your education. You’ll have a recurring budget to spend on attending conferences, taking courses, and purchasing books.
  • Collaborate in person at retreats. Our team- and company-wide retreats are unforgettable. The connections that we make in person inspire us throughout the year.

Craft your ideal work environment

  • Cozy up at a coworking space. Find a coworking space that’s right for you and Doist will cover the expense.
  • Subscribe to apps and services. You’ll have a monthly budget to spend on services that help you do your job: home internet, work apps, music subscription, etc.
  • Purchase the hardware you need. Every Doister has access to a recurring budget to spend on work-related equipment.

Focus on your well-being

  • Recharge with generous time off. Doisters get 8 weeks (40 days) of vacation per year to use as they wish on vacations and national holidays.
  • Spend time with your new baby. New parents receive 5 weeks of paid parental leave in addition to 13 weeks of paid pregnancy-related medical leave.
  • Invest in your health and wellness. Take care of yourself with a monthly budget for things like a gym membership, healthy snacks, massages, health insurance, etc.

---

We occasionally receive reports about hiring scams related to our roles. Please be aware that our team only communicates from emails with an "@doist.com" domain and that we will not ask you to apply in any way other than via our application at doist.com/careers. If you are in doubt, please reach out at careers@doist.com to confirm.

All information collected through this application is stored in Workable, Doist’s Applicant Tracking System, where it will be used for recruitment purposes only. For more information on how we handle candidate data at Doist, we invite you to review our recruitment privacy notice. For questions, please contact us at careers@doist.com.