Platform Engineer
Appwrite
Responsibilities
Design and develop scalable, redundant and reliable APIs and other distributed infrastructure to support Appwrite's platform services.
Design and develop SDKs for various languages following the best coding principles and standards and ensuring a great developer experience (DX).
Collaborate with Product Engineers to integrate infrastructure solutions seamlessly into the application architecture.
Monitor system performance and proactively identify and address issues to maintain optimal reliability.
Implement security best practices and ensure compliance with industry standards and regulations.
Stay up-to-date with emerging technologies and trends in backend, infrastructure, and cloud computing, and evaluate their potential impact on Appwrite's platform.
Participate in code reviews, and architectural discussions to drive continuous improvement.
Requirements
Experience in building and consuming REST or GraphQL APIs.
Ability to learn and adapt to working with multiple programming languages and produce high-quality code.
Passion for simplicity and great developer experience.
Passion for open-source, building developer tools, and working with our developer community.
Knowledge of container technologies like Docker, and orchestration technologies like Kubernetes.
Experience working with Continuous Integration (CI) tools like GitHub Actions.
Comfortable working with both monolithic and microservice-based architectures
Experience working with backend languages like PHP, Node.js, Python, Dart, Go, or Ruby
Solid understanding of relational databases such as MySQL and PostgreSQL
Familiarity with using Redis for use cases such as caching, message broker, or pub/sub
Experience with writing and maintaining both unit and end-to-end (e2e) tests.
Experience with cloud platforms like DigitalOcean, AWS, Microsoft Azure, Google Cloud and Infrastructure as Code (IaC) tools like Terraform.
Ability to build reliable, performant, and scalable APIs using a microservice architecture.
Have a solid understanding of HTTP, TCP, UDP protocols, web services, and architecture design.