The Purpose of Your Role
As a backend developer, we expect you to be responsible for
-
Ensure the existing systems perform correctly, efficiently and securely
-
Develop backend APIs for product features
-
Work effectively with cross functional teams and your team
Key Responsibilities
-
Collaborate closely with your Product Manager to gain a deep understanding of project requirements and feature specifications.
-
Design, develop, deploy, and maintain backend services and frameworks for building microservices.
-
Effectively manage individual project priorities, meet deadlines, and deliver high-quality results.
-
Enhance engineer productivity by developing and maintaining shared libraries.
-
Offer robust, scalable technical solutions to address feature requirements.
-
Assume full ownership of your service, leading its development and maintenance, while actively engaging with the team.
-
Cultivate a strong team spirit by being a collaborative, open-minded, and supportive team player.
-
Identify and fix bugs to ensure smooth operation of services.
-
Drive technical innovation and improvements within the team.
-
Identify and address technical debt to maintain code quality and performance.
Must-have Qualifications
-
A minimum of 3 years of experience in Golang or a strong ability to quickly adapt to it.
-
Proficiency in designing and implementing APIs and backend services, utilizing various relational and NoSQL databases.
-
Understanding of CI/CD practices, Docker containers, and Kubernetes.
-
Solid knowledge of data structures and algorithms.
-
Familiarity with communication protocols like gRPC, RESTful, and GraphQL.
-
Proficiency with code versioning tools, such as Git/Gitlab.
-
Exposure to at least two data systems, including but not limited to Postgres, MongoDB, MySQL, Elasticsearch, Redis, Kafka, and TimescaleDB.
-
Familiarity with fundamental design principles for creating scalable applications.
Nice-to-have Qualifications
-
Knowledge of user authentication and authorization mechanisms across multiple systems, servers, and environments.
-
Familiarity with PHP or Python programming languages.
-
Basic understanding of front-end technologies, including JavaScript, HTML5, and CSS3.
-
Experience with Microservices architecture and event-driven systems.
-
Experience in benchmarking and performance optimization to ensure efficient and responsive services.
-
Experience implementing trace logs, monitoring systems with Grafana, and utilizing ELK (Elasticsearch, Logstash, Kibana) for log management.
Additional Skills (Desirable)
-
Proficiency in writing unit tests and integration tests to ensure the reliability and correctness of backend services.
Note: While unit testing and integration testing skills are not listed as "must-have" requirements, they are highly desirable skills that significantly contribute to the quality and maintainability of our services