← Назад к вопросам

С каким стеком работал

1.3 Junior🔥 111 комментариев
#Опыт работы и проекты

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Tech Stack, с которым работал

Мой путь в технологиях охватывал эволюцию backend-разработки за 15 лет. Покажу основные направления.

Языки программирования

C++ (основной язык, 10+ лет)

  • C++03/11 — ранние проекты с boost библиотеками
  • C++14/17 — перевод legacy code на modern C++, внедрение smart pointers
  • C++20 — текущий production stack (concepts, coroutines, modules)

Вот примеры эволюции:

// C++03: raw pointers, manual memory management
Connection* conn = new Connection();
try {
    conn->open();
} catch (...) {
    delete conn;  // Вручную!
    throw;
}
delete conn;

// C++20: RAII, smart pointers, concepts
auto conn = std::make_unique<Connection>();
co_await conn->open();  // Coroutine, automatic cleanup

Python (3+ лет)

  • Scripting, data analysis, automation
  • FastAPI для quick MVP
  • Airflow для orchestration

Java (2 года)

  • Spring Boot микросервисы
  • Отказался из-за GC паузs в high-frequency системах

Rust (экспериментирование)

  • WebAssembly modules
  • System tools
  • Рассматриваю как альтернативу C++ для новых проектов

Go (минимум)

  • Утилиты, DevOps инструменты
  • CLI tools

Фреймворки и библиотеки

Networking:

  • Asio (boost::asio) — асинхронный I/O для сокетов
  • gRPC — RPC фреймворк для микросервисов
  • ZeroMQ — message queue
  • Boost.Beast — HTTP library
  • libevent — event loop

Concurrency:

  • pthread — low-level threading
  • OpenMP — SIMD параллелизм
  • TBB (Threading Building Blocks) — high-level parallel algorithms
  • boost::asio io_context — event-driven architecture

Serialization:

  • Protocol Buffers (protobuf) — для gRPC и inter-service communication
  • JSON (nlohmann/json, RapidJSON)
  • MessagePack — для бинарной сериализации

Database:

  • PostgreSQL (основной)
  • Redis (caching, message queue)
  • RocksDB — embedded key-value store для high-throughput систем
  • ClickHouse — time-series аналитика

Testing:

  • Google Test (gtest) — unit тестирование
  • catch2 — modern testing framework
  • VCR.py — запись HTTP interactions
  • pytest — для Python интеграционных тестов

Monitoring & Observability:

  • Prometheus — метрики
  • Grafana — визуализация
  • Jaeger — distributed tracing
  • ELK Stack (Elasticsearch, Logstash, Kibana) — логирование
  • Datadog — APM

Инфраструктура

Контейнеризация:

  • Docker — основной способ упаковки
  • Docker Compose — локальная разработка

Оркестрация:

  • Kubernetes (K8s) — production orchestration
  • Helm — K8s package manager
  • Istio — service mesh

CI/CD:

  • GitLab CI — основной в текущей компании
  • GitHub Actions — для open source
  • Jenkins — legacy проекты

Cloud:

  • AWS (EC2, RDS, S3, Lambda)
  • Google Cloud Platform (Compute Engine, Cloud SQL)
  • Yandex.Cloud — для Russian projects

Message Queues:

  • RabbitMQ — traditional MQ
  • Kafka — event streaming
  • Redis Streams — lightweight alternative

Архитектурные паттерны

Микросервисы:

// Service registry pattern
struct ServiceRegistry {
    std::map<std::string, ServiceEndpoint> services;
    
    void register_service(const std::string& name, const ServiceEndpoint& ep) {
        services[name] = ep;
    }
};

Event-driven:

  • Kafka topics для inter-service communication
  • Event sourcing для аудита

API Gateway:

  • Kong для маршрутизации и authentication
  • Nginx для load balancing

Версионирование и контроль

  • Git — основной VCS
  • GitHub/GitLab — хостинг
  • Conventional Commits — для structured changelog
  • Semantic Versioning — для library releases

Development Tools

IDE:

  • CLion — основная IDE для C++
  • VS Code — для quick editing
  • Visual Studio — когда работал на Windows

Debuggers:

  • gdb — command line
  • lldb — LLVM debugger
  • Valgrind — memory profiling
  • perf — CPU profiling

Linting:

  • clang-tidy — static analysis
  • cpplint — Google style enforcement
  • cppcheck — code quality

Build systems:

  • CMake — основной
  • Bazel — для больших моноrepository
  • Conan — package manager для C++

Современный Production Stack (текущий)

Backend:

  • C++20 + CMake
  • gRPC + Protocol Buffers
  • PostgreSQL + RocksDB
  • Redis для кеширования

Infrastructure:

  • Docker + Kubernetes
  • Prometheus + Grafana для мониторинга
  • Jaeger для трейсинга
  • GitLab CI для deployment

Communication:

  • Kafka для event streaming
  • RabbitMQ для task queues

Что я ищу в новой роли

  • Возможность работать с C++20+ features
  • Exposure к distributed systems (consensus, replication)
  • High-frequency, low-latency системам
  • Modern cloud infrastructure (K8s, cloud-native)
  • Возможно Rust для новых проектов

Общий вывод: моя stack knowledge глубокий в areas where it matters (backend systems, databases, infrastructure), и я активно следу за современными трендами (K8s, observability, event-driven).