November 16, 2023

Senior/Lead Java

Что вообще за компания?

Компания называется Gehtsoft USA LLC, зарегистрирована и имеет головной офис в штате Северная Каролина, в городе Райли. Компания работает с 2000 года, с 2008 года - в США.

Занимаемся мы в первую очередь заказной разработкой ПО, причем не “аутстафингом”, и даже не “аутсорсингом”, а ситуациями когда заказчик не знает ни что надо сделать, ни как это делать. Это даже более правильно было бы назвать “создание продуктов под ключ”.

Своих продуктов, впрочем, нету. Пока, наверное. Почему? Да наверное потому что, как обычно, “сапожник без сапог”.

За что будет отвечать человек?

  • Выбирать, защищать внутри компании и для заказчиков архитектуру для клиент-серверных приложений, с учетом паттернов дизайна облачных приложений и application resilience.
  • Объяснять и контролировать применение архитектуры командой
  • Объяснять и контролировать применение общих принципов разработки качественного ПО (SOLID, TDD, BDD)
  • Участвовать во всех этапах SDLC как участник команды
  • Управлять бюджетом разработки
  • Принимать участие в поиске, интеграции и развитии сотрудников

Целевые показатели на испытательный срок (3 месяца)

  • [За 1 месяц] Освоить и продемонстрировать полученным практическим результатом эмпирический метод управления.
  • [За 1 месяц] Предложить одно качественное улучшение в реализации проекта.
  • [За 1 месяц] Начать работать на проекте на уровне ответственности мид (по выбранному решению).
  • [За 2 месяца] Выбрать и защитить методы решения, управляя джунами и/или мидами - реализовать решение.
  • [За 2 месяца] Взять на себя ответственность и организовать как минимум одно улучшение соблюдения Definition of Done проекта.
  • [За 3 месяца] Предложить и реализовать как минимум одно улучшение технологии работы, которое приведет к улучшению по одной из EBM метрик процесса (time to market или ability to innovate).
  • [За 3 месяца] Работая с аналитиком освоить предметную область на уровне достаточно для принятия архитектурных решений и для обучения/консультирования новых сотрудников.
  • [За 3 месяца] Самостоятельно выполнять весь цикл работ по SDLC от участия в разработке требований до передачи в эксплуатацию на проекте.
  • [За 3 месяца] Подготовить (в идеале - провести) совместно с HR найм и начать интеграцию специалиста уровня мид или джун.

Знания и навыки

Общие технические знания:

  • Отличное понимание теории алгоритмов, объектно-ориентированного анализа и разработки, принципов SOLID, шаблонов проектирования (GoF, облачных приложений, business resilience).
  • Понимание принципов и практик построения тестовой пирамиды приложения в рамках BDD/TDD)
  • Понимание принципов быстрой разработки (TBD, высокая степень автоматизации, ежедневные слияния, релизы с частотой не реже 1 раза в неделю).

Пригодится и будет большим плюсом:

  • Понимание принципов базы данных как реляционных, так и noSQL (RDBMS, ACID).
  • Любая связанные с IT математика и инженерия: например теория графов, теория групп, AI во всех его проявления, теория операционных систем.
  • Понимание эмпирического подхода к разработке ПО (Scrum by the book, XP, DevOps by the book), чем он отличается от предсказательного подхода. NOTE: Тут мы не ставим “обязательное”, потому что основная масса кандидатов не знает и узнать негде. Но совершенно точно надо быть готовым к тому что у нас используется именно эмпирический подход и работать в нем придется. Да, мы научим. Но учиться придется, другого варианта не будет. И учиться быстро.
  • Плюсом будет хорошее понимание UX, эргономики и технической эстетики. Вообще full-stack тут будет просто находкой.
  • Знание принципов торговли на Stock, Forex, Crypto
  • Понимание как работают KYC системы
  • Понимание как работает интеграция с кредитным картами, ACH, Wire платежами.

Технологии:

  • Ну Java 8+ само собой
  • Spring
  • jUnit
  • Docker

Будет прям огромным плюсом:

  • JDBC, PL/SQL, pgSQL.
  • k8s/k3s
  • UMB

Будет плюсом:

  • Если в full-stack - то TypeScript, ReactJS, Vue
  • MongoDB
  • Redis
  • Kafka
  • ActiveMQ/RabbitMQ

Язык:

  • Русский: разговорный, достаточный для комфортной работы с командой
  • Английский: разговорный, достаточный для комфортного участия в митингах с заказчиком.