Техлидошная | Golang Infra Dev | Project Leading – Telegram
Техлидошная | Golang Infra Dev | Project Leading
547 subscribers
25 photos
1 file
159 links
Про платформенную (инфраструктурную) разработку, golang, техлидерство проектов, профессиональному росту и всему остальному, что связано с IT.
Автор: Антон Губарев (https://antgubarev.tech/ru/) @antgubarev. Инеженер Авито PaaS, архитектор и техлид
Download Telegram
Недавно обещал рассказать про свой незавершенный стартап. Как я примерно полгода пилил код. В конце расскажу какой профит я все же получил, и стоит ли оно того. Так же расскажу про ошибки, которые не стоит повторять.
https://www.youtube.com/watch?v=VII8099ekZo&t
Forwarded from Хабр
Лучшие практики bash-скриптов: краткое руководство по надёжным и производительным скриптам bash.

В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространёнными ошибками, которые заставали его врасплох: http://amp.gs/FAis
https://habr.com/ru/company/lingualeo/blog/515530/ Интересный опыт. А интересен он в первую очередь даже не техническими решениями, а то как они принимаются и продвигаются. Это самое сложное в таких историях.
Убедить всех, что твое предложение принесет прибыль, а не убытки, это немалое количество затрат времени, сил и мыслетоплива. И главное готовность взять на себя ответственность, если что-то пойдет не так.
Я столкнулся с похожей проблемой когда пришел в Skyeng. Но мне было проще в том плане, что команду я собирал изначально с нуля (ее не существовало до меня) и не пришлось расставаться со старыми людьми. Мы выпиливались из очень старого монолита и не все прошло гладко (как это часто и бывает), но в итоге профит получили огромный. Мы работаем с сервисами, а не с монолитом. Команда затаскивает новые фичи довольно быстро и главное безболезненно как для себя так и для бизнеса. Выше в канале есть записи моих выступлений как именно это было сделано, но там скорее техническая сторона.
К чему я это все. К тому что автор статьи поступил абсолютно правильно, что не стал дальше работать с тем, что есть, а рискнул и выиграл. Сейчас во многих компаниях много подобного легаси, и много лидов и разработчиков, которые бояться или не хотят что-то менять. Причин может к этому может быть много. Но совершенно точно, что изменения нужны как бизнесу так и команде. Самое главное - реализовать процесс без ущерба для обеих сторон.
Сегодня был мой последний день в Skyeng. Это был очень увлекательный и интересный год с самой крутой командой, которой мне доводилось видеть. Огромное спасибо всем моим теперь уже бывшим коллегам. Впервые в жизни (и внезапно для себя) было настолько сложно принимать решение об уходе. Но жизнь на месте не стоит и пора двигаться дальше. Все же тимлид в skyeng это 95% менеджер, а я всегда был ближе к разработке. Завтра у меня первый рабочий день в компании ВсеИнструменты, и я уже в ожидании новых сложных, а значит интересных задач.
Что удалось сделать за прошедший год и один месяц:
1. Собрать крутейшую команду разработки. Уходя, я точно уверен что пока ищут нового тимлида, команда самостотельно справиться с задачами.
2. Причинить себе огромный управленческий опыт, в условиях очень крупного продукта (300+ репозиториев) и широкого штата IT (более 40 отдельных команд разработки).
3. Многому научиться у других тимлидов и разработчиков
В целом могу сказать что работа в Skyeng это вызов. Челендж, пройдя который, уже никогда его не забудешь.
Вот это действительно полезная вещь. Нечто подобное обязана иметь каждая компания
Я проработал тимлидом примерно 6 последних лет. В каждой компании и на каждом проекте эта должность понимается по-разному и сильно зависит как от особенностей самого проекта, так и от людей, которые его делают.
Я видел не раз как разработчики становились тимлидами и в скором времени уходили обратно в разработку. Это и не хорошо и не плохо, так как каждый сам для себя выбирает наиболее предпочительный путь. Самое важное и сложное в этом вопросе это как раз сделать тот самый правильный выбор.
На следующй неделе состоится митап https://www.youtube.com/watch?v=8I1PXAx1Uhg, на котором несколько бывшим тимлидов расскажут про свой путь «туда и обратно». Среди них в том числе и мой бывший коллега Олег Скляров, который после тимлидства оказался в нашей команде.
Послушать эти доклады будет очень полезно тем, кто сейчас думает о том, что устал лидить, или наоборот только еще планирует развиваться в эту сторону.
Наткнулся на сочинение, опубликованное Dmitriy Kiriyenko в группе #Безумный_Шляпник на Facebook. Прекрасный стеб над аджайл миром и теми, кто им управляет.
— Почему вы хотите работать палубным матросом именно на "Мести рекрутера Веры"?
Я вытянулся в струнку и заученно (в каждом порту работодатель обязательно задаёт этот вопрос) ответил:
— У вас прекрасная команда и корабль собран по последнему слову техники, это возможность получить полезный опыт и навыки, и я хочу быть частью вашей миссии своевременной доставки пассажиров по всему миру.
— Кем вы видите себя через пять лет?
"Кормом для рыб", хотелось ответить мне на второй набивший оскомину вопрос, но, увы, пришлось сказать, что я прежде всего хочу стать очень профессиональным палубным матросом, и уже потом смотреть, куда приведёт меня карьера — может, вперёдсмотрящим, а, может, и боцманом.
— Что ж, кажется, мы можем взять вас с испытательным сроком в качестве фулл-стек разработчика.
— Кого? — переспросил непонятное слово я.
— Палубного матроса. Вы же на эту должность обращались? Что за странная потеря слуха?
— Извините, послышалось что-то другое.

***
Корабль был... монументален. Борт вздымался над причалом на три десятка человеческих ростов. Поднявшись на него, я увидел боцмана, который пробурчав что-то непонятное, кивнул на доску, закреплённую на одном из бортов, сказал:
— Я там кинул тебе в спринт пробные задачи, осваивайся. Если что-то непонятно, спрашивай.
"Спринт?"
Непонятного было много. Почему задачи написаны на доске, а не выкрикиваются боцманом, почему на такой огромный корабль только одна мачта, почему я продолжаю слышать какие-то непонятные слова...

***
Постепенно я разбирался. Научился самостоятельно отмечать на доске, что я взялся делать задачу. Понял, что это не корабль, а целая система кораблей, закреплённых концами в одно целое, несущих часть парусов на себе. Это, кстати, было очень странно поначалу, но я научился быстро и непринуждённо прыгать с борта на борт, выполняя разные задачи, менять схему соединения вспомогательных корабликов, а однажды вообще собрав из досок нечто неприглядное, спустил его на воду, сделал на нём высокую мачту и оборудовал там пост вперёдсмотрящего, и тот гордо перешёл с мачты главного корабля туда.

— А как мы будем держаться в шторм? — спросил я у боцмана как-то. — Ведь кораблики будут стукаться друг об друга, если там гибкое соединение, а жёсткое соединение вообще сломается. Схема, когда каждый гребец сидит в своей вынесенной за борт капсуле тоже не кажется мня такой уж надёжной.
— Не трусь, матрос! Мы постоянно проводим нагрузочное тестирование, и результаты обнадёживают.
Я уже привык к тому, что постоянно слышу какие-то непонятные слова, и не стал переспрашивать, догадываясь, что услышу, что они время от времени заводят наш корабль в специальный водоём, где за деньги тысяча индусов бьют по воде палками, имитируя шторм.
— Как там твоя задача по замене тросиков на двойные с автоматической проверкой, что трос привязан к нужному кораблю? Мы тут в следующем порту берём на борт первую группу пассажиров, пора бы доделать.
— Работаем!
— Обнови оценку в Джире, пожалуйста.
Это непонятное слово я уже точно ассоциировал с доской, где боцман и капитан записывали задачи.

***
Это была катастрофа.
Пользователи (тьфу, сам заговариваться начал, пассажиры) изменили осадку кораблей, и те совсем не так держались на воде. К тому же прыгать с корабля на корабль, когда палуба постоянно уходит из-под ног, оказалось очень сложно, а это приходилось делать постоянно, потому что столовая была вынесена на отдельную лодку, то же самое с туалетом, библиотекой (без которой многие пассажиры не мыслили дальнейшее плавание), и много ещё чем. А пассажиров было много...
Ветер дул беспощадно, море разыгралось не на шутку, многие жёсткие соединения треснули, а тросы угрожали разорваться. Вперёдсмотрящий не всегда мог докричаться до рулевого. Впервые за всю карьеру мне было страшно. Вместе с остальными джуниорами я затыкал пробоины в трюме. Капсулы с гребцами постоянно смывало за борт, капитан с криком "перезапустить сайдкик" дёргал рычаг, выпускались новые капсулы, гребцы прямо из воды забирались в них и начинали грести дальше.
Раздался страшный треск и выворотив пару досок на главном корабле упала мачта. С непонятной руганью про "настройки ДНС в Кубернетес" капитан поставил несколько механиков на плечи друг другу и сказал что-то вроде "девопсы, прописывайте айпи вручную, пока не разобрались", убежал в трюм грести лично. Мы полезли натягивать импровизированный парус из своих тельняшек на эту импровизированную мачту. Механики, которых капитан почему-то назвал "девопсами", старательно держались друг за друга и удерживали парус.


***
— Матрос, можешь откатить свою фичу с прода? — услышал я голос капитана из трюма.
Ситуация не располагала переспрашивать, и надо было соображать.
— Исполняю, капитан!
К тому моменту рядом с девопсами уже был поставлен вертикально выломанный борт, парус перенатянули на него, а девопсы-механики разбежались чинить рулевые плоскости.
На этот бортик я и закрепил место для вперёдсмотрящего, и попрыгал с корабля на корабль, разыскивая место, куда я вынес его два спринта назад. Там его почему-то не оказалось, и пришлось лезть по вантам на первую попавшуюся мачту, в надежде увидеть его. К счастью, он был всего лишь за два корабля отсюда, и мне удалось докричаться. Кивнув, он полез на старое место самостоятельно.


***
Над головой был белый потолок, вокруг — белые стенки, я был привязан, а за стеной кто-то обсуждал меня.
— Курс азалептина даёт неплохие результаты, и он уже начинает видеть реальный мир, — незнакомый голос продожил, — но всё же забирать его отсюда еще нельзя.
— Но он очень нужен в проекте! У нас не хватает рук, можно ли как-то ускорить выздоровление? — а вот этот голос я знал. Это был боцман.
Еще один шаг в сторону решения проблемы тормозов докера на маке https://docs.docker.com/docker-for-mac/mutagen/ Опробовал на себе и действительно заметная разница. Правда пришлось рискнуть и поставить edge версию, но оно того стоило.
Довольно давно подписан на https://github.com/vitalets/github-trending-repos
Кто еще не сталкивался его суть в том, чтобы автоматически собирать самые движовые репозитории на гитхабе за прошедшую неделю и оповещать о них.
Принцип работы простой: подписываешься на ишью с интересующей технологией и получаешь нотификации.
За время подписки открыл несколько интересных для себя инструментов. Например такую крутой реверс прокси как https://github.com/fatedier/frp Стал интерес в рамках расковырять его кишки полскольку делал другой РП для очень узкой задачки.
Рекомендую эту подписку для тех кто постоянно в поиске новых интересных тулзов. Ну и просто помогает быть в курсе и иногда вспоминать что давно потерянный в мире кубернетесов deployer оказывается жив и релизиться время от времени.
Интересный факт, но идея про модульный монолит развивается дальше. Напомню историю. В прошлой команде мы пришли к решению делать полностью независимые и изолированные модули внутри одного приложения (https://www.youtube.com/watch?v=WlAE6hVbmi4). Наступили на разные грабли, но в итоге получили профит и достигли цели. Немного позже, почти случайно, я узнаю, что в компании ISpring пошли очень похожим путем (https://www.youtube.com/watch?v=gna4Ynz1YNI&t=465s) и тоже получили профит и достигли своих целей. И сейчас в ВсеИнструменты такой подход вновь выглядит подходящим и эффективным решением. Но в этот раз уже в условиях огромной кодовой базы (довольно старой), нескольких команд, работающих с этим кодом, и высоких нагрузок.

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

Заходите https://news.1rj.ru/str/arch_pain
Автор популярной библиотеки генерации фейковых данных заявил о завершении работы над ней [https://github.com/fzaninotto/Faker/pull/2063#issuecomment-717118799](https://github.com/fzaninotto/Faker/pull/2063#issuecomment-717118799) Репозиторий уже отправлен в архив.. Закрытие обосновано тем, что автор не считает себя человеком, который может выбрать правильный путь развития для своего продукта. При этом любой желающий может сделать форк и продолжить его работу.

Faker используется чаще всего в тестах. На него на сегодняшний день завязано достаточно много проектов разных размеров. В качестве наиболее известных можно привести в пример phpDocumentor или factory-muffin от PhpLeague. В том числе Faker присутствует и в Eloquent, где используется в фабриках для тестирования моделей, и наверняка множество проектов на laravel уже плотно завязались на него.

В любом случае стоит сказать автору спасибо за огромную работу, которую он делал в течении нескольких лет. Ну и конечно же первые форки не заставили себя долго ждать [https://github.com/FakerPHP/Faker](https://github.com/FakerPHP/Faker)
Если ваш проект не нуждается в кубере или нет достаточного ресурса для его поддержки, то единственной ближайшей альтернативой кажется docker swarm. На предыдущей работе именно его и использовали кстати говоря, да и на своих проектах тоже. Есть прекрасный набор плейбуков для работы со swarm https://github.com/atosatto/ansible-dockerswarm которым я пользовался, избавляет от кучи ручной работы.
Если знаете еще другие либы для упрощения работы со свормом - пишите в чат https://news.1rj.ru/str/arch_pain.
Forwarded from Пых (Валентин Удальцов)
Завтра в 11 по Москве в пыхэфире Нижний!

• 11:00 — MySQL vs Postgres (Антон Робуль)

• 12:00 — Полезные привычки для программистов (Олег Скляров, Skyeng)

• 13:00 — Очередной проект: взлетит или нет (Сергей Пантюшин, ВодоходЪ)

Также в процессе стрима можно будет принять участие в квизе и выиграть билеты на PHP Russia, пхп-слонов и не только.

https://youtu.be/pe3b0DHVnq8
Forwarded from Sysadmin Tools 🇺🇦
Не оплаченный пост🖖

Решил сделать подборку своих каналов в телеграме, здесь штук 10 нет т.к. там не часто пишут посты или же с мемами каналы, но думаю с мемами вы и так найдёте.

Спасибо авторам и людям, которые их ведут и обновляют❤️

@tech_b0lt_Genona
@alexmakus
@catops
@devopslibrary
@flant_ru
@linuxgram
@opensource_findings
@hacker_news_feed
@oleg_log
@oleg_fov
@generictalks
@overtimehate
@nosingularity
@cybershit
@bykvaadm
@sqaunderhood
@evilmartians
@sudo_rmrf
@bortlog
@qaload
@lovely_it_hell
@badoo_tech
@buhtig
@opennet_ru
@razborfeed
@automation_remarks
@experimentalchill
@itgram_channel
@manandthemachine
@good_bad_reviewer
@sec_devops
@tmfeed
@your_tech
@newpodcast2
@SysadminNotes