Sr. back-end engineer (Python)
After a heady year of going from 0 to 1 million users, with one back-end engineer (Alex Nunes – CTO) we have secured funding from some of Silicon Valley’s top investors to grow our engineering team to accelerate our growth to 10 million users. You will form part of a small new team of back-end engineers dedicated to expanding our functional surface area while improving on scalability, reliability, performance and security.
Mote’s mission is to make voice messaging faster and more useful for busy people everywhere. We help our users to type less, and talk more, so they can save time, communicate clearly and feel better connected.
The stack you will be working on
Our current back-end stack is composed from Python (3.8.5), Flask/Gunicorn, AWS EC2, DynamoDB, Redis, Dramatiq, ffmpeg, nltk, headless Chrome with a supporting toolchain cast of Github, CircleCI, Clubhouse, Datadog and Sentry, and an assortment of SaaS integrations (Hubspot, Stripe, Customer.io, Amplitude, GCP and Azure speech-to-text and translation APIs). We are currently in the process of migrating to ECS with Terraform and upgrading our billing platform to Chargebee. The core Python codebase has decent test coverage (87%) which we want to increase over time.
As a full time back-end engineer typical duties will include:
- maintain and develop REST APIs to power our website and Chrome extension
- extend our Dramatiq/Redis powered workflows to more intelligently process user audio (eg to improve transcription and perceived audio quality). * integrate with third-party SaaS APis to support billing and analytics use cases
- enhance and backfill the user data model as we add more audio processing and analytics capabilities* maintain and improve our telemetry and monitoring
- prototype and prove explorations in new foundational frameworks and technologies to improve financial efficiency of architecture, reduce latency and improve developer productivity
As an early senior engineer, you will be expected to lean in and contribute significantly to a new team consensus on topics as varied as code maintainability, test automation, security, instrumentation and even when is the right moment to become polyglot with one or more of Clojure, Elixir, Go, Rust or Lua.
If you like “full-stacking” features, for either the technology variety (eg using/learning React), more holistic understanding of API usage or greater end-user intimacy, you are welcome to opt in to building unstyled client implementations; though this is not a requirement or expectation.
How we work
- We are a remote-only Product and Engineering team based in Europe. We believe some synchrony while we remain small is a startup superpower for being able to stay nimble and flexible. Therefore, team members are expected to be significantly reachable on Slack and Zoom over a 6 hour window between 10 AM to 4 PM GMT during weekdays.
- We are not a huge fan of meetings, having all experienced megacorp meeting anti-patterns, but some high bandwidth communication is necessary for effective team collaboration. At a minimum, we have one weekly sprint retro and planning session, daily engineering stand ups and monthly company-wide town halls. Over and above that, we take a pragmatic, emergent view on the right communication tools and approaches for different types of collaboration, ranging from quick questions in Slack DMs, to tickets in Clubhouse, PRDs and tech specs in Google Docs, Swagger APi specs, Figma design specs, ad hoc Zoom sessions to brainstorm problems, and planned Zoom sessions to review designs or specs.
- Feedback is one of the core use cases of our product. We strongly believe a startup is an accelerated learning laboratory where the most important practise is to constantly and positively reflect on our behaviour and results, providing individual and collective feedback regularly.
- You are a senior back-end engineer, with at least 5 years experience at fast-growth consumer and/or SaaS tech companies.
- Demonstrable command of working with production Python codebases using most of the significant language features including object orientation, decorators, concurrency and test frameworks
- You either have formal degree-level training in Computer Science or can demonstrate solid evidence of self-taught solid grasp of fundamentals.
- You have demonstrated you are a high impact team contributor combining high levels of accuracy, rigour and output.
- You have excellent judgement on engineering trade-offs, with a fine-tuned sense of when to pick between accruing more tech debt, leaving as is but increasing tests, refactoring or wholesale rewriting.
- You have a strong bias to Test-Driven Development but also understand its limits.
- You live by the “no asshole” rule, demonstrating high levels of empathy for peers, non-technical colleagues and users.
- Competitive salary
- Stock option plan
- Leave package
- Work from home
- Flexible hours