Software Engineer
We are looking for a strong Backend Developer for a high-load project connected with Android infrastructure, reverse engineering, network traffic analysis, and processing large amounts of data.
The main backend is built on Node.js, so strong knowledge of JavaScript and TypeScript is required.
Responsibilities
- Develop and maintain backend services using Node.js / TypeScript.
- Work with high-load and distributed systems.
- Design systems for storing and processing large amounts of data.
- Work with PostgreSQL, ClickHouse, and Redis.
- Optimize database queries, indexes, and data structure.
- Work with:
- replication;
- sharding;
- partitioning;
- distributed data;
- high availability;
- fault tolerance.
- Work with Kubernetes infrastructure.
- Find and fix performance problems in backend, databases, and infrastructure.
- Analyze network traffic and application communication.
- Work with traffic sniffing and proxy tools.
- Understand how mobile applications communicate with backend services and APIs.
- Analyze requests, responses, headers, payloads, tokens, and sessions.
- Work with existing code and systems with limited documentation.
- Find technical problems and propose solutions independently.
- Work with distributed workers, services, and nodes.
Required Skills
Backend
- Strong experience with Node.js.
- Strong knowledge of JavaScript.
- Strong knowledge of TypeScript.
- Good understanding of async programming.
- Understanding of Node.js event loop.
- Experience with REST API and WebSocket.
- Experience with high-load backend systems.
Databases
- Strong experience with PostgreSQL.
- Strong experience with ClickHouse.
- Strong experience with Redis.
- Good understanding of:
- indexes;
- query optimization;
- query plans;
- replication;
- sharding;
- partitioning;
- distributed databases;
- data consistency;
- high availability.
Experience with large databases and high traffic is very important.
Infrastructure
- Kubernetes.
- Docker.
- Linux.
- Experience with cluster systems.
- Understanding of networking.
- Understanding of load balancing.
- Understanding of horizontal scaling.
- Ability to find CPU, RAM, disk, and network bottlenecks.
- Experience with logs and monitoring.
Reverse Engineering / Network Analysis
- Understanding of Android reverse engineering.
- Understanding of Android architecture.
- Experience with traffic sniffing.
- Good understanding of HTTP / HTTPS.
- Understanding of TLS.
- Experience with proxy-based traffic analysis.
- Understanding of authentication, sessions, cookies, and tokens.
Important
We are not looking for a developer who only has experience with simple CRUD applications.
The candidate should understand the full system:
application → network → backend → databases → infrastructure
The developer should be able to work independently, research technical problems, understand existing systems, and find solutions even when documentation is limited.
Level
Strong Middle / Senior Backend Developer
Experience in these areas will be a plus:
- high-load systems;
- distributed systems;
- reverse engineering;
- network traffic analysis;
- large-scale data processing;
- complex or undocumented APIs;
- systems with many workers and nodes.