REMOTE | JETLYN
About the project and role We are developing transport monitoring and management systems. Thousands of events from devices arrive every second: they need to be quickly received, correctly stored, and passed to analytics.
We are looking for an engineer who has a deep understanding of databases and can build systems that process a continuous stream of data. Experience specifically in transport or GPS is not required — your engineering foundation and ability to work with high-load data are much more important to us.
Stack: PostgreSQL, ClickHouse, Go (we will consider strong engineers with Python/Java/Rust/C++), Kafka/NATS.
💻 What you will be doing
- Designing and developing data storage on PostgreSQL and ClickHouse, ensuring high write and read loads.
- Ensuring the reception and processing of continuous streams of telemetry: configuring buffering, deduplication, and correctly handling late events.
- Optimizing queries and data schemas: identifying bottlenecks and eliminating them, based on metrics and profiling.
- Developing and supporting services (main stack language — Go).
- Participating in architectural decisions and conducting code reviews.
- Working with AI agents (Claude Code, OpenCode, Pi, and similar), using them as a primary tool to accelerate development.
🎯 Our expectations (Requirements)
Databases and performance (Most Important)
- Deep knowledge of PostgreSQL: confident reading of query plans (EXPLAIN ANALYZE), understanding of index operation, partitioning, MVCC, vacuum, and locks.
- Experience with columnar DBMS (ideally ClickHouse): understanding of MergeTree engines, sorting and partitioning keys, materialized views, batch inserts.
- Ability to design data models from read scenarios: separation of "hot" and historical data, pre-aggregation, managing data retention periods (TTL).
- Habit of measuring everything: profiling, load testing, making decisions based on numbers.
Streaming data
- Experience processing continuous event streams (telemetry, logs, IoT, tracking, payments, etc.).
- Understanding and experience in solving typical streaming problems: out-of-order events, duplicates and idempotency, backpressure, batching, recovery from failures.
- Experience with message brokers: Kafka, NATS, RabbitMQ, or similar.
Architecture and operations
- Ability to decompose a system into services and reasonably justify trade-offs (consistency vs. latency, storage cost vs. query speed).
- Experience operating your code in production: configuring metrics, logs, independently resolving incidents.
!! AI Tools
- Readiness for daily work with agent AI tools (Claude Code, OpenCode, Pi, etc.).
- Ability to provide an agent with a task with the necessary context, critically verify the result, and take full responsibility for the generated code as if it were your own.
🌟 Will be a big plus
- Experience in commercial development in Go: understanding goroutines and channels, working with pprof, building microservices.
- Experience with geospatial data: PostGIS, geo-indexes, building tracks.
- Knowledge of Kubernetes, Docker, CI/CD setup.
- Experience migrating or scaling a storage system without service interruption (zero-downtime).