Position: Senior Software Engineer (Golang)
Company: Work Around
Category: Golang
Experience required: 5y
English level: upper

About Company
Our client is a startup focused on Edge Services and funded by venture firms - Mayfield, Khosla Ventures & Microsoft M12.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Responsibilities:

Design and deliver infrastructure solutions that will help create, deploy and manage the service components of the Company`s platform
Collaborate with architects and technical leaders to vet and validate the design
Investigate various open source and close source technologies, components, libraries, tools etc. and help build a highly available, highly scalable and easily manageable system
Demonstrate technical leadership in multiple domain areas, providing mentorship to other team members
Demonstrate leadership by taking responsibility and ownership of software components and deliver a complete product satisfying functional, scale, performance and manageability requirements
Hands-on coding in multiple languages while considering performance, scalability, maintainability, and flexibility

Minimum qualifications:
Knowledge and experience in highly distributed software systems, ability to understand the nuances and solve problems related to scale, performance and resiliency of such a system
Experience in developing polyglot software using service definition language and framework like gRPC, Thrift, Google Protocol Buffers, OpenAPI etc.
Experience in developing and deploying scalable and highly available cloud-native software services using 12-factor app design methodology
Experience in orchestration systems like Kubernetes and container technologies like Docker, rkt etc.
Hands on experience in multiple computer programming languages such as C, C++, Golang, Python
Ability to implement all phases of a development cycle for a software product from understanding requirements, going through design, development and deploy phases
You should be self-motivated and willing to delve into new areas and take new challenges in an enthusiastic manner
Excellent written and verbal communication skills
Strong interpersonal, team building, and mentoring skills


We offer:
Flexible schedule, new equipment, office in Gulliver BC