Senior Golang Engineer for Distributed Microservices | Remote

Remotely
Full-time
Part-time

About The Role

As a Senior Golang Engineer, you'll be responsible for enhancing our ID Provisioning microservice by developing new integration modules for third-party platforms and continuously improving the existing codebase. 

You'll apply your deep understanding of Golang and distributed systems to create robust, scalable solutions that meet our business needs. 

The project requires a developer who can balance adding new functionality with improving code quality through thoughtful refactoring.


Key Responsibilities

- Design and develop new service integration modules for platforms such as Slack, Salesforce, Zoom, and others using Go 1.21+.

- Architect and implement distributed services that efficiently process asynchronous jobs in a clustered environment.

- Write comprehensive test suites including unit tests, integration tests, and end-to-end tests to ensure code quality and reliability.

- Refactor existing code to improve performance, readability, and maintainability while adhering to SOLID principles.

- Collaborate with cross-functional teams to understand business requirements and translate them into technical specifications.

- Participate in code reviews to ensure high code quality standards across the team.

- Troubleshoot and resolve complex technical issues in production environments.

- Document architectural decisions and implementation details for knowledge sharing.

- Implement best practices for error handling, logging, and monitoring in distributed systems.

- Optimize service performance and resource utilization within the microservice architecture.


Required Skills

- 5-6+ years of professional software development experience, demonstrating a deep understanding of SOLID principles gained through practical application.

- Minimum 3 years of recent, hands-on experience with Golang in production environments.

- Proficiency in developing RESTful APIs and microservices architecture.

- Strong knowledge of concurrent programming patterns in Go.

- Experience with test-driven development and writing comprehensive test suites.

- Excellent problem-solving skills and attention to detail.

- Strong communication skills with the ability to explain complex technical concepts clearly.

- Self-motivated with the ability to work effectively in a remote environment.

- Familiarity with version control systems, particularly Git.

- Understanding of database design and SQL/NoSQL database systems.


Nice to Have

- Experience building and maintaining distributed services in clustered environments.

- Hands-on experience with Kafka or other message queuing systems.

- Knowledge of API authentication methods and security best practices.

- Experience with Docker, Kubernetes, and cloud platforms (AWS, GCP, or Azure).

- Familiarity with CI/CD pipelines and DevOps practices.

- Previous work with third-party API integrations, particularly with Slack, Salesforce, or Zoom.

- Understanding of identity management systems and authentication protocols.

- Experience with gRPC or GraphQL for service-to-service communication.

- Knowledge of observability tools like Prometheus, Grafana, or Jaeger.

- Contributions to open-source Go projects or personal projects demonstrating Go expertise.


Project Scope

The initial project focus will be adding five new service integration modules to our ID Provisioning microservice. 

These integrations will include platforms such as Slack, Salesforce, and Zoom, with a projected timeline of at least three months. 

As you implement these new features, you'll also be expected to identify opportunities for code improvement and implement appropriate refactoring while maintaining system stability.


Why Join Us

Join our innovative team and contribute to a cutting-edge distributed system that powers critical business operations. 

You'll have the opportunity to solve challenging technical problems, work with modern technologies, and grow your expertise in distributed systems architecture. 

We offer a flexible, fully remote work environment that prioritizes work-life balance and professional development. This role provides significant autonomy, allowing you to make meaningful technical decisions while collaborating with a team of experienced engineers.