What are the responsibilities and job description for the Go Software Engineer position at CTC?
Description:
Major Purpose:
- Works on a product team and supports product design by planning its work, coordinating with others, and writing and testing code to deliver functionality for the complete product or products it supports.
- This level designs complex/significant parts of a system/sub-system or works on a complete product of a broad scope and solves well-defined problems with little guidance.
- May act as a work lead, providing technical coaching to other engineers and support personnel; Recognized as an expert user of critical technology; develops new software functionality for product development.
Major Duties:
- Develops, codes, configures, and tests programs and systems.
- Evaluates and implements enhancement design solutions to improve cost, quality, and performance of software applications.
- Analyzes assignments and determines software specifications that must be fulfilled to achieve objectives.
- Executes necessary documentation, as directed, or needed. ? Collaborates with other relevant stakeholders and team members to ensure that features meet business needs.
- Follows industry-standard agile software design methodology for development and documentation.
- Mentors junior software engineers on the team.
Skills, Abilities, Knowledge:
- Ability to analyze, translate, and define business requirements into technical solutions.
- Excellence in verbal and written communication forms with emphasis on persuasive communication, tact and negotiation.
- Ability to apply engineering principles and concepts for designs.
- Ability to manage many competing priorities/requests in a fast-paced environment
Education:
- Degree in an Engineering/Technology discipline or equivalent experience. - University Degree (4 years or equivalent)
- Degree in an Information Technology discipline or equivalent experience. - University Degree (4 years or equivalent)
Work Experience:
- Previous experience in programming/software development. (4 - 7 years)
- Software development processes experience. (4 - 7 years)
- Product design, test and/or analysis experience. (4 - 7 years)
- Participating in Agile Development (4 - 7 years)
- Experience working in an Agile Environment (4 - 7 years)
Additional Details
- The worker should be comfortable working in a paired programming environment and be an excellent communicator. High priority given to soft skills such as self-driven and takes initiative.
- Works on a Platform Engineering team and supports aligned product teams by planning its work, coordinating with others, and developing functionality to enable teams to be successful in quality and reliability.
- Most important technical skills are strong programming experience in Golang with experience in Kubernetes, AWS, OpenTelemetry, Terraform.
- (3 - 6 years) Experience in programming/software development (Go (70%), Java (10%), Rust (10%), Python (5%), Terraform (5%))
- (3 years) Experience hosting services in AWS cloud technologies
- (3 years) Experience deploying and/or managing EKS/Kubernetes clusters
- (3 years) Ability to manage many competing priorities/requests in a fast-paced environment
- (3 years) Excellence in verbal and written communication forms with tact and negotiation
- Experience with Datadog and/or Grafana preferred
Salary : $75 - $80