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

С чем хочешь поработать

2.2 Middle🔥 161 комментариев
#Основы Java

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

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

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

С чем я хочу поработать дальше: мои приоритеты

Этот вопрос важен, потому что он показывает мою зрелость как разработчика и понимание того, в каком направлении развиваться. Расскажу честно, без корпоративных фраз.

Технологии и системы

1. Высоконагруженные системы масштаба Google/Amazon

Я хочу работать над проблемами, которые решают на уровне 100M+ RPS:

  • Как сделать систему которая обслуживает миллиарды запросов?
  • Как справиться с consistency vs availability трейдоффами?
  • Как оптимизировать latency до микросекунд?
  • Как шардировать БД когда трафик невыносим?

Это заставляет думать по-другому. В моем текущем опыте я работал с нагрузками до 50k-100k RPS, но я хочу пойти дальше.

2. Реактивное программирование и асинхронность

Я углубился в Project Reactor и RxJava, но я хочу работать над системами, которые критически зависят от асинхронности:

  • Message-driven системы (Kafka, RabbitMQ на steroids)
  • Event streaming архитектура
  • Real-time analytics и stream processing
  • Функциональное программирование в Kotlin

Это требует совершенно другого мышления, чем традиционный imperative код.

3. Микросервисная архитектура и распределённые системы

Не просто микросервисы, но правильные микросервисы:

  • Service mesh (Istio)
  • Distributed tracing (что происходит когда запрос проходит через 50 сервисов?)
  • Eventual consistency и saga паттерны
  • Chaos engineering - как сделать систему надёжной?

Это требует глубокого понимания CAP theorem, ACID vs BASE, distributed transactions.

Области, которые меня привлекают

1. Cloud-Native приложения

Я хочу работать на Kubernetes-native стеке:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 10
  template:
    spec:
      containers:
      - name: java-app
        image: my-registry/java-app:latest
        resources:
          requests:
            memory: "512Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "500m"
        livenessProbe:
          httpGet:
            path: /health/live
            port: 8080

Но не просто деплоить, а понимать:

  • Как работает scheduler
  • Как оптимизировать resource requests
  • Как сделать graceful shutdown
  • Как настроить auto-scaling правильно

2. Machine Learning интеграции

Я хочу работать над системами, которые интегрируют ML модели в production:

  • Как обслуживать ML модели (MLflow, Seldon Core)
  • Как сделать inference fast и reliable
  • Как мониторить ML модели (data drift, model drift)
  • Как обновлять модели без downtime
  • Как A/B тестировать новые модели

Это новая frontier для backend разработчиков.

Роль и ответственность

1. Technical Leadership

Я готов к роли, где я не просто пишу код, но:

  • Архитектор: принимаю решения о дизайне системы
  • Mentor: помогаю расти другим разработчикам
  • Advisor: консультирую на technical decisions
  • Speaker: делюсь знаниями на конференциях

Основной интерес - не мениджмент, а technical influence.

2. Ownership

Я хочу работать в среде, где:

  • Я owns сервис end-to-end (разработка, деплой, мониторинг, on-call)
  • Я могу принимать решения о стеке и архитектуре
  • Я несу ответственность за quality и performance

Это не "я пишу код, потом передаю", а "я отвечаю за весь сервис".

Типы компаний, которые привлекают

1. Infrastructure/Platform companies

Компании, которые сами строят инфраструктуру:

  • AWS, Google Cloud, Azure
  • Databricks (Apache Spark)
  • Cloudflare (CDN, edge computing)
  • Stripe (payment infrastructure)

Почему? Потому что там встречаются самые сложные проблемы.

2. High-frequency trading / FinTech

Системы, которые должны быть невероятно быстрыми и надёжными:

  • Лаги в наносекундах имеют значение
  • Надёжность критична
  • Оптимизация - это повседневность

Это заставляет писать код на совершенно другом уровне.

3. Real-time data processing

Компании вроде:

  • Netflix (масштабирование в реальном времени)
  • Uber (real-time mapping)
  • Twitch (live streaming)

Где система должна обрабатывать данные в реальном времени.

Что меня может отпугнуть

1. Legacy стек

Если компания использует:

  • Java 8 в 2026 году (новые версии добавили множество фич)
  • JSP вместо API-first подхода
  • Monolith, который невозможно изменить

2. Отсутствие инженерной культуры

Если:

  • Code reviews - формальность
  • Тесты - не обязательны
  • Technical debt не признают проблемой
  • На качество давления, но на сроки ещё больше

3. Отсутствие обучения

Если компания не инвестирует в:

  • Конференции
  • Курсы
  • Внутренние knowledge sharing
  • Экспериментирование

Конкретные технологические интересы

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

Хочу углубить:

  • Kotlin - современный, elegant язык на JVM
  • Rust - для high-performance систем
  • Go - для системного программирования

Хочу выучить:

  • Scala - для функционального программирования
  • Clojure - LISP на JVM, совсем другой способ думать

Фреймворки

Хочу поглубже:

  • Quarkus - облако-ориентированный фреймворк, холодный старт в миллисекундах
  • Vert.x - асинхронный, non-blocking фреймворк
  • Graal VM - компиляция в native executable

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

  • Service Mesh - Istio, Linkerd
  • API Gateway - Kong, Envoy
  • Observability - OpenTelemetry, не просто мониторинг
  • Secrets Management - Vault
  • GitOps - Flux, ArgoCD

Мой идеальный проект

Ожидаемый stack:

✓ Java 21+ с modern фичами (virtual threads, pattern matching)
✓ Spring Boot / Quarkus для REST API
✓ PostgreSQL + Redis
✓ Kafka для message streaming
✓ Kubernetes для оркестрации
✓ Prometheus + Grafana для мониторинга
✓ Playwright для E2E тестов
✓ JUnit 5 + Testcontainers для unit тестов
✓ GitHub Actions для CI/CD
✓ Distributed tracing (Jaeger)
✓ IaC (Terraform)

Дополнительно приветствуется:

  • GraphQL для API
  • Async/reactive processing
  • Machine learning интеграции
  • Real-time features

Заключение

Я ищу сложные проблемы, которые требуют глубокого инженерного мышления. Не просто написать CRUD, а подумать о том, как сделать систему которая масштабируется, надёжна, легко тестируется и поддерживается.

Технологии - это просто инструменты. На самом деле я ищу компанию, которая:

  1. Решает интересные проблемы
  2. Инвестирует в качество и инженерную культуру
  3. Даёт свободу принимать решения
  4. Позволяет расти и учиться
  5. Где я могу иметь impact и видеть результаты моей работы
С чем хочешь поработать | PrepBro