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 Team & 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. While Python is our main language today, we aim to reduce barriers across teams and stacks, and expect engineers to be comfortable reaching beyond language or framework boundaries when needed.

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, a high level of professionalism, and active participation in our culture of frequent, high-quality feedback exchange.


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, and you are open to crossing boundaries between stacks when the work demands it
  • 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 subtleties. 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 thrive in a feedback-forward environment and actively contribute to our culture of sharing constructive input quickly and effectively. You're comfortable both giving and receiving direct feedback as a tool for continuous improvement and team excellence.
  • 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.
  • You are curious about how AI can improve both developer workflows and product features, and you are eager to adopt it competently and responsibly.

Apply soonest, as these roles don’t come along often and we move fast.

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. Attach 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 a response regarding the status of your application.
  3. Salary transparency & Value-alignment interview. If you’re shortlisted, we’ll calculate and share the salary range of your location up front. Then you’ll schedule a call for your first interview with Jacobo, Head of Backend Engineering.
  4. Paid Task Assignment. This will be your opportunity to showcase your role-specific skills, how you think and work.
  5. Role-alignment interview with Luke, one of our amazing Backend Engineers.
  6. Culture-contribution interview with Gonçalo, our CTO.
  7. Reference & Background checks.
  8. Offer to the successful hire.

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

  • We work remotely and mostly async from anywhere. If you see a specific location being advertised, feel free to apply any way, this is usually due to restrictions on a few job boards.
  • 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 provide a monthly stipend towards this cost.
  • 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.