Microservices Development:
- Design, develop, and maintain scalable and fault-tolerant microservices using Golang and Java.
- Architect APIs and service interfaces that are clean, consistent, and extensible.
- Use best practices for microservice communication, service discovery, and fault handling.
Golang Engineering:
- Write idiomatic Go code using features like goroutines, channels, and interfaces.
- Optimize Go applications for performance and memory usage.
- Debug Go services using tools like pprof, go test, and go mod for dependency management.
Java Engineering:
- Build robust backend services using Java (Spring Boot or other frameworks).
- Maintain and optimize legacy and new Java services as needed.
- Ensure unit testing, integration testing, and CI/CD compatibility across Java codebases.
Code Security and Dependency Upgrades:
- Proactively identify and fix code vulnerabilities by upgrading third-party libraries and dependencies.
- Conduct impact analysis, refactor code, and ensure test coverage for version upgrades.
- Collaborate with security and platform teams to ensure compliance with security best practices.
Branch Management & Technical Debt Reduction:
- Clean up stale branches, unused code, and outdated modules in the codebase.
- Define and enforce branching best practices, including naming conventions, merge strategies, and review processes.
- Drive technical debt reduction initiatives, improving maintainability and development velocity.
Service Reliability & Performance:
- Debug and optimize services for low latency, high throughput, and high availability.
- Use logging, tracing, and observability tools to track service health and performance.
- Identify and resolve memory leaks, thread contention, and I/O bottlenecks.
Infrastructure & Integration:
- Work with containerization tools (eg, Docker) and orchestrators like Kubernetes for deployment and scaling.
- Integrate services with internal tools, databases, caches, and messaging systems.
- Handle secure API integrations, authentication flows, and configuration management.
Collaboration & Documentation:
- Collaborate closely with DevOps, product, and frontend teams to ensure smooth service delivery.
- Document service designs, interface contracts, and operational runbooks.
Key Requirements:
- Strong programming skills in Golang and Java.
- Solid understanding of microservices architecture, patterns, and best practices.
- Experience working with REST APIs, gRPC (nice to have), and message queues (Kafka, RabbitMQ, etc).
- Familiarity with service monitoring, logging, and debugging tools.
- Experience with containerized deployments and cloud-native environments.
- Knowledge of databases (SQL or NoSQL) and caching mechanisms.
- Comfortable working in an agile environment with code reviews and rapid iterations.