Job Summary
We are looking for an experienced Golang Developer to design, develop, and maintain scalable, high-performance backend applications and distributed systems.
The ideal candidate will have strong expertise in Go (Golang), microservices architecture, REST APIs, cloud technologies, and CI/CD practices.
The candidate will work closely with cross-functional teams to build reliable, secure, and efficient software solutions.
Key Responsibilities
- Design, develop, test, and maintain scalable backend applications using Go (Golang).
- Build and maintain microservices and distributed systems.
- Develop and integrate RESTful APIs and web services.
- Write clean, efficient, reusable, and maintainable code following best practices.
- Work with databases such as PostgreSQL, MySQL, MongoDB, or similar.
- Implement concurrency, multithreading, and performance optimization using Go routines and channels.
- Collaborate with frontend developers, DevOps engineers, architects, and product teams.
- Develop and maintain CI/CD pipelines and support automated deployment processes.
- Work with containerization and orchestration tools such as Docker and Kubernetes.
- Troubleshoot, debug, and resolve application performance and production issues.
- Write unit tests, integration tests, and participate in code reviews.
- Implement security best practices, logging, monitoring, and error handling.
- Participate in Agile/Scrum ceremonies, sprint planning, and technical discussions.
- Contribute to system architecture, technical documentation, and continuous improvement initiatives.
Required Skills and Qualifications
- 5+ years of experience in software development, with strong hands-on experience in Go (Golang).
- Strong knowledge of Go programming concepts, concurrency, goroutines, channels, and memory management.
- Experience in designing and developing microservices and distributed applications.
- Strong experience with REST APIs, HTTP, JSON, and web services.
- Proficiency in SQL and experience with relational or NoSQL databases.
- Experience with Git and version control systems.
- Hands-on experience with Docker and Kubernetes.
- Experience with CI/CD tools and automated build and deployment pipelines.
- Knowledge of cloud platforms such as AWS, Azure, or GCP.
- Strong understanding of software design patterns, data structures, algorithms, and object-oriented programming concepts.
- Experience with unit testing, integration testing, debugging, and performance tuning.
- Good problem-solving, communication, and collaboration skills.
Preferred Skills
- Experience with gRPC, Protocol Buffers, and event-driven architectures.
- Knowledge of messaging systems such as Kafka, RabbitMQ, or similar.
- Experience with Terraform or other Infrastructure as Code tools.
- Familiarity with observability tools such as Prometheus, Grafana, ELK, or OpenTelemetry.
- Experience with Linux/Unix environments and shell scripting.
- Knowledge of secure coding practices and DevSecOps.
- Experience working in Agile/Scrum environments.
Education
- Bachelor's degree in Computer Science, Information Technology, Software Engineering, or a related field, or equivalent practical experience.
Soft Skills
- Strong analytical and problem-solving abilities.
- Excellent verbal and written communication skills.
- Ability to work independently and collaboratively in a team environment.
- Strong attention to detail and commitment to code quality.
- Ability to work in a fast-paced, Agile development environment.