About Us:
TSGS is on a mission to revolutionize communication and transactions. We're building a cutting-edge chat app that seamlessly integrates messaging with secure and convenient in-app payments. As the Senior Backend Developer for our Singapore division, you'll be instrumental in architecting the robust backend systems that power this innovative platform and empowering the talented team that brings it to life.
Role Overview:
We're searching for an experienced backend developer. You'll be responsible for designing, developing, and optimizing our server-side architecture while recruiting, mentoring, and setting the technical direction for our Android, iOS, and Electron (desktop) app developers.
Key Responsibilities:
• Collaborate with cross-functional teams to design and implement backend services using Golang and other relevant technologies.
• Work with databases such as Cassandra, ensuring efficient data storage, retrieval, and maintenance.
• Implement messaging solutions using NATS.io for reliable communication between microservices.
• Utilize in-memory caching systems like Redis for optimized data access.
• Implement and maintain infrastructure as code using Docker and Terraform.
• Monitor, troubleshoot, and optimize system performance using Grafana, Loki, and Prometheus.
• Contribute to the development of scalable and robust cloud-based solutions on GCP.
• Write clear and concise API documentation and design APIs that adhere to best practices.
• Collaborate with front-end developers to integrate user-facing elements using server-side logic.
• Write unit and end-to-end tests to ensure the reliability and stability of developed features.
• Demonstrate expertise in Unix systems and a comfort level with Bash scripting.
Required Experience:
• 5+ years of professional experience in Golang or other strongly typed languages (C++, Java).
• Solid understanding of databases, tables, indices, and distributed systems.
• Knowledge of parallelism, locking, synchronization, and race conditions in software development.
• Familiarity with caching mechanisms and cache invalidation strategies.
• Experience in cloud infrastructure, preferably GCP or AWS.
• Proficiency in Unix systems and comfort in the terminal.
• Strong commitment to writing comprehensive tests for all developed features.
• Good understanding of API design principles and best practices.
Helpful Experience:
• Previous experience with Cassandra or other distributed databases.
• Familiarity with Docker, Redis, Terraform, and Grafana.
• Knowledge of Kubernetes (experience not mandatory but beneficial).