At Doist, we're building the future of work.
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 five 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.
About the role
As a Platform Engineer, you’ll work on these areas of responsibilities:
Cloud Infrastructure management:
- You will be responsible for provisioning Cloud resources for production and staging environments, following agreed-upon patterns and tooling.
- You will participate in Cloud’s OpEx optimization initiatives through capacity planning and systems architectural reviews.
- You will work closely with our Backend team to advise on system architecture, assisting with planning, design, and review of proposed solutions from a scalability, cost-effectiveness, and growth what-if scenarios perspective.
Resilience, Tooling, and Self-service:
- You will collaborate with the team to plan, conceptualize, and design platform tooling that accelerates all Engineering delivery with a product-first mentality.
- You will be responsible for developing internal tooling that enables other Product Engineering teams to deliver faster and confidently, by addressing common pains (e.g., CI/CD, logging, monitoring, alerting).
- You will collaborate with all Engineering teams to document and promote practices that drive resilience, following industry battle-tested system architectures and techniques such as Product Readiness Checklists, or Twelve Factors.
- You will collaborate in incident response, identifying root causes and deploying mitigation measures to restore service levels. You will collaborate with other teams on follow-up actions to improve the system as a whole.
- You will be part of the team on-call rotation, addressing escalated issues and incidents that require immediate attention.
Security and Business Continuity:
- You will advise self-sufficient teams on how to improve their CI/CD workflows and automation to catch security issues earlier on.
- You will help plan and implement security controls on our production systems to ensure rightful access, strong authentication, and audit record keeping.
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 at least 5 years of professional experience developing/supporting web-scale systems, catering to millions of users.
- You have experience with the entire software development life cycle. You have designed and built several projects that have been deployed to production.
- You have experience with at least one compiled programming language (e.g. Go, Rust, Java, etc.) to create commercial or open-source products, and you’re familiar with at least one interpreted/scripting language (e.g. Python, Ruby).
- You can help identify a MySQL InnoDB long-standing lock and advise what fields to use in a DynamoDB table as primary key and secondary index.
- You feel at home in the Unix shell and its standard CLI tools. You can write bash scripts and other tooling to automate your work.
- You are familiar with some software design patterns and are sensible to factors that make up a scalable architectural design.
- You can recommend when to use logging, metrics, or tracing tooling to debug workloads running in production.
- You strive in environments where teams deploy to production tens of times a day, in tinier and more confident iterations, supporting them with tooling that increases confidence in quality gates without degrading shipping pace.
- You are a purpose-driven individual who can commit to Engineering excellence and help develop sustainable and continuous practices that benefit all Engineering teams.