Как попасть в GitLab? Очень просто - подать резюме и пройти собеседование :)
Процесс описан тут about.gitlab.com/handbook/hirin…
По моим наблюдениям, кандидаты из России жалуются на отказы еще на этапе подачи резюме. И на это есть причина. - лимит по сотрудникам в стране. Он равен 5.
Эту цифру можно увидеть вот тут about.gitlab.com/jobs/hiring-st…
Самое уникальное во всем процессе это Behavioral interview. Интервью на софт-скилы и соответствие CREDIT. CREDIT - это 6 основных принципов GitLab (about.gitlab.com/handbook/value…) Во время этого интервью задают вопросы типа:
- вам нужно провести ревью очень плохого кода, ваши действия?
- вам провели ревью кода и написали сильно эмоциональное сообщение (что-то вроде "этот код, говно"), ваши действия?
- вам коллега стал часто косячить и является источником проблем в команде, ваши действия?
- и так далее.
И эти принципы являются основополагающими при работе в GitLab. Навык коммуникации является очень важным. Важнее навыка писать код. Код написать может любой, а вот, например, защитить его во время ревью уже другая и более сложная задача.
Программист пишет код часа 3-4 из 8 рабочих, если брать самое распространенное мнение. В GitLab это время сокращается до 1-2 часов (если даже не меньше), остальное время - коммуникация.
И коммуникация асинхронная. То есть, надо уметь задать вопрос или написать ответ таким образом, чтобы участники, которые находятся в другом часовом поясе (например, я по GMT+3, они по GMT-8), были разблокированы и не задавали уточняющих вопросов, иначе решение может затянуться.
Ушел я в коммуникацию неожиданно. Пусть этот тред теперь будет про нее!
У нас 3 основных инструмента для коммуникации: issues, slack и zoom. Документирование или фиксирование является хорошей практикой, чтобы ничего не потерять. Поэтому в Slack у нас включен retention в 90 дней на сообщения. Это сделано для того, чтобы все фиксировали вещи в issues.
Наши правила в Slack выглядят похоже на общепринятые:
- за @channel и @here в канале можно получить бан :) (шутка)
- специальные префиксы для названия каналов, например, g для каналов команд (g_create) или f для больших фичей.
А еще есть настоятельная рекомендация избегать приватных групп и личных сообщений. Если последнее более-менее понятно, то почему первое есть в этом списке?
Ответ на это довольно прост. Лайк, если у вас в компании есть специальный чат (даже не в корпоративном мессенджере) для избранных, где нет менеджмента или людей, которых вы не хотите допускать в свой круг общения.
Самая большая сложность в Slack: а какие каналы мне нужны? У нас 1950 каналов 😯 Даже у меня иногда возникает ситуация, и почему я до сих пор не знал про этот канал!?! Что уж говорить про только что пришедших в компанию.
Но Slack это скучно. Поэтому просто один забавный факт: всего есть 3304 emoji согласно стандарту, у нас в Slack уже 2687 кастомных emoji.
Все митинги у нас проходят в Zoom. Клевый инструмент, у которого есть кмк крутая фича это отображение всех митингов при помощи интеграции с гугл календарем.
Но вернемся к коммуникациям. Самые жаркие споры у нас не в ревью, а в RFC (gitlab.com/gitlab-org/fro…) Это issues глобального характера, когда нам нужно принять серьезное решение.
Из-за очень резкого роста разработчиков количество мнений и вопросов выросло на аналогичное число:
- почему мы не пишем стили во Vue компонентах?
- почему мы используем подход utility-first?
- где typescript?
- e2e тесты на rspec? Я ж руби не знаю, я фронтендер!
- yarn vs npm
Из-за большого количества разработчиков выросло и количество митингов. И часто возникает ситуация, когда у тебя уже 7-8 часов вечера и рабочий день закончился, а сейчас будет митинг, который ну очень хочется послушать.
Эта проблема решается наличием агенды по митингу и записью видео. Все записанные митинги обычно доступны на ютубе и заливаются на гугл диск. Таким образом, всегда можно посмотреть нужный митинг после.
Какая есть проблема у митингов? Самая большая проблема у Гугл календаря - это права доступа. Любой может добавить или удалить событие в календаре. Это сильно бесит, когда люди берут и удаляют событие в общем календаре, думая что они удаляют его только у себя.