An innovative firm is seeking a skilled software engineer proficient in Go, Terraform, and AWS services. In this role, you will architect and develop high-volume software systems, leveraging infrastructure as code principles. You will work closely with a team of developers and engineers to implement CI/CD pipelines and ensure optimal application performance. This position offers the chance to work with cutting-edge technologies, including containerization platforms like Docker and Kubernetes, while managing security measures and scaling applications effectively. If you are passionate about building scalable solutions and thrive in a collaborative environment, this opportunity is perfect for you.
Qualifications
Expertise in Go programming, Terraform, and AWS is essential.
Experience with CI/CD, Docker, and Kubernetes is highly valued.
Responsibilities
Develop and deploy scalable software systems using Go, Terraform, and AWS.
Collaborate with teams to ensure robust and reliable solutions.
Skills
Go programming language
Terraform
AWS services
CI/CD pipelines
Git
Docker
Kubernetes
GraphQL
API development
Tools
AWS Lambda
CloudWatch
S3
IAM
Glue
SQS
SNS
Step Functions
API Gateway
Job description
Job Responsibilities:
Utilize Go programming language, Terraform, and AWS services to architect, develop, and deploy highly scalable and high-volume software systems and components.
Write Golang code for applications, API, and backend processing.
Implement infrastructure as code using Terraform ensuring that all infrastructure is version-controlled.
Hands-on experience on Terraform infrastructure as a code to deploy in AWS.
Integrate Terraform script along with Go code in a CI/CD pipeline.
Understand the CI/CD pipelines and code versioning tools such as Git; have familiarity with continuous integration.
Understand containerization platforms such as Docker and Kubernetes for creating scalable, portable, and maintainable applications.
Experience with Lambda, Kubernetes, IAM, CloudWatch monitoring, Glue, SQS, SNS, Step Functions, GraphQL, API Gateway, Docker, and other services.
Use AWS services to build, deploy, and manage applications and infrastructure, utilizing services like S3, Lambda, and more.
Conduct thorough code reviews with tech leads and solution engineers, and perform troubleshooting to ensure optimal performance of applications for maximum speed and scalability.
Write unit tests, mutation tests, and integration tests for Go applications to ensure code coverage of 100%. Implement mutation tests to ensure the robustness of code. Debug and resolve technical issues.
Collaborate with developers, solution engineers, and other product stakeholders to ensure solutions are robust, scalable, and reliable.
Document the low-level design, architecture, development process, testing, and other technical documents up-to-date.
Manage security measures using IAM roles and security groups.
Manage auto-scaling policies and load balancing for applications as needed.