Key Duties and Responsibilities
Understand customer requirements
Design, implement, maintain and test backend services, including new parts of the product that follow R&D research effort
Perform bug qualification, release testing
Improve performance of backend services vs. database access patterns and schemas, yet keeping ease of coding and code discoverability top-notch
Ensure advanced observability and service composability
Modularize backend architecture using a balanced approach
Improve infrastructure resilience using load testing and staged service interruption methods
Minimum Education/Certification Requirements and Experience
BS in Engineering, Computer Science, or related field with 5 years’ experience, MS with 3 years’ experience, or PhD with 1-year experience
Software development experience, on open-source software or in a professional setting
Deep knowledge of databases, experience with multiple programming languages
Preferred Qualifications and Skills
Top-notch communication and interpersonal skills
Knowledge of, and taste for elegant software design
Familiar with long-running jobs, asynchronous architectures and communication
Familiar with message exchanges, queues and associated bottlenecks
Familiar with event-oriented architectures
Ample knowledge of database fundamentals (indexes, ORMs) and associated bottlenecks
Knowledge of scalable and clustered architectures
Familiar with data-intensive applications and data pipelines
Ability to learn quickly and to collaborate with others in a geographically distributed team
Experience with Python, Postgres, RabbitMQ, Redis
Experience with Rust and Elixir is a plus
Any Graduate