Как устроена работа программистов в компании CSSSR

Читать в полной версии →

Подробно рассказываем, как устроена работа программистов в компании CSSSR, как наращивать экспертизу во фронтенд- и бэкенд-разработке, тестировании, DevOps и аналитике, и с какими проектами сталкиваются разработчики.

Как устроена работа в 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 не ограничиваемся только работой и делаем много других классных проектов.

Как мы нанимаем

У нас многоступенчатая система найма, и да, мы весьма щепетильны в выборе. Мы тщательно оцениваем не только хард, но и софт-скиллы кандидата, предыдущий опыт и готовность адаптироваться под наши рабочие процессы, рассказываем об открытых позициях и всегда даем обратную связь.

Читайте также: Это снова я, резиновая уточка: что такое метод Фейнмана и почему с его помощью так просто изучать программирование

Как устроен процесс трудоустройства в CSSSR:

В целом, у нас нет строгого регламента проведения технического интервью. Мы скорее придерживаемся нескольких важных принципов:

  1. Помочь человеку дойти до ответа. Это позволяет понять, что перед нами в действительности — волнение или отсутствие знаний.
  2. Найти границы компетенций кандидата. Мы стараемся давать темы разной сложности (бывает, что мидлу задаем вопросы и на джуна, и на сеньора), чтобы понять, где человек себя чувствует максимально уверенно, а в каких темах начинает «плавать».
  3. Дать полезный фидбэк по итогам интервью с уточнениями, в чем кандидат хорош, а что стоит прокачать. И рассказываем, как лучше это сделать. Обратную связь мы даем независимо от успешности собеседования. Больше о том, как проходит техническое интервью в CSSSR, вы можете узнать в этом видео.

Все наши открытые вакансии можно найти здесь. Присоединяйтесь!

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях