Golang Engineer
Solution Development Company
Do you bring experience and passion to your work? Do you enjoy working as part of a team? Does seeing a software product come to life make you happy? If yes, we’d love to talk about the Golang Engineer role we’re looking to fill.
Requirements
- 6 months to 1 year of professional programming experience with Go
- Strong knowledge of Go paradigms, constructs, and idioms
- Knowledge of common Goroutine and channel patterns
- Experience with the full suite of Go frameworks and tools, including:
- Dependency management tools such as Godep, etc.
- Go's templating language
- Go's code generation tools, such as Stringer
- Popular Go web frameworks, such as Revel
- Router packages, such as Gorilla Mux
- Ability to write clean and effective Godoc comments
- 1+ years of Service-oriented architecture (SOA), microservices, and REST APIs
- Hands-on experience deploying applications on AWS; experienced with Jenkins & Docker
- Must have experience with Apache Kafka
- BS or advanced degree in software engineering or equivalent professional experience.
- Minimum six years of experience in Software Development.
- Excels at critical reasoning and decision making.
- Experience working with distributed teams and clients.
- Knowledge of Agile and SDLC concepts, practices, and techniques.
- Competency developing, validating, and deploying web and/or mobile applications.
- Familiar with both SQL and NoSQL databases.
- Strong knowledge of non-functional areas, such as: performance, scalability, user experience, etc.
- Strong written and verbal communication skills (in English).
- Proven ability to earn trust from clients and build lasting relationships.
Responsibilities
- Takes responsibility for the technical execution of projects and the overall quality of the code being developed.
- Provides hands-on programming and testing (functional, integration, unit testing, etc.).
- Demonstrates expertise in Agile methodologies and SDLC processes.
- Supports adherence to project timelines and budgets.
- Constantly seeks to reduce friction in the client experience and delivery process.
- Understands clients’ business-level strategies and identifies new business opportunities.
- Creates detailed plans well in advance and initiates action to move projects forward and adhere to project timelines and budgets.
- Assumes responsibility for solving any technical issues, roadblocks or project risks.
- Leads code reviews and enforces best practices for coding and documentation standards.
- Recognizes challenges early and escalates issues to project leadership.
- Constantly looks for ways to increase the team’s velocity/productivity.
- Seeks to clarify business requirements and shares responsibility with leadership to transform those requirements into results.
- Evaluates, recommends and selects simple, cost-effective and stable frameworks/solutions where possible.
- Adjusts activities to respond to changing circumstances and create value.
- Manages time effectively, monitoring performance against deadlines and milestones.
- Takes an active role in managing the client relationship. Makes sure that team members provide status updates and other routine client communications.
- Mentors and provides coaching to team members.
English level: Upper intermediate.
Time shift: Full time
Location: Remote