Role : Golang Developer (Mid Level)
Experience : 5 - 8 Years
Notice : Immediate - 20 days
Required Qualifications
**Must-Have:**
- **Professional Experience:** 5-8 years of professional backend development experience.
- **Go Proficiency:** Strong proficiency in Go (at least 3+ years of hands-on experience in a professional setting), with a solid understanding of its concurrency model and standard library.
- **API Development:** Experience building and consuming RESTful APIs.
- **Database Skills:** Good working knowledge of relational databases (PostgreSQL/TimescaleDB preferred) and experience with efficient data access patterns in Go.
- **Testing:** A strong commitment to quality with experience in writing tests for Go applications.
- **Containerization:** Familiarity with Docker for containerizing applications.
- **Problem-Solving:** Excellent problem-solving and analytical skills, with the ability to reason about concurrent and distributed systems.
**Nice-to-Have (Highly Desirable):**
- **Financial/Crypto Domain Interest:** An interest in or experience with FinTech, market data systems, or cryptocurrency.
- **gRPC/Protobuf:** Exposure to building services with gRPC.
- **Kubernetes:** Familiarity with deploying applications to a Kubernetes environment.
- **Performance Tools:** Some experience with Go's profiling tools (e.g., pprof).
- **CI/CD:** Experience working with continuous integration and deployment pipelines.
Key Responsibilities
- **Develop and Maintain Go Microservices:**
- Write clean, idiomatic, and efficient Go code to build and maintain features for our high-performance backend services.
- Contribute to critical components like the real-time crypto pricer, oracle signer, and data aggregator.
- Implement and manage concurrent routines effectively using goroutines and channels.
- **Build and Integrate APIs:**
- Develop and consume RESTful and potentially gRPC APIs for low-latency, internal service-to-service communication.
- Work with other teams to ensure seamless integration between Go services and the rest of the platform.
- **Ensure Code Quality and Reliability:**
- Write comprehensive unit and integration tests to ensure the correctness and robustness of your code.
- Actively participate in code reviews, providing and receiving constructive feedback to maintain high code quality.
- Debug and troubleshoot issues in a distributed, containerized environment.
- **Collaborate within an Agile Team:**
- Work effectively within an agile squad, participating in sprint planning, daily stand-ups, and retrospectives.
- Collaborate with senior developers on design decisions and architectural patterns.