Fullstack Developer at Neolab-Nsk

О нас:
Neolab-Nsk - RnD подразделение компании Neolab, созданное в Академгородке для работы над новыми проектами, освоения рынков и развития бизнеса путем проработки новых бизнес-моделей.
В основном, мы занимаемся разработкой in-house проектов.
Мы любим современные инструменты разработки, а также создаем свои. Основной язык разработки TypeScript - мы используем его и на бэкенде (NodeJS), и на фронтенде, но в целом выбираем самый подходящий инструмент под задачу, поэтому у нас можно встретить код на самых разных языках (C++, Clojure, Python, C#).
Кого мы ищем:
Талантливого и инициативного fullstack разработчика, которому предстоит заниматься разработкой сервисов и веб-приложений.
Мы считаем себя прогрессивным коллективом разработчиков, и у нас можно на практике применить различные технологии. Вот список тем, знания из которых мы использовали в своих проектах на практике:
- Распределенные системы. Например, CAP теорема, типичные сбои и способы их избежать, алгоритмы консенсуса, понятие идемпотентности операции. Distributed lock и системы с leader election;
- CQRS и Event Sourcing;
- IDL и связанные с ними протоколы сериализации (например, gRPC или ZeroC Ice);
- Тестирование кода. У себя мы используем jest;
- Функциональное программирование, pure functions, referential transparency, сайд-эффекты;
- FRP. В частности, мы используем RxJS;
- Различные DX инструменты: Chrome DevTools, Redux DevTools, React DevTools;
- Бандлеры кода для фронтенда, в частности, webpack, rollup и parcel;
- Техники асинхронного программирования, в частности, у нас активно используются coroutines и, конечно, promises.
- Современные подходы к data flow в веб приложении, в частности, flux, redux, redux-saga, mobx. Но заметим, что redux-saga мы используем и на бэкенде тоже;
- Большая часть фронтенда использует React, например, нам были бы интересны знания о refs, render props, новом lifecycle, suspense, error boundary, но это, естественно, не полный список.
- Современные стандарты в web API: fetch, documentQuerySelector, History API, WebWorker, ServiceWorker. Cross-window communication;
- Понимание, как работают, и как разрабатывать расширения для браузера;
- Современный CSS. Flexbox, CSS Grid. Препроцессоры и постпроцессоры. CSS-in-JS;
- React UI библиотеки: material-UI, blueprint;
- ES2018 и другие современные стандарты JS, Babel, и что такое stage-0,1,2,3, и что ждёт нас в будущем ES;
- git и другие системы контроля версий.
- Понимание различных workflow для разработки софта, и как не сойти с ума и эффективно двигаться вперёд.
- Мы используем Docker образы почти для всех наших сервисов. Приложения развертываем в kubernetes кластере.
- Инструментирование наших сервисов метриками. Каким образом понимать, что сервис работает, работает корректно и сколько нагрузки сможет ещё выдержать.
Этот список, естественно, не полный. Если тебе интересна и/или знакома часть этого списка, то обязательно отзовись - нам точно будет, о чем с тобой поговорить. Мы ищем fullstack, но если ты больше предпочитаешь frontend или backend, и наши технологии тебе знакомы, то смело откликайся.
Что мы предлагаем:
- Молодой, умный и весёлый коллектив;
- Интересные и сложные задачи в которых можно много чему научиться или применить уже имеющиеся знания.
- Возможность участвовать в архитектуре разрабатываемых продуктов - мы принимаем решения о том, как делать (и иногда даже о том, что делать) коллегиально командой.
- Гибкость в определении зарплаты;
- Работа в стратегически важном для компании направлении;
- Уютный офис и различные «плюшки»;
- Гибкий график: возможность иногда работать удалённо и персонализированный подход к распределению рабочих часов в сутках;
- Удобное месторасположение в Академгородке.