Key Responsibilities
Develop and maintain applications: Design, build, and deploy highly scalable and reliable backend services using Go (Golang).
Collaborate on architecture: Work with a team of engineers to design and implement a microservices architecture.
Write clean, efficient code: Write well-documented, tested, and maintainable code with a focus on performance and concurrency.
Integrate with cloud services: Develop and deploy applications in a cloud environment, primarily on AWS.
Ensure system reliability: Participate in code reviews, optimize system performance, and troubleshoot issues to ensure high availability and reliability.
Work with data: Design and interact with various databases, including both relational and non-relational systems (e.g., PostgreSQL, Redis, DynamoDB).
Collaborate and communicate: Work closely with cross-functional teams, including product managers, designers, and other engineers, to define and implement new features.
Required Skills and Qualifications
Experience: Proven professional experience as a Golang developer.
Core Competencies: Strong knowledge of Go programming language, its concurrency primitives, and goroutines.
Distributed Systems: Experience designing and building highly scalable, distributed systems.
Cloud Platforms: Hands-on experience with cloud platforms, preferably AWS (including services like ECS, Lambda, and RDS).
Containerization: Proficiency with Docker and Kubernetes.
Databases: Experience with both SQL and NoSQL databases.
APIs: Experience building and consuming RESTful and gRPC APIs.
Version Control: Familiarity with Git and CI/CD pipelines.
Nice-to-Have Skills
Experience with other programming languages like Python or Java.
Knowledge of event-driven architecture and message queues (e.g., Kafka).
Experience in the automotive or connected vehicle industry.
Familiarity with observability tools like Datadog