Виталий Слободин

Виталий Слободин

Темы
Неделя
Feb 24, 2020 → Feb 27, 2020

Архив недели @vitalliumm

Понедельник


Всем привет! Эту неделю с вами будет @Vitalliumm. Я занимаюсь фронтендом в @gitlab, вношу вклад в OSS (это я закрыл @PhantomJS). Я также участвовал в зарождении и развитии IT сообщества в Ростове-на-Дону до некоторого времени.

Вторник


Повбрасываем? :) Один лайк - один факт о жизни фронтенд-разработчика в GitLab :)
Фронт в GitLab. Для начала, есть шикарный тред "Один лайк - один факт о жизни фронтенд-разработчика в GitLab" от @xanf_ua - twitter.com/xanf_ua/status… Threadreader тут - threadreaderapp.com/thread/1194852…

Как попасть в 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), были разблокированы и не задавали уточняющих вопросов, иначе решение может затянуться.

Немаловажный вопрос, а что с зарплатой в GitLab? В виду того, что большинство процессов компании открыты, то и диапазон зарплат тоже - Калькулятор зарплаты - about.gitlab.com/handbook/peopl… Насколько ему можно верить? Можно верить на все 100.

Еще закину небольшой FAQ по зарплате - about.gitlab.com/handbook/peopl…

Еще раз про процессы, кстати. Большая часть открыта, да, то есть любой желающий может зайти в issue tracker и посмотреть ход процесса принятия того или иного решения. Но, что же является закрытой информацией? У нас есть такой перечень - about.gitlab.com/handbook/commu…

Ушел я в коммуникацию неожиданно. Пусть этот тред теперь будет про нее!

У нас 3 основных инструмента для коммуникации: issues, slack и zoom. Документирование или фиксирование является хорошей практикой, чтобы ничего не потерять. Поэтому в Slack у нас включен retention в 90 дней на сообщения. Это сделано для того, чтобы все фиксировали вещи в issues.

Наши правила в Slack выглядят похоже на общепринятые: - за @channel и @here в канале можно получить бан :) (шутка)

- специальные префиксы для названия каналов, например, g для каналов команд (g_create) или f для больших фичей.

А еще есть настоятельная рекомендация избегать приватных групп и личных сообщений. Если последнее более-менее понятно, то почему первое есть в этом списке?

Ответ на это довольно прост. Лайк, если у вас в компании есть специальный чат (даже не в корпоративном мессенджере) для избранных, где нет менеджмента или людей, которых вы не хотите допускать в свой круг общения.

Самая большая сложность в Slack: а какие каналы мне нужны? У нас 1950 каналов 😯 Даже у меня иногда возникает ситуация, и почему я до сих пор не знал про этот канал!?! Что уж говорить про только что пришедших в компанию.

Но Slack это скучно. Поэтому просто один забавный факт: всего есть 3304 emoji согласно стандарту, у нас в Slack уже 2687 кастомных emoji.

Всего в GitLab есть 7 отделов (назовем их так, хотя это больше направления) разработки: - CI/CD - Defend - Dev - Enablement - Growth - Ops Section - Secure

Я нахожусь в отделе Growth, который занимается Growth Hacking'oм в контексте коммерческих предложений (лицензий).

Но лично я не занимаюсь Growth Hacking'ом, т.к. Growth как отдел или направление тоже делится на команды (направления): - Acquisition - Conversion - Expansion - Retention - Fulfillment - Telemetry

Growth направление сравнительно новое, оно было открыто в прошлом году 2019 и состоит почти из новых сотрудников, которые пришли в 2019.

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

На выбор мне дали 3 или 4 команды. А спустя 10 секунд молчания, мой интервьювер добавил, а еще есть один legacy проект у нас, которому надо провести полный апгрейд. Делать из говна конфетку я умею, поэтому согласился на последний вариант 😅

Поэтому с июня 2019 я нахожусь в команде Fulfillment. Наша команда занимается всем, что связано с биллингом - about.gitlab.com/handbook/engin…

И мы касаемся самого GL.com ну очень редко. У нас есть собственные приложения, которыми мы занимаемся.

Из последнего, где мы трогали GL.com была табличка с планами в профиле у вас на странице Billing - gitlab.com/profile/billin…

Все митинги у нас проходят в Zoom. Клевый инструмент, у которого есть кмк крутая фича это отображение всех митингов при помощи интеграции с гугл календарем.

Какие у нас легаси приложения? Это два приложения на 4 рельсах с jQuery.

Но вернемся к коммуникациям. Самые жаркие споры у нас не в ревью, а в RFC (gitlab.com/gitlab-org/fro…) Это issues глобального характера, когда нам нужно принять серьезное решение.

Из-за очень резкого роста разработчиков количество мнений и вопросов выросло на аналогичное число: - почему мы не пишем стили во Vue компонентах? - почему мы используем подход utility-first? - где typescript? - e2e тесты на rspec? Я ж руби не знаю, я фронтендер! - yarn vs npm

И фронтендерам больно от того, что нужно научиться понимать и работать с рельсами.

Но и простор огромный для творчества. Фронтенд переживает второе рождение, поэтому всегда можно найти чем заняться, если руки чешутся. Например, один из новых менеджеров решил заняться актуализацией документации по тестированию Vue.

Из-за большого количества разработчиков выросло и количество митингов. И часто возникает ситуация, когда у тебя уже 7-8 часов вечера и рабочий день закончился, а сейчас будет митинг, который ну очень хочется послушать.

Эта проблема решается наличием агенды по митингу и записью видео. Все записанные митинги обычно доступны на ютубе и заливаются на гугл диск. Таким образом, всегда можно посмотреть нужный митинг после.

Какая есть проблема у митингов? Самая большая проблема у Гугл календаря - это права доступа. Любой может добавить или удалить событие в календаре. Это сильно бесит, когда люди берут и удаляют событие в общем календаре, думая что они удаляют его только у себя.

🔥Тред (@vitalliumm)
В общем, пока кто-то занимается доками, мы по локоть в легаси. Переводим приложение на 5-6 рельсы, удаляем jQuery, добавляем Vue.

Из плюсов работы в Fulfillment это отвязка (в какой-то степени) от цикла релизов продукта. Спринты такие же как и у основного продукта, но мы релизим постоянно, CD, ага. А облачная версия GitLab выкатывается два раза в неделю.

🔥Тред (@vitalliumm)
Некоторые результаты опросов показывают рост интереса к удаленной работе (офисам) в компаниях. Поэтому давайте немного затронем эту тему. Но сначала, проведем маленький опрос на тему режима работы.
🤔 51.3% Я работаю в офисе
🤔 18.1% Есть день из дома
🤔 28.0% Удаленная
🤔 2.6% Digital nomad

Среда


Некоторые результаты опросов показывают рост интереса к удаленной работе (офисам) в компаниях. Поэтому давайте немного затронем эту тему. Но сначала, проведем маленький опрос на тему режима работы.
Довольно ожидаемые результата, кроме пункта "День из дома". Я такое встречал не так часто, как оказалось. Но перейдем к удаленке. twitter.com/jsunderhood/st…

Плюсы удаленки, я думаю, известны всем. Поэтому давайте зайдем с другой стороны. Какой, на ваш взгляд, самый главный минус или главное неудобство в удаленной работе?

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

Порекомендую хороший сборник по удаленке - remotework2020.remote.tools

@jsunderhood Сложно четко разделить где заканчивается рабочий день и начинается отдых
Когда я первый раз работал удаленно как .NET, то у меня был лайфхак, я одевался в офисную одежду, когда садился работать. Закончил работу? Снял джинсы! twitter.com/AYPOH/status/1…

@jsunderhood Лютая прокрастинация. Единственный способ который я для себя нашёл-снять офис, хоть как-то систематизирует, но всё равно сложно собраться.
Работать в коворкинге или офисе это хороший способ избавиться от ряда проблем: социализация, прокастинация, "есть чо покушоть?!". twitter.com/ssmoiseev/stat…

К вопросу о социализации. Мне кажется, что можно привести в качестве примера - стриминг своей работы. Естественно, не каждый может это делать: NDA, работу нельзя показывать на публику. Но если бы можно было стримить, делали вы бы это?
🤔 39.5% Да
🤔 60.5% Нет

Я знаю, что Илья Климов (@xanf_ua) делает это - шоу "Скучный вторник". Я бы тоже хотел, но мне, как раз, нельзя :(

Считается! Это ж тоже своего рода рубильник. twitter.com/fritzlolpro/st…

@jsunderhood Work / Life balance. Очень многие зарабатываются. Мы решаем ботом (еще бы, чем же еще!) wemake.services/meta/rsdp/work… Часовые пояса с >= +-5 часов уже больно. И комиссия за денежные переводы неприятная в другие страны, много денег теряется впустую.
Автоматизация. Это хорошо. А есть подробности того, как он работает? То есть, как он понимает, что человек много работает? Сумма затраченного времени в тикетах? twitter.com/elixir_lang_mo…

Четверг


Сообщество. IT сообщество. Это одна из моих любимых тем, на которую я могу долго говорить и поджигать.

Зачем нужно IT сообщество? Когда мы начинали, то хотели только одного - вытащить всех куда-нибудь, где можно пообщаться вне сети. Уже потом, появились и другие цели.

Субаристы катают по городу ночью. Ролевики бегают по лесу. Почему же IT не может делать так же?

В 2019 я и несколько коллег на TechTrain представляли южные IT сообщества. Самым удивительным, но ожидаемым, был факт, что люди не знают тусовок вне центральных городов.

Москва, Санкт-Петербург, Екатеринбург (DUMP) и Новосибириск (CodeFest, Highload) - эти города и движухи в них на слуху из-за того, что там проводятся большие конференции.

А ведь во многих регионах есть не менее крутые сообщества: Краснодар (@krddevdays), Тверь (@_tverio), Ярославль.

Новосибирск! Простите, опечатался.

Этот митап стал точкой развития сообщества в Ростове-на-Дону. И за все время: - в сообществе (соц. сетях) больше 4000 человек; - проведено больше 300 мероприятий, среди них 3 конференции; - и организаторы не планируют останавливаться.

Наступающая весна богата аж 3 конференциями: 28 марта - International Women’s Day RnD 2020 под эгидой @WomenTechmakers (iwd.gdgrnd.ru)

🔥Тред (@vitalliumm)
И после нескольких проведенных мероприятий стало понятно, что кроме цели вытаскивания людей в офлайн, появились и другие.

Первая цель - показать людям, что есть жизнь на Марсе. Показать, что IT компаний, специалистов с экспертизой в тех или иных вопросах у нас много. И можно спрашивать советы у них.

Вторая цель - стагнация рынка. Мы хотели разворошить это осиное гнездо.

Третья цель - показать другим, что в Ростове есть IT.

🔥Тред (@vitalliumm)
Пока я готовлю более подробное описание целей и их результаты, давайте ответим на главный вопрос, а нужно ли это все? Все эти митапы, сходки, локальные чаты. Если да, то в реплае укажите, что оно дает лично вам.
🤔 82.0% Сообщества нужны
🤔 18.0% Не нужны

Для меня такие сходки это отдушина и обмен опытом. А на одном из мипатов я познакомился со своей женой.

Ссылки