Подробно рассказываем, как устроена работа программистов в компании CSSSR, как наращивать экспертизу во фронтенд- и бэкенд-разработке, тестировании, DevOps и аналитике, и с какими проектами сталкиваются разработчики.
- Как устроена работа в CSSSR
- Проекты
- Технологии и процессы
- Команда
- Performance Review
- Помимо работы
- Как мы нанимаем
Как устроена работа в CSSSR
Удаленка
С момента основания компании мы работаем полностью удалённо: без офисов, необходимости «заряжаться» с утра перед работой энергией общественного транспорта, пробок, плохой погоды, дресс-кода и всего в этом духе. Но при этом мы прекрасно понимаем, что удаленка — не для всех, и нужно хорошо обдумать, сможете ли конкретно вы работать в таком формате постоянно.
В качестве «виртуального офиса» мы используем Slack. Там происходят основные коммуникации по рабочим вопросам, есть также много каналов по интересам: кино, игры, спорт и т.п. Есть свой внутренний аналог Stack Overflow, куда каждый может прийти со своей проблемой и получить помощь от коллег.
Проекты
Каждый из потенциальных проектов CSSSR проходит тщательную оценку. Для нас очень важно найти баланс: действительно ли наша экспертиза будет полезна заказчику, совпадаем ли мы по ожиданиями от проекта, принесёт ли его реализация новый опыт для команды, интересен ли проект для наших сотрудников.
Технологии и процессы
В связи с remote-спецификой мы стараемся максимально автоматизировать наши процессы и поддерживаем их прозрачность. У заказчика и его команды всегда есть полный доступ к тому, что происходит на проекте, мы вместе работаем над достижением наилучших результатов
Для управления процессами мы выбрали гибрид Scrum и Kanban с недельными спринтами, используем Jira. Под проекты мы обычно предоставляем следующую команду: от двух до пяти фронтенд-разработчиков (включая тимлида), QA-инженера и менеджера проекта. Команды полного цикла могут дополнительно включать в себя наших бэкенд-разработчиков, системных аналитиков, дизайнеров, DevOps-инженера. Для контроля качества мы обязательно применяем код-ревью, в котором участвует вся команда разработки. Каждый пулл-реквест должен быть одобрен как минимум дважды, и только после этого код попадает в стабильную ветку. На ревью мы уделяем особое внимание не только проверке бизнес-логики, но и читаемости кода, архитектуре, API, а также используем его (код-ревью) как инструмент обучения и распространения знаний о проекте.
Мы внимательно следим за новинками веб-разработки, не забываем про лучшие стандарты и используем все современные возможности библиотек и фреймворков. Чтобы быть уверенными в работоспособности кода на протяжении всего процесса разработки, внедрять новые фичи быстрее и упростить рефакторинг, мы пишем тесты: unit, integration, end-to-end. Базы данных выбираются в зависимости от потребностей проекта и особенностей задач: MongoDB (NoSQL) или PostgreSQL. В бэкенде используем Java или Kotlin, а Node.js применяем для Backend For Frontend. Умеем мы и во Vue.js, хотя и используем не так часто.
Команда
В основе культуры CSSSR лежит прежде всего здравый смысл. У нас нет места статусности, мы все общаемся на равных. Есть вопрос, и ты хочешь обсудить его с CTO? Пожалуйста. Есть предложение по улучшению процессов в компании? Его всегда можно вынести на всеобщее обсуждение. Периодически проходят опросы об удовлетворенности жизнью и работой, и у всех всегда есть прямая связь с CEO.
О новых проектах, успехах (или неудачах) и других важных событиях наши ребята узнают из ежемесячного новостного дайджеста, который мы выпускаем внутри компании.
Читайте также: Чему мидлы и сеньоры могут научиться на Хекслете: девять направлений
Performance Review
Мы сделали полностью открытой информацию о грейдах, требованиях по каждому из них и вилках заработной платы, на которые сотрудник может рассчитывать при заданных темпах профессионального роста. Мы постоянно мониторим рынок зарплат и повышаем их соответственно росту индустрии.
У нас разработана прозрачная система performance review (PR), которая позволяет сотрудникам прогнозировать рост как в профессиональном, так и в финансовом плане. Главная задача PR — определить индивидуальные цели, которые помогут расти.
По стандартной схеме PR сотрудника проходит раз в год, но всегда есть возможность провести его скорее. Команда в лице менеджера проекта, тимлида, старшего разработчика, выступающего, к примеру, в роли ментора, совместно с самим сотрудником формирует пул индивидуальных задач, которые направлены на закрытие следующих целей:
- устранить проблемы в рамках текущей позиции
- обозначить зоны роста в соответствии с грейдом
- выявить интересующие самого сотрудника направления профессионального развития и помочь ему синхронизировать их с требованиями компании к его будущему или текущему грейду.
По итогам performance review мы повышаем заработную плату, корректируем цели, можем поменять грейд и расширить зоны ответственности — например, можно взять на себя обязанности тимлида.
Несмотря на то, что прохождение PR является принятой практикой в компании, случаются ситуации, когда сотрудник не хочет проходить его, или приоритетами на этот момент являются другие цели и задачи. В таком случае ревью можно перенести, а оплату труда просто индексировать. Главное — руководствоваться здравым смыслом и делать эту процедуру максимально комфортной для всех.
Читайте также: Теория демо-версий: Как дедлайны делают разработчиков несчастными
Помимо работы
Мы в CSSSR не ограничиваемся только работой и делаем много других классных проектов.
- Внутри компании существуют «Познавательные четверги», когда любой сотрудник может выступить с докладом на абсолютно любую тематику и поделиться своим опытом и знаниями. Например, мы многое узнали про крафтовое пиво, кинологию и обжарку кофе.
- Новости 512 держат всех интересующихся в курсе последних событий в индустрии.
- В рамках CSSSR School можно попробовать себя в роли ментора или даже написать авторский учебный курс.
- Мы организовали выпуск подкастов о разработке, менеджерской работе, жизни на удаленке, а также о жизни коллег по индустрии;
- Ведем Callback Hell, где обсуждаем последние новости и веяния разработки.
- По мере сил участвуем в open source: Fundoc, PostCSS Easy Z, dsgen.
- Выезжаем на кэмпы.
- Регулярно играем в настолки, контру или LoL.
Как мы нанимаем
У нас многоступенчатая система найма, и да, мы весьма щепетильны в выборе. Мы тщательно оцениваем не только хард, но и софт-скиллы кандидата, предыдущий опыт и готовность адаптироваться под наши рабочие процессы, рассказываем об открытых позициях и всегда даем обратную связь.
Читайте также: Это снова я, резиновая уточка: что такое метод Фейнмана и почему с его помощью так просто изучать программирование
Как устроен процесс трудоустройства в CSSSR:
- Тестовое задание. Мы постарались сделать его максимально нетипичными и интересными, чтобы понять, как кандидат справляется с нестандартной постановкой условий, оценить логику принятия решений и увидеть, как может раскрыться разработчик в необычной ситуации. При этом занимают наши тестовые не более получаса.
- Обратная связь по тестовому и приглашение на HR-интервью. Если тестовое решено хорошо, мы приглашаем на первое интервью. Там мы проводим первичный скрининг кандидата, рассказываем про компанию, особенности нашей работы, удаленный формат, интересуемся предыдущим опытом, оцениваем софты и отвечаем на вопросы.
- Техническое интервью — проводим с целью определения грейда соискателя. У нас нет цели в ходе собеседования проставить все галочки в шаблонном чеклисте: мы хотим понять, как соискатель мыслит. Порой даже не так важно, работали ли вы раньше с той или иной технологией, нам важнее узнать, сможете ли вы порассуждать на тему и понять, как что работает, если мы дадим нужные вводные данные. Такой подход позволят разглядеть инженеров в широком смысле этого слова.
В целом, у нас нет строгого регламента проведения технического интервью. Мы скорее придерживаемся нескольких важных принципов:
- Помочь человеку дойти до ответа. Это позволяет понять, что перед нами в действительности — волнение или отсутствие знаний.
- Найти границы компетенций кандидата. Мы стараемся давать темы разной сложности (бывает, что мидлу задаем вопросы и на джуна, и на сеньора), чтобы понять, где человек себя чувствует максимально уверенно, а в каких темах начинает «плавать».
- Дать полезный фидбэк по итогам интервью с уточнениями, в чем кандидат хорош, а что стоит прокачать. И рассказываем, как лучше это сделать. Обратную связь мы даем независимо от успешности собеседования. Больше о том, как проходит техническое интервью в CSSSR, вы можете узнать в этом видео.
- Знакомство с потенциальным руководителем на проекте. Если случается match и уровень, показанный кандидатом на техническом интервью, совпадает с нашими критериями поиска, мы переходим к следующему интервью. В рамках него мы обычно обсуждаем рабочие процессы, используемые методологии, онбординг и то, насколько соискатель и потенциальная команда совпадают по софт-скиллам;
- Финальный созвон. Обсуждаем финансовые условия и последние аспекты будущего сотрудничества.
Все наши открытые вакансии можно найти здесь. Присоединяйтесь!
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях