Архив недели @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%
Не нужныДля меня такие сходки это отдушина и обмен опытом. А на одном из мипатов я познакомился со своей женой.