Position: Golang software engineer
Company: Softserve
Experience required: 1y
English level: intermediate

WE ARE 

Our client has started its Remote Monitoring and Management platform transformation 3 years ago in order to provide a scalable new platform, which will support future business growth and allow the company to adjust to changing market needs, expand into new markets and make even more business impact serving small-and-medium-sized businesses. 

The new platform, is currently on the final stage of development and is gradually replacing the existing legacy platform. The project has almost come to the end when our client was acquired by another company from the same market segment. And the new journey begins, the combined company is going to disrupt the settled balance on the RMM market with a completely new platform, that will combine all its benefits and products of the acquirer company. 

At the moment, the client is focused on building a vision of how the new platform will look like and what new functionality has to be built on top of Juno to make Fusion a top-notch offering on the market for their existing and new clients. 

That new challenging project starts these days. Do not miss an opportunity to become a part of it! 

YOU ARE 

The kind of person that can elaborate complex solutions, mentor and inspire a team of software engineers for creating great products, feel comfortable communicating with everyone across the whole globe, aren't you? 

A perfect fit is a candidate with

Deep knowledge of Go programming language
Ability to operate (maintain and refactor) with existing code 
Strong understanding of concurrency principles 
The basics of code profiling and debugging 
Good understanding of GO memory model and runtime 
A concept of Go garbage collecting system 
Proficient knowledge of micro-service architecture patterns 
Skill in database development of RDBMS and NoSQL databases 
Background of working with messaging systems 
Proficient knowledge of event-driven architecture patterns 
Practice building design diagrams using Unified Modelling Language (UML) 
Nice to have expertise includes 

Background of OOP-like programming languages (Java, .Net, etc.) 
Building applications dealing with big data and complex events processing 
Kafka and Cassandra 
Understanding of functional paradigm 
YOU WANT TO WORK WITH 

Developing new features to enhance existing software 
Active participating in the process of technical decision-making 
Creating and maintaining design documents 
Solving non-trivial and extraordinary tasks 
Taking full responsibility for the implementation of project parts 
Contributing to estimation and scoping of projects 
Coordinating continuouos refactoring and performance optimization 
Assisting in skills development and supervision of junior staff
TOGETHER WE WILL 

Make changes on a bigger scale, taking on challenges while developing oneself professionally and personally on a daily basis 
Grow business domain with Interesting project Create Excellent team atmosphere 
Enjoy flexible working hours 
Take part in internal and external event 
Give you access to experienced specialists who are so much willing to share their knowledge