- Design, develop, and maintain scalable and secure backend services, APIs, and microservices using Go (Golang).
- Implement high-quality, clean, maintainable, and efficient code with a strong emphasis on test-driven development (TDD) and unit/integration testing.
- Leverage Go's concurrency primitives like Goroutines and Channels to build highly concurrent and performant applications.
- Collaborate with product managers, designers, and other engineering teams (Frontend, DevOps) to define, design, and ship new features.
- Integrate with various data stores, including both relational (e.g., PostgreSQL, MySQL) and NoSQL (e.g., MongoDB, Redis) databases.
- Participate in code reviews to maintain high code quality and share knowledge within the team.
- Contribute to system architecture discussions and drive the technical implementation of complex features.
- Optimize existing applications for maximum speed, scalability, and stability, focusing on performance tuning and monitoring.
- Work closely with DevOps teams to integrate code into CI/CD pipelines and ensure seamless deployment and operation using Docker and Kubernetes.
- Troubleshoot and resolve production issues in a timely and effective manner.
Required Skills and Qualifications :
- Experience : 3 to 7 years of experience in backend software development, with at least 2-3 years dedicated to building production-grade services in Go (Golang).
- Go Expertise : Deep understanding of the Go programming language, its idioms, paradigms, and runtime features, especially concurrency, Goroutines, and Channels.
- Architecture : Proven experience in designing and implementing RESTful APIs and building microservices-based architectures.
- Database Knowledge : Strong working knowledge of at least one relational database (e.g., PostgreSQL, MySQL) and one NoSQL database (e.g., MongoDB, Redis). Experience with ORMs/database drivers is preferred.
- System Design : Solid understanding of distributed systems, data structures, and algorithms.
- Message Queues : Hands-on experience with message brokers like Kafka or RabbitMQ for asynchronous communication.
- Tools and Practices : Proficiency with Git (version control) and strong adherence to Agile development methodologies (Scrum/Kanban).
- Testing : Experience writing comprehensive unit and integration tests to ensure high code coverage.
- Communication : Excellent verbal and written communication skills and a collaborative attitude for cross-functional teamwork.
Preferred (Bonus) Qualifications :
- Experience with cloud platforms (AWS, GCP, or Azure) and cloud-native application development.
- Familiarity with container orchestration tools like Kubernetes and containerization with Docker.
- Knowledge of gRPC or other high-performance communication protocols.
- Experience with monitoring, logging, and alerting tools (e.g., Prometheus, Grafana, ELK stack).
- Prior experience in a FinTech, E-commerce, or high-transaction environment is a plus