Position: GO Developer
Company: Exadel
Category: Golang
Experience required: 2y
English level: intermediate

**About the Customer:**
The company offers software as a service platform to monitor, troubleshoot, and maintain desktops, servers, and other endpoints for small and medium-sized businesses.

The customer is a very famous company. Amazon is their partner. Customer's people are often visit Amazon conferences as speakers. You will work with a strong team, who has strong culture in terms of process and architecture!

**About the Project:** 
The purpose of the project is to bring new centralized User Management (including Roles, permissions, etc.) and implement new reliable SSO for Customer’s products. SSO should be able to support a large number of the existing and new applications in the Customer’s ecosystem. At the moment there are 2 identity providers - legacy OpenAM (will be retired) and Customer’s SSO (built using IdentityServer v4). Our plan is to switch all products to IdentityServer v4 and implement new features and improvements. Team’s responsibilities are to analyze the current Customer’s SSO (C#, IdentityServer v4), implement/configure integration with other identity providers and implement missing features, including integration with the existing systems. 

**Technologies:** 
Golang, ASP.NET Core, AWS Aurora, Postgres, OpenAM, IdentityServer v4, OAuth2/OIDC/SAML, Docker

**Project Advantages:** 
The successful applicant will have opportunities to make important decisions, pro-actively push their views and solutions to the customer, and work with a team of highly skilled developers.

**Requirements:**
2+ years of development experience
Strong hands-on experience using Go programming language
Good knowledge of Cassandra and Kafka
Good knowledge of Microservices
Experience with the full suite of Go frameworks and tools including:
Dependency management tools such as Godep and Sltr
Go’s templating language
Go’s code generation tools (e.g. Stringer)
Popular Go web frameworks (e.g. Revel)
Router packages (e.g. Gorilla Mux)
Ability to write clean and effective Godoc comments
Nice to Have:
Bachelor’s or Master’s degree in computer science, computer engineering, or a related field
 
**English level:**
Intermediate+ 
 
**Responsibilities:**
Write scalable, robust, testable, efficient, and easily maintainable code
Translate software requirements into stable, working, high-performance software
Play an integral role in architectural and design decisions to build an efficient microservices-distributed architecture
 
**Advantages of Working with Exadel:**
There are plenty of opportunities for advancement at Exadel
You can build your expertise with Exadel Expert Groups, which provide support for existing and potential projects
You can join any community or create your own to communicate with like-minded colleagues
You can  participate in continuing education as a mentor or speaker
You can take part in internal and external meetups as a speaker or listener
You can learn English with the support of native speakers
You can take part in cultural, sport, charity, and entertainment events