Position: Golang Engineer Middle
Company: Omilia Natural Language Solutions Ltd
Experience required: 3y
English level: upper

We constantly strive to innovate. Our systems are written in a modern, testable and object-oriented manner that promotes reusability, generic functionality and high performance. At the same time, we seek people capable, willing and enthusiastic about participating in both maintaining our systems as well as building the next generation systems for our service.

Design, develop, manage and support microservices
●	Sustain, improve and implement new features for our tools written in Golang
●	Contribute to our microservice-based architecture which is constantly improved 
●	Debug and resolve issues and perform resolution follow-up

●	Solve scalability and performance issues 
●	Identify performance bottlenecks and suggest improvements
●	Scale services in combination with docker and k8s technologies

Participate in project planning including research and development
●	Support and improve our Agile transformation
●	Contribute to our backlog of tasks with improvements and suggestions
●	Implement Proof of Concepts (PoC) to introduce new solutions and ideas to the team
●	Effective time management skills and the ability to meet deadlines

Contribute actively and effectively as an integrated team member
●	Meet regularly with the line manager to review progress.
●	Manage issue resolution and critically escalate.
●	Work effectively with other teams, units, and departments.
●	Manage issues with clarity and ensure effective information flow and team working.
●	Support other organization’s priority activities, when necessary.
●	Act as an Omilia ambassador.



Knowledge, skills & experience


Mandatory

●	Understanding of OOP and Design Patterns in one or more languages like: Go, PHP, Python, C++, C#, Java or Kotlin, with more than 3 years of proven, production-grade software development expertise
●	Experience in developing RESTful backend services implementing APIs
●	Good understanding of distributed systems and architecture
●	Knowledge and experience (modelling and architecture) of SQL and relational databases (MySQL)
●	Solid experience with Software Testing
●	Experience in version control (Git preferably)


Nice to have:

●	Experience with Go lang in production services will be highly appreciated
●	Experience in Agile Methodologies (Scrum, Kanban)
●	A DevOps mindset, Docker technology and containerization
●	Experience in DDD
●	Knowledge and experience of non-relational databases (one or more of MongoDB, Redis, ElasticSearch)
●	Experience with any messaging system like AWS SQS, Apache Kafka, etc.