Position: Go Developer, Banking App
Company: DataArt
Category: Golang
Experience required: 3y
English level: intermediate

The number of services the bank provides to their clients is constantly growing, and so does the number of clients (several million as of today). This fact drives the bank to expand the features of their IT systems, which is done by using cutting-edge technologies. DataArt’s specialists are currently helping the company to implement this.

Our specialists develop, test, and support client applications and parts of the bank’s internal system. They all must work fast and under high load while being flexible enough to also introduce new features. The applications we’re creating help the clients with their financial history and analyze financial flows. DataArt is also integrating applications with payment systems and other external services.

Responsibilities
- Designing the architecture for new services
- Reviewing the existing services and suggesting improvements
- Participating in the development of key services and infrastructure components

Must have
- Experience in the industrial development of web applications using Go
- Experience with the architecture of micro-service applications with at least 10 microservice components
- Understanding the security aspects of web applications
- Ability to write code to meet the criteria for a 12 factor application
- Excellent understanding of multi-tier architectures: web servers, caching, application servers, load balancing, and storages
- Knowledge of the basic patterns from the GoF and acronyms like SOLID
- Understanding of relational databases and NoSQL solutions, as well as the boundaries of their applicability
- Understanding the principles of loosely coupled components, the ability to explain the advantages of stateless systems
- Knowledge of the various options for implementing an API: SOAP/WSDL, RPC (gRPC, JSON-RPC), RESTful, GraphQL, and the ability to explain their advantages and disadvantages.