back to all jobs

Senior Backend Engineer (Python) @ Doist

Job posted 3 weeks, 3 days ago

Location: Remote

Description

At Doist, our mission is to inspire the workplace of the future by creating tools that promote a more fulfilling way to work and live.

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.

When you become a Doister, you’re not only joining a global, remote-first company, but a team of 70+ people who value:

  • Independence. Others can trust that you’ll deliver on time and your teammates don’t need to worry about you keeping your word.
  • Mastery. You love what you do and care deeply about the quality of your work, down to the smallest details. You’re continuously learning and pushing yourself to the limits of your ability. You're never satisfied with the status quo.
  • Communication. Your communication is clear, concise, and engaging whether you're explaining a complex idea or providing feedback to a teammate.
  • Ambition & Balance. You aspire to put a dent in the universe. To do this, you set high standards for yourself and those around you. The time you spend on work isn’t measured by quantity, but by quality.
  • Impact. You're able to take a bird's eye view to pinpoint and then solve issues that have a high impact on our customers, our team, and our company. You're committed to the health and success of both your teammates and Doist as a company.

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

Your Role

What you can expect to do on a regular basis:

  • Create features. From the proposal, through specification and implementation, to maintenance. Often these features are implemented as documented API endpoints. You're encouraged and expected to propose things that you think can be helpful for the product.
  • Provide feedback. When planning a feature, it's the job of senior developers of each team to provide feedback on expected challenges and unknowns as early as possible.
  • Improve the code. With time, our code and data structures accumulated technical debt which we systematically pay off. Often we do it while we make features as well as dedicating exclusive time to housekeeping.
  • Be a present team member. We do code reviews, refactor code, learn new things and share our knowledge. Occasionally you will be appointed as the mentor of newcomers.
  • Lead projects. Project leaders bear the ultimate responsibility for the success of their projects. In practical terms, they shepherd the overall planning and work and orchestrate its execution until the end of the cycle. They balance this activity with hands-on work.
  • Be a “Hero”. A “Hero” is a developer whose main priority is working closely with support at triaging and fixing bug reports. They also help speed up reviewing processes and support other teams in their projects.

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 all the moving parts (DNS, HTTP, DBs, etc). You have designed, built, and maintained several projects or 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 another programming language.
  • 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 architecture decision.
  • You are familiar with MySQL or PostgreSQL and have experience with its quirks, weak spots and workarounds. You care and understand the performance impact of SQL queries your code makes, 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 unit-tests long enough to have a taste for what a good test looks like, are aware of current testing practices, and can argue about an approach’s merits and degenerate cases.
  • 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.

Requirements

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 will look like:

  1. Submit your complete application. 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 a response regarding the status of your application. Every application will receive a response.
  3. Value-alignment interview with Jan K. (Head of Integrations).
  4. We'll ask you to complete a take-home test task.
  5. Test project & technical interview with Thomas J. (Backend Engineer).
  6. Culture contribution and values interview with Paulo K. (Head of Backend).

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 in the world. We never place restrictions on locations.
  • Design your own schedule. Work no more than 40 hours/week.
  • Competitive pay. Our formula-based salary calculation provides a highly competitive rate based on your skills and location.

Expand your professional skills

  • Pursue personal projects. All Doisters get one month per year to spend on a work-related project they’re passionate about
  • Attend conferences. You’ll have a recurring budget to spend on attending conferences that grow your professional knowledge, skills, and network.
  • Company retreats. Our annual company-wide retreats are unforgettable.

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.
  • Apps and services budget. You’ll have a monthly budget to spend on services that help you do your job.
  • Hardware budget. You’ll have access to a recurring budget to spend on work-related equipment.

Focus on your well-being

  • Generous time off. Doisters get 8 weeks (40 days) of PTO/year to use as they wish on vacations and national holidays.
  • Parental leave. 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. You’ll have a monthly budget to spend on things like gym membership, healthy snacks, massages, health insurance, etc.

---

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 [email protected]._