Full-stack разработчик
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Требуется Haskell-программист для развития и поддержки CRM-системы как full-stack разработчик.
Backend системы реализован на Haskell (Snap, некоторые микросервисы реализованы на Servant), PostgreSQL. Frontend частично переписан на PureScript (с использованием purescript-react для UI, FFI-биндингов к React.js), прочая часть реализована на CoffeScript и Knockout.js, для UI также используется Twitter Bootstrap 3.
Задачи
- Развитие и рефакторинг системы, к примеру постепенное переписывание legacy frontend-а с CoffeeScript + Knockout.js на PureScript, проектирование более типо-безопасных запросов к БД для backend-а (см. DSL);
- Сепарирование комплексных частей на более мелкие, простые и атомарные, к примеру выделение некоей подсистемы в микросервис;
- Писать/читать комментарии/документацию к коду на английском языке;
- Проектировать/реализовывать свой код так, чтобы по возможности избежать ошибок человеческого фактора в настоящем и будущем;
- Реализовывать новые бизнес-требования внутри системы;
- Устранение возникающих багов в системе.
Требуемые навыки
- Haskell, если не знакомы с данным языком, рассматриваем кандидатов со знанием Scala, мы готовы обучать
- PureScript – желательно, по большей части это диалект Haskell с некоторыми отличиями, для освоения достаточно изучить документ с перечислением базовых отличий;
- Понимание JavaScript для работы с legacy кодом;
- Базовые значения технического английского языка;
- GNU/Linux, Docker;
- PostgreSQL;
- Git.
Условия работы:
- Заработная плата обсуждается с успешным кандидатом.
- Оформление полностью в соответствии с ТК РФ, белая заработная плата;
- Гибкий график – 40 часов в неделю, есть возможность удаленной работы.