Other Remote jobs you may be interested in
Flight Software Engineering Manager
Blockchain Operations Engineer
Staff Test Engineer
Data Operations Engineer
Senior Software Engineer, Backend
Staff Data Scientist, Machine Learning (Marketing)
Tech Lead GO at OnHires
Job details
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 company’s advanced base of ready-to-use technical solutions enables brokers to save time and money on consuming infrastructure projects and focus on enlarging their client base and increasing their revenues.
- 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 high-loaded 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 key-value 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 high-load services from scratch;
- Identify problems in the application's 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 Sub-Stream 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.