Stream Software Engineer (GO)
About the Company: The company is a leading developer of financial technology, offering B2B solutions, including an advanced cryptocurrency processing solution. We create innovative products for real-time data management, enabling clients to efficiently accept, store, send, and exchange cryptocurrency payments with low fees, secure checkout, and access to real-time reporting.
Skill Level: Lead
Responsibilities:
- Lead the technology team in product development, including people management and improving team performance.
- Conduct code reviews and design new services, as well as enhancements to existing services.
- Select and optimize the technology stack for performance and stability.
- Contribute to the development of high-load systems with high stability standards.
- Design and develop high-load services from scratch.
- Identify issues within application code, form refactoring tasks, and decompose complex tasks into actionable items.
- Structure and manage technical debt.
- Analyze product requirements and design development plans.
- Collaborate regularly with Sub-Stream Software Engineers, technical support, project managers, and other stakeholders to streamline processes and enhance product quality.
- Oversee product quality and reliability, conducting system technical analysis and resolving performance bottlenecks.
- Enhance system stability under heavy loads.
Requirements:
- Advanced proficiency in Go (version 8.0+), with experience in unit, integration, and feature testing.
- At least 3 years of commercial Go development within the last 4 years.
- Minimum of 3 years in a technology leadership role.
- Strong knowledge of software development methodologies, application architecture, and database design, including experience applying SOLID, DRY, and KISS principles.
- Extensive experience with distributed systems and microservices architecture, with a solid understanding of Twelve-Factor App principles.
- Proficiency in Docker and Kubernetes.
- Experience with message brokers such as NATS, Kafka, or RabbitMQ.
- Knowledge of Redis.
- In-depth experience with relational databases, such as PostgreSQL and/or MySQL.
- Experience in observability, including logs and metrics collection, profiling and tracing applications, error tracking (Sentry), and visualization tools like Grafana.
- Strong communication and teamwork skills.
- Comfortable working on Mac or Linux platforms.
- Proficiency in English at level C1 or higher.
Preferred Skills:
- Experience in transitioning monolithic backend applications to microservices.
- Experience in creating CI workflows for Go applications.
- Familiarity with NATS JetStream.
- Industry-relevant certifications (e.g., TOGAF, AWS, Microsoft Azure) are a plus.
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).