ABOUT THE ROLE
Golang Developer as a member of a team of elite, highly-skilled forward-thinking software developers working on product development in an agile and collaborative environment, you will work with cutting edge technologies and learn how these technologies are applied. You will have the opportunity to mentor team members and work in a fast-paced Agile environment. You will take initiatives and collaborate extensively with the stakeholders and within the development team to achieve ambitious goals. This is an exciting opportunity to become a critical part of a fast growing, global organization, at what is arguably the most exciting time in the rapid evolution of our company
· Design and implement different parts of distributed, event driven and reliable microservice’s architecture.
· Designing and developing on NoSQL databases.
· Designing, developing, and maintaining integrations with various internal and external applications.
· Providing support for our application, working closely with product and account management teams
· Work with Product Owner to translate business requirements into technical designs and then help to plan Sprints that deliver quality components and products on time
· Assisting the Product Management group in specifying requirements into technical requirements
· Actively participate in research, discussions and decisions on software architecture, development processes, and other standards
· Actively participate in our Scrum process: Standups, Refinements, Planning, Retrospectives, Demos
REQUIRED KNOWLEDGE AND EXPERIENCE
· 2+ years of experience with Golang
· 5+ years of experience with one of the following languages: Golang, C++, C# or Java
· Experience with designing and/or implementing distributed systems.
· Experience with designing and/or implementing microservice oriented architecture.
· Experience with Git.
· Experience with NoSQL.
· Knowledge of UML or similar design languages/methodologies.
· Strong knowledge of TCP/IP and HTTP protocol stacks.
· Strong analytical and problem solving skills.
· Experience of design and implementation of RESTful web services.
· Experience working on Windows/Linux environments.
· Ability to work in team oriented environment, and can work independently
· Experience working in an Agile Development environment
· Strong written and verbal communication in English.
· Advanced Knowledge of OOP/OOD, Design patterns and SOLID
WHAT WE CONSIDER A PLUS
· Experience with performance tuning of large scale platforms.
· Experience using tools such as SVN, Jira, Confluence, Docker.
· Experience with Cassandra, CouchDB and/or Couchbase is considered a plus.
· Experience with all of any of the following is considered a strong plus: RabbitMQ, Kafka, Proto buffers, gRPC, Redis, JWT, OAuth2.