About Company:
Our client is a liquidity and technology provider of solutions for the crypto and foreign exchange (FX) industry. The company specializes in the sphere of B2B services and products catering to a wide range of clients including large licensed brokers crypto exchanges crypto brokers forex brokers hedge and crypto funds and professional managers. The companys advanced base of readytouse technical solutions enables brokers to save time and money on consuming infrastructure projects and focus on enlarging their client base and increasing their revenues.
Requirements:
- Strong proficiency in the Go programming language with a solid understanding of its core concepts and idiomatic usage and the principles of writing concurrent code
- At least 4 years of practical experience in commercial Go development
- 1 year experience managing development team of 3 people
- Experience in developing highloaded applications (thousands of RPS)
- Deep understanding of synchronization mechanisms
- Basic understanding of Linux principles and commands
- Knowledge of SOLID design patterns the experience of applying them
- Experience with unit tests and mocks
- Experience developing applications with SQL databases and keyvalue storage
- Experience with microservices their orchestration message streaming
- Experience with Protobuf and GRPC
- Experience with WebSocket and REST
- Knowledge of algorithms and the ability to apply them
- Knowledge of Git
Preferably:
- Knowledge of C# would be beneficial
Responsibilities:
- Knowledge of C# would be beneficial.
- Designing and developing highload services from scratch;
- Identify problems in the applications code and form refactoring tasks decompose story and tasks;
- Tech debt structuring and management;
- Conducting code review;
- Analysis of product requirements and design of development plans;
- Constant interaction with SubStream Software Engineers technical support project managers and other stakeholders to optimize processes and improve product quality;
- Responsibility for product quality and reliability;
- System technical analysis and elimination of bottlenecks;
- Improving system stability under heavy loads.