Андрей Журавлёв
717 subscribers
8 photos
1 video
131 links
Будни и мысли @Gen1us2k реклама не интересует. Рекламу не продаю и не покупаю. Пишу на смешанные топики в программировании и менеджменте
Download Telegram
Бабки, бабки.. ссука, бабки! (с) Духless

Разработчикам (да и не только им на самом деле) иногда не хватает либо бизнесового, либо экономического мышления. Это так называемый бизнес-смысл задачи. Зачастую, всё начинается с обычно коммуникации и поэтому для разрабов сначала чуть книжек по переговорам. Можно почитать:

Игорь Рызов — Переговоры с монстрами. Как договориться с сильными мира сего. Достаточно хорошая книга по переговорам, которая уйдет в дополнение к “Договориться можно обо всём”, но и ее прочитать было бы неплохо.

Chris Voss “Never split the difference”. Она уже была на канале, поэтому тоже стоит почитать.

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

«Бизнес с нуля. Метод Lean Startup для быстрого тестирования идей и выбора бизнес-модели», Эрик Рис. Эта книга была моей настольной, когда я во всю занимался разработкой Намба Такси с 12 по 15е годы. Там как раз много приёмов помогли мне при разработке и общении с таксистами.

«Rework. Бизнес без предрассудков», Джейсон Фрайд, Дэвид Ханссон. Эту книгу стоит почитать, чтобы просто понимать, куда стоит стремиться по процессам работы в современной компании. Ребята из 37 сигналов молодцы и достаточно много вещей привнесли в сообщество предпринимателей и разработчиков

«Цель. Процесс непрерывного совершенствования», Элияху Голдратт, Джеф Кокс. Эта книга в виде бизнесового романа, но не такая вредная, как “Дедлайн” Тома де-марко. В книге хорошо рассказывается про теорию ограничений и знаниями из этой книги можно тролить эффективных скрам мастеров и менеджеров, которые любят созваниваться по каждому поводу

Финансовая тема

Придется говорить про бюджеты и бюджетирование и тут лучше читать что-то по доменной области, но хорошие всегда будут:

Карл Маркс. Капитал. Да, она сложна, но в ней по-крайней мере всё актуально даже на сегодняшний день.

— Flash Boys, The Big short от Майкла Льюиса дадут чуть большее понимание по финансовым рынкам.

Хотя, для хорошей коммуникации достаточно понимать и уметь расчитывать ROI той или иной фичи, ну или хотя бы попадать в эстимейты.

На последок всегда хороша «Думай медленно, решай быстро», Дэниеля Канемана


@retired_on_fire, Андрей Минкин
403: Forbidden

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

Когда нет Code Of Conduct у организации и с меня требуют подготовить доклад или рассказать что-то на “общую тему”. Дело в том, что на общие темы я уже давно перестал говорить и даже если я готовлю доклад, то он должен быть интересен для меня, как для докладчика и полезен для аудитории конференции. Я против инфоциганства и адаптации под уровень аудитории и чаще всего я говорю на интересные мне темы, но простым языком, который будет понятен обычному обывателю. У хорошей конференции или организатора есть райдер для выступающего и если он задокументирован, то становится всё куда более понятно.

Я не очень люблю кучу созвонов и долгое утверждение темы доклада и проще и экономичнее по времени и репутационным рискам отказаться от проведения доклада. Если организаторы не могут организовать конференцию без созвонов и личных встреч, используя только текстовую переписку — это не моя конференция.

В последнее время я интересуюсь темами как Zero Trust Identification, Authentication, Authorization и когда беседую с разработчиками, то “авторизация” — это просто залогиниться на сайте, хотя тема куда более обширна, ведь в ней есть:

1. Идентификация. Задача идентифицировать пользователя и узнать кто он такой, возможно еще и аутентифицировать. Проще всего — это просто мы берем и логинимся на сайте, вводим логин и пароль, то мы идентифицированы системой и аутентифицированы в ней

2. Авторизация. Авторизация — это проверка прав. Это раздача так называемых пермишнов. Поэтому, пожалуйста, не путайте

PS. Я теперь не безработный))

@retired_on_fire, Андрей Минкин
Расходимся, пацаны, теперь тут всё на серьезных щщах

Я теперь DevRel в Ory.sh. Ory делает опенсорсные продукты для решения задач аутентификации, авторизации и идентификации пользователей и есть у них 4 продукта

1. Ory Hydra. Этот сервис позволит вам быть Oauth2 | OpenID Connect провайдером. Его хорошо использовать, если у вас есть идея взять и выкинуть вашу API для пользователей, но делать сами выдачу токенов вы не хотите. Если вы хотите сделать доступ к вашему API такой же, как и на ФБ (когда вы создаете приложение, даете ему авторизацию и всё такое, то Ory Hydra прям для вас)
2. Ory Kratos. Это сервис для авторизации айболов(eyeball) или обычных людей по паре логин/емейл и пароль, а еще он умеет в paswordless логин, есть поддержка MFA и еще много чего.
3. Ory Keto. Этот сервис предоставляет управление пермишнами. В планах есть поддержка RBAC ABAC, но пока можно пользоваться им для каких-то простых задач
4. Ory Oathkeeper позволяет сделать Zero Trust Networking и авторизовывать входящие запросы.

Все проекты — бекенды, которые написаны на Go (А я люблю Go) с отличной инженерной культурой.

Чем мне придется заниматься:

1. Рассказывать людям о продуктах Ory, общаться с пользователями, получать фидбек и помогать расти сообществу разработчиков, которые пользуются этим продуктом.
2. Пилить посты и выступать на конференциях на двух языках (Русский и Английский)
3. Помогать организовывать всякие разные ивенты и участовать в них
4. Кодить и контрибутить в экосистему

Простыми словами, я, как инженер буду работать с:

1. Рекрутерами и HR
2. Разработчиками
3. Маркетингом
4. Дизайнерами
5. Продажниками

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

Это также затронет всю мою публичную активность и формат контента станет серьезнее и более продуманный.

Отдельно про то, как я получил эту должность и как я вообще искал работу будет рассказано в течение этой недели.

Ну и немного внутряка и эмоций от первых дней работы на новом месте.

@retired_on_fire, Андрей Минкин
Clear is Better than clever
(c)
Rob Pike


В прошлом году я и команда переделывали один внутренний проект. Мы делали подробный ресерч и о нем я написал статью на хабре (это начало цикла статей). Ребята пригласили рассказать об опыте у себя на Ory Summit и после выступления я общался в слаке с Vincent Kraus (Это первый деврел в компании) о том, как можно поконтрибутить к ним. В итоге, я просто сидел, контрибутил изучал интересную мне тему (В прошлом году я несколько раз переделывал сервисы связанные с SSO/IAM и подобные).

Пошел я по нескольким путям, я начал изучать все задачи в гитхабе с тегом help wanted, нашел интересную для меня задачу RFC — Deceased or Incapacitated User Warrant в которой нужна была помощь по реализации и дизайну самой фичи, поконтрибутил и в итоге, мне предложили зааплаиться на позицию (которой тогда еще не было).

Спустя 4 коротких созвона и утверждения нескольких Term sheet (это список условий, но более юридический) мне сделали предложение и я его принял.

Я советую найм через вклад в опенсорс, потому что она простая и рабочая, как часы. Это экономит кучу времени, потому что:

1. Ты уже знаешь как что работает в том или ином продукте
2. Этап с техническим интервью могут скипнуть, потому что ты уже отправил им свой код на ревью
3. Софт скиллы твои уже проверяются тем, что ты все-таки протолкнул изменения
4. Это опенсорс и обычно там очень мало созвонов (У меня сейчас тратится до 2х часов на созвоны и это максимум).

Что нравится

1. Вся коммуникация через тикеты на гитхабе (Даже во внутренней доке написано, что ты можешь созвониться, но всё-равно всё закончится на гитхабе)
2. Есть голосовой стендап на 20 минут
3. Маленькая компания очень скилловых ребят (У нас Advisor Lee Atchison)
4. Конструктивная обратная связь без начальника (Хотя я репорчусь Винценту, но у нас с первого дня работы получилась командная работа)

Следующий пост будет про Legal часть

@retired_on_fire, Андрей Минкин
Help us personalize your experience by telling us a bit about yourself.
(с)
HackerRank.com

Читаешь контракты по СНГ и тебя не покидает чувство, что тебя хотят обмануть. Договоры обычно короткие на 4 страницы максимум, а еще есть куча допников. А еще по СНГ не чураются запрещать тебе шабашить, ссылаясь на странное “вы так можете раскрыть NDA”, лол. А еще добавляют всякие странные пункты о не-хантинге и тому подобную дичь.

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

Вычитав длинный (12 страниц нечеловеческого юридического английского языка) и кликнув всего два раза (даже сканы документов не предоставлял, ужас вообще) что могу сказать о найме как IC (Individual Contractor) по законодательству USA и Германии.

1. Договор обоюдный. Я, как IC предоставляю non-esclusive, royalty-free (и еще куча тегов) права на свою интеллектуальную собственность, так и они, как компания делают всё тоже самое
2. Весь тревел и out-of-pocket расходы покрываются компанией (это прописанный пункт в договоре)
3. Есть пункт, о возмещении убытков, но там всё сводится к тому, что если ты профессионал, то ты не возмещаешь убытки.
4. Есть пункт о компенсации расходов на покупку рабочей техники
5. Права и обязанности прописаны куда более человеческим языком. Забавно, что указан пункт, что договор может быть подписан электронной подписью, прописаны пункты, когда я могу разорвать контракт и когда мой работодатель. Прописаны дополнительные обязательства, которые берет на себя работодатель (есть пеня за просрочку моего платежа)

Как итог, я себя чувствую себя куда более защищеным, подписывая этот контракт и это прикольные и давно забытые ощущения. Социальная безопасность — наше всё.

Следующий пост про мой онбординг в компанию

@retired_on_fire, Андрей Минкин
Hey, I just met you, and this is crazy
But here's my number, so call me, maybe
(с) Carly Rae Jepsen


Как выглядел онбординг? Да очень просто. Мы созвонились с чуваком, после подписания договора и SoW (Часть вещей, которые мне нужно делать описаны именно в SoW). SoW — Scope of Work.

Мне сделали почту, я зашел в эту почту и на ней уже лежали все инвайты на все нужные сервисы. Идеально. Добавили в Github организацию, мы обсудили несколько планов и первые шаги по работе, а дальше было следующее:

1. Регнулся в слаке, настроил всё как нужно и добавился в нужные каналы (Шел чисто по доке)
2. Где видел не соответствия, то исправлял и слал пул реквесты (это политика компании: ‘Don’t Delegate just create a pull-request yourself’)
3. Оставил сообщение о себе в альгемайне (Это general на немецком)
4. Ушел изучать огроменную документацию, узнал слова как Ethos, duly и еще кучу новых слов.
5. В процессе онбординга создавал задачи на гитхабе, комментировал их и был приятно удивлен, что люди, блядь, читают и комментируют в ответ (Иногда такого не хватает при работе над проектом и приходится пинговать их чуть ли не по-телефону)
6. Накидал себе список конференций по выступлениям и куда я буду подавать CFP(но тут ребята с команды пришли с идеями для докладов в ишью на гитхабе, а еще и конференций накидали сразу же)
7. Получил все инвайты к себе в календарь, но еще не везде регнулся

Узнал много нового и если вы законтрибутите к нам, то мы вам выдадим какой-нибудь мерч (Мы трекаем и за первую активность по контрибушну мы шлём мерч). Это касается смерженного пул-реквеста.

Моей фишкой приходить заранее на созвон мало кого удивить в компании, потому что минут за 10 большая часть людей сидит в созвоне и что-то трёт на какие-то обычные темы, уровня small talk. Дальше идёт обычный разговор по планам, кому где нужно помочь и все расходятся. На созвон тратиться максимум 20 минут и можно спокойно себе работать дальше.

Атмосфера дружелюбная, приятная и всё достаточно интересно (Надо будет проверить этот тезис спустя месяц работы, когда уйдет эта эйфория)

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

Ну и созвоны в удобное для меня время, около 14 часов по +6. Идеально.

@retired_on_fire, Андрей Минкин
У вас меритократия? Что написано в Code of Conduct?
(с) Даник Вартанов


Посидели с Даником Вартановым вчера в Фурусато. Он приехал из своего UK к нам в гости и обсудили проблемы опенсорс проектов и SJW.

Забавно, но в системе управления есть такая тема, как Меритократия, которая как раз таки подрывает пуканы для SJW и подобных движений.

Меритокра́тия (букв. «власть достойных», от лат. meritus «достойный» + др.-греч. κράτος «власть, правление») — принцип управления, согласно которому руководящие посты должны занимать наиболее способные люди, независимо от их социального происхождения и финансового достатка. Используется преимущественно в двух значениях. Первое значение термина соответствует системе, в которой руководители назначаются из числа специально опекаемых талантов (такая система в значительной степени противоположна как аристократии, так и демократии). Второе значение, более распространённое, предполагает создание начальных условий для объективно одарённых и трудолюбивых людей, чтобы они в будущем имели шанс занять высокое общественное положение в условиях свободной конкуренции.

(с) Википедия


Так совпало, что в моем проекте — меритократия, но при этом мы инклюзивны. У нас есть гайдлайны как мы общаемся с сообществом, какие слова мы избегаем, но внутри всё достаточно отлично, спокойно, дружелюбно и очень работоспособно.

Забавно ощущать на себе Diversity & Inclusivity тренд в действии. У меня всё еще длится онбординг и он будет длиться в течение двух недель, где я зависаю в документации, пробую открывать пул реквесты, изучаю систему и так далее.

Забавный факт, что у нас все сидят на гитхабе. Даже маркетологи. Маркетологи даже контрибутят в проект и чуть чуть умеют в базовую разработку и программирование (Вот тут прям наглядно увидел, что программирование — это просто дополнительный навык и он подходит абсолютно всем).

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

Из нормальных плюх от компании:

1. Предоставляют рабочее место независимо от локации. (У нас недавно одному чуваку подогнали рабочую машину с 64 ядрами CPU)
2. Покрывают все out-of-the-pocket расходы (travel/лицензии на идешки/прочие вещи)


Для разрабов в канале поделюсь прикольными инструментами

1. https://docusaurus.io/ может быть хорошей для блоггинга, хотя я больше фанат https://gohugo.io/
2. Под пиво в пятницу посмотреть можно доклад от Нейта Барбеттини про Oauth и OpenID Connect https://www.youtube.com/watch?v=996OiexHze0
3. Мой коллега Винцент написал статью, как он организовывал свою первую конференцию и мы готовим конференцию на 2022. Если вы хотите что-то рассказать о том, как вы используете наши продукты, то велкам ко мне в личку, я помогу вам выбрать тему для доклада и помогу с подготовкой и организацией ивента
4. Хорошая философия от чуваков, которые явно давно программируют софт, который suck less
5. Identity in Modern Applications Maintaining and Validating
Trust in Enterprise Identity Management

PS. Кажется. пора делать митапчики и организовывать их. На какие темы бы хотели видеть регулярные митапы?

@retired_on_fire, Андрей Минкин
Я работаю за идею. Моя идея, чтобы мне хорошо и регулярно платили.


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

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

Обычно, если хотите хорошо вырасти по деньгам, то это постоянно прокачивать скиллы и менять работу. На текущем месте работы могут максимум предложить до 50% к зп, в то время как другой работодатель может предложить вам +200%, если вы пройдете интервью.

Часть разработчиков переходили на 3-4к и имели до 250% к прибавке. просто потому что они убрали в себе “я не приношу пользу, меня не ценят на работе” и так далее.

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

Например, ЗП для продакта в Германии от 60к евро в год. В РФ же всё куда скромнее.

Сейчас я в линкедине в Мюнхене и уже после того. как я нашел работу пишут 1-2 рекрутера в неделю. Когда активно проходил интервью, то были достаточно интересные предлолжения, некоторые от 650 фунтов за неделю, работая удалённо, правда только для граждан из EU.

Поэтому, если вы хотите просто повысить себе зп, то:

1. Просим повышения у себя на работе
2. Ищем работу, прося больше.

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

@retired_on_fire, Андрей Минкин
Show must go on (c) Freddie Mercury

#жививкыргызстанеиработайнавесьмир

^^ хороший лозунг от Азиза Абакирова.

Последние лет пять я разговариваю с ребятами, которые покинули нашу страну и им не хватает дешевизны в городе (опросил 10 разработчиков). В Москве или Европе сложно копить или откладывать на свои хотелки, хотя денег получаешь больше. Накопить хотят либо на быстрое закрытие ипотеки (для некоторых 20 лет ипотеки под 0.5-3% годовых может сказаться на ментальном здоровье)

1. Уехать ремоутить на бали, гоа и страны с дешевым уровнем жизни на 2-5 лет, чтобы скопить нужную сумму
2. Вернуться в Кыргызстан, чтобы уменьшить расходы. Тут прям серьезный пункт, потому что если жить скромно, то семьей можно спокойно прожить на 600-700 баксов без детей, особо не напрягаясь и жить вполне себе хорошей жизнью. 1500 — это на семью, которая чуть-чуть оборзела и 3к (ну максимум), это на мажор стайл. Все расходы указаны для семьи без детей.
3. Менять своё отношение к деньгам. Тут, хорошо помогает инвестирование в фондовые рынки или в трейдинг. Просто потихоньку начинаешь относиться к деньгам куда проще.

В Бишкеке просто некуда тратить деньги. Совсем. Ну, тут максимум что можно потратить на компанию за ночь — это 250 баксов, если даже закрыть счёт в баре или где-нибудь еще. В Москве, например, просто посидеть и попить пива в бюджетном формате — это 20к.

В Бишкеке хорошо копить деньги, если ты айтишник или работаешь где-нибудь на удалёнке. Правда, чтобы было больше интересных откликов, то лучше менять страну на жоб сайтах.

Например, просто поменяв город на Мюнхен в Линкедине мне стало писать до 8 рекрутеров в сутки (хотя обычно на мой open to work реагировало около 5-6 в неделю).

Хороший подход к поиску работы можно найти у Бугаенко. Он пропагандирует зарабатывать в час от 125 баксов и жить где-нибудь в Тайланде =). В этом плане Кыргызстан не особо отличается, не считая зимнего периода.

PS. Если в Германии получать 90к в год, то налогов нужно будет заплатить на 23к евро, судя по калькулятору, не считая церковных сборов. А это цена хрущевки в Бишкеке :)

А какими способами вы ищете работу? Поделитесь по-брацки

@retired_on_fire, Андрей Минкин
When was the first time you met IRL?
(с) TPB AFK


Недавно пересмотрел эту документалку, которую рекомендую к просмотру разработчикам.

Цитата в эпиграфе не случайная, потому что пару дней назад ФБ напомнил мне о хакатоне GopherGala. Этот хакатон был распределенным и в нем могли принять участие все. Благодаря этому хакатону я познакомился с Максимом и Артёмом. Мы тогда нахакатонили Meshbird, который предоставлял распределённый VPN.

Кодили мы с перерывами на сон и разные таймзоны (+1, +3, +6) были преимуществом, потому как можно было спать, когда другие кодили и наоборот. Мы сделали всё за 48 часов, правда мы готовились, делали прототипы и гоняли бенчмарки за пару недель до хакатона. В итоге за пару недель я узнал и прокачал: DHT (распределенная хеш таблица, что часто используется в торрент клиентах), сети и шифрование.

После хакатона, который был в 16м году мы продолжили общаться с ребятами, обменялись контактами и с Артёмом мы встретились в 17м году на хайлоаде, а с Максом в 18м году на FOSDEM. Общаемся и дружим до сих пор. С Артёмом мы еще пару раз хакатонили и сделали Copybird, а еще думали сделать бесплатным обучение английскому языку благодаря машинному обучению, чтобы преподаватель был цифровым человеком.

Когда хакатонишь, что приходится кодить в самых непредсказуемых местах, вот например мои:

1. Коммитил из троллейбуса, когда мы ехали с Саней Соболевым на одном из хакатонов (вроде это был гараж48)
2. Добавил поддержку tun девайсов в meshbird, из ночного клуба, под очень громкую музыку
3. Был эпизод, когда коммитил код после того, как нам въехали в задницу (не помню мероприятие, но помню, что пушил код с ноута, который стоял на капоте машины где-то в районе Лебединовки)

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

1. Созвоны, стримы, запись контента идёт дома
2. Генерация контента, разработка с любого другого места (иногда хорошо кодится где-нибудь в горах, сидя в машине)

А кто как ремоутит из подписчиков? Какие были необычные места, откуда вы коммитили код?

@retired_on_fire, Андрей Минкин
Надо больше ивентов, богу ивентов

Вчера было два выступления. Один в IT Attractor, где я обкатывал доклад и восстанавливал форму публичных выступлений, к которым нужно готовиться. А хорошая практика обкатать слайды — это дать доклад перед маленькой аудиторией. Доклад получился живым, пообщался с будущими коллегами и обсудили типичные вопросы:

1. Сколько джун получает
2. Нормально ли выбирать язык %LANGUAGE_NAME% для старта?
3. Как проходить интервью

Также, хорошо поговорили в кулуарах. Было живенько, весело и отлично. Спасибо, что пригласили. А тема была про “Мой путь в айти”, мораль там такая, что ты почти всегда что-то изучаешь и пробуешь. А еще “мне 32 и я не знаю, кем я стану, когда вырасту”.

Также провел слаконар у Хекслета. Слаконар — это текстовый вебинар в слаке. Тема была технической, обсуждали аутентификацию, авторизацию, идентификацию и современные тренды. FIDO2, WebauthN, OAuth, OpenID Connect и так далее. Получилось чуть чуть сложно для неподготовленной аудитории, но стало понятнее, как делать их вовлеченнее.

Я тут в репо ссылочки и материалы собираю по теме Identity stack.

Сегодня буду на GoViral говорить про киберспорт и айтишечку. Приходите =)

@retired_on_fire, Андрей Минкин
It’s Friday. Friiday. FUN FUN FUN (c) Мемчик из 2010.

С пятницей вас всех. Развлекательно-познавательного контента вам в ленту.

1. IT Crowd. Или “Вы пробовали выключить и снова включить?”. Один из самых ржачных сериалов про айтишников(Это те, кто тыжпрограммисты в СНГ)
2. Halt & Catch Fire. Отличный сериал про зарождение кремниевой долины
3. Silicon Valley — лучше Дудёвого, сериал с кучей мемасов и вообще там много полезного про стартаперскую тусу

Что я узнал за неделю и что я нашел:

1. Supabase опенсорсный аналог Firebase
2. Developer Relations - это область.

Второй пункт подробнее. Также как DevOps - это про культуру, а не про человека, то Developer Relations - это отрасль. Она включает в себя очень много разных ролей, как технических, так и нет.

Developer Relations может быть подотчетна либо отделу маркетинга и привет CBDO (Chief Business Development Officer), BDSM (Business Development Sales & Marketing). Ну или может быть подотчетна CTO.

Еще один вывод, который я могу сделать, что в отрасли вообще никто ничего не понимает и когда Артём говорил об отрасли в полном упадке, посмотрев на решения, которые предлагаются по-миру, я его сначала не понял. Теперь понимаю.

Разницы вообще нет где работать. Говнокодят обычно все и как всегда решает команда, которую можно перерасти.

PS. Завтра готовлюсь к записи подкаста DevZen. Это будет мой первый раз в таком хорошем подкасте

@retired_on_fire, Андрей Минкин
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
(с) Edsger Dijkstra


Дейкстра — датский учёный в области Computer Science. На его исследованиях в современном мире много чего работает. В своё время он хорошо набрасывал на технологии и вот несколько высказываний от него, которые зашли:

— Programming in Basic causes brain damage.
— Teaching COBOL ought to be regarded as a criminal act.
— Mathematicians are like managers - they want improvement without change.

Из современных мемчиков есть:

— Использование любой другой кодировки, кроме как UTF-8 нужно считать актом экстримизма и карать по всей строгости УК (это было популярно, когда было множество кодировок и UTF-8 не зашел как стандарт де-факто. где-то до 12 года) (c) Башорг, вроде как
— Node.js нужен для того, чтобы делать SSR, чтобы экономить пользователю батарейку на телефоне. Использование ноды для чего-то более сложным считать экстримизмом и карать по всей строгости УК (с) Макс Лапшин.
— Лучше вляпаться в PHP, чем в Node.js. Ну и в крестах лучше сидеть, чем кодить на них. (Это про C++. Жаргонные названия плюсы или кресты)

Вот, после посещения одной из конференций по C++ Роб Пайк со своими корешами Кеном Томпсоном и Робертом Гризмаером посидели, подумали и появился Go.

Go, как язык достаточно прост в виду синтаксиса и его хорошо использовать при написании:

- Сетевых сервисов
- Чего-то, где нужна производительность
- Там, где нужна асинхронность (все скриптовые языки курят в сторонке, потому что написать что-то асинхронное на питоне иногда ломает мозг)

Ну и закончить пост хочется несколькими дедами:

— Лесли Лампорт. Автор Paxos. У него достаточно хороший блог по распределенным системам. А еще у него есть отличный доклад Thinking above the code, одна из самых интересных мыслей для меня была “If you are thinking without writing you are only pretending to think”. Поэтому, писать спецификации и обсуждать их с рабочей группой в тексте — один из самых продуктивных для меня способов принятия решения
— Доклад дяди Боба Expecting Proffesionalism

@retired_on_fire, Андрей Минкин
Now for the economic need. Nowadays one often encounters the opinion that in the sixties programming has been an overpaid profession, and that in the coming years programmer salaries may be expected to go down.
(c) Edsger W. Dijkstra


Вот эта цитата была написана Дейкстрой в далекий 1972й год. Так что программисты overpaid с 60х годов. Пока еще не упали и программистов как всегда не хватает. Правда мы ушли от перфокарт и нормального программирования во что-то непонятное, жрущее кучу памяти.

Например, есть занятный баг на Mac Os Monterey, где windowserver начинает отжирать много оперативы, когда ты смотришь видосики на ютюбе или сериальчики на нетфликсе. Как один из костылей решения этой неприятной досады (у меня он отжирал до 74 гигов мозгов) - это выставить Refresh Rate в 60 герц, вместо модного ProMotion. Windowserver перестал отжирать много памяти и теперь, как обычно жрут память Node.js, Chrome, Slack.

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

Продам своего Pajero Sport 2012 года. Прошу $14500. Машина в идеальном состоянии, подробности в личке 😂

@retired_on_fire, Андрей Минкин
Программисты рядом, они настолько рядом, что некоторые даже вы.

Неделю пробовал попользоваться джинни. Вердикт: ну такое…

Это отличная платформа, но когда поговоришь с некоторыми рекрутерами, послушаешь про их процесс найма, становится понятно, почему Макс Ищенко у себя в линкедине говорит, что всё плохо и количество вакансий превышает количество кандидатов. Специально для рекрутеров на джинни у меня завелся шаблонный ответ

Hello.

Thank you for organizing the interview. I am writing to let you know that you have not been selected to be my employer.

I recognize this may be a disappointment to you. On this occasion, I received a significant number of applications from the companies that more closely fit my requirements for the next job.

Thank you for your time. Good luck and let’s keep connected.


Этот ответ я шлю всем рекрутерам именно на джинни, по нескольким причинам:

1. Слишком сложный процесс найма. Из самых интересных вариантов: три технических интервью (3, КАРЛ!). Два — это решать алгоритмические задачи (имхо, это надо приравнивать к программированию на доске). И еще нужно будет сделать тестовое на два часа времени, за выполнение которого хотя бы заплатят $100. Я понимаю, что в FAANG и подобных компаниях это работает и достаточно хорошо. К этому даже готовятся, но в том же самом FB процесс построен куда проще и кодить алгоритмы нужно всего час.
2. Долгий ответ от рекрутера, сложности с фоллоуапами, сложности с назначением времени для интервью, нет митинг-ноутсов. Некоторых рекрутеров приходилось подпинывать, чтобы просто с ними созвониться.
3. Нет интро о проекте и компании. Некоторые просто задают интересующие их вопросы и отпадает желание вообще с ними продолжать диалог.

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

Воронка:

1. Заинтересованных во мне рекрутеров: 25
2. С 20 из них я решил поговорить
3. 4 написали в телеграм, остальные остались на джинни
4. 4 сделали интрокол, чтобы сделать свой обычный фаст чек
5. Только одна девушка рекрутер всё-таки сделала нормальные фоллоуапы и достаточно серьезно относится к своей работе. Остальные как-то забили на коммуникацию.

Все жалуются, что нет кандидатов, а проблема чаще всего совершенно в другом. Кандидаты просто отваливаются, потому что большинство рекрутеров не делает свою работу. С программистами тоже самое, к сожалению.

@retired_on_fire, Андрей Минкин
Не хочу на фронт
(с) мемчик из интернета


Но, видимо придется.

Работа на Developer Advocate позиции требует много ресерча. Так что скорее всего придется мне идти в сторону универсальности. План обучения на ближайшее время

1. Terraform/Cloudformation или что там сейчас трендовое для того, чтобы была Infrastructure as a Code. Благо, сейчас слак выпустил events-api и ботов стало делать куда проще и дешевле. Особенно, если они не нагружены вообще никак. Просто пишем лямбда функцию, подключаем API гейтвей и несколько ботов могут работать бесплатно в рамках AWS Free Tier.
2. EKS/K8s и прочее трендовое по облакам, благо, что я оформил подписку на acloudguru.com. Забавная, кстати ситуация. Они выкупили linux academy а теперь Cloud guru выкупили Pluralsight.
3. React/Vue/Typescript и верстку (опять).

Самое печальное — это идти в третий пункт. Вот прям вообще не хочется. Все эти модные подходы в современном фронте как-то ломают голову и вообще фиг разберешься во всем этом стеке.

Поковырял Gatsby. Может быть хорошей альтернативой для Prismic и хорошо деплоится в Netlify.

Еще, что прикольного в Developer Advocate позиции — это нужно кодить кучу мелких проектов/демок. Кругозор расширяется будь здоров. Сейчас, потихоньку расковыриваю Supabase, это опенсорсный аналог Firebase. Нужно подружить их с чем-нибудь из нашего стека. Пока первый кандидат - это Kratos. А еще в планах пощупать FerretDB и Yugabute

PS. Если есть хорошие материалы по современному фронту (Vue/React/TypeScript), Накидайте плиз в комментариях.

@retired_on_fire, Андрей Минкин
Friday sees more smiles than any other day of the workweek!
—Kate Summers


Традиционный пятничный пост, который больше развлекательно-познавательный.

Финансы
Технологический сектор потихоньку начинает расти, что не может радовать. Акции близзов после покупки майкрософтом пока не так быстро растут, как хотелось бы, но все же пока они в плюсе. Сами близзы пока ничего не анонсят, хотя давно пора.

Остальные компании в портфеле потихоньку тоже показывают рост. Это ROKU, NIO, SPLK.

В прошлую субботу поговорили с ребятами из DevZen на тему ранней пенсии и интересно вот что:

1. Работа в публичных компаниях и покупка акций со скидкой для сотрудника (порядка 15%). Вот это хороший бонус к плюхам компании, а не эти ваши печеньки в офис и дружный коллектив
2. Проблема с финансовой граммотностью стоит во всём мире, правда в странах с большей социальной защищенностью государство пушит вас к тому, чтобы вы ивестировали и откладывали себе на пенсию.
3. Есть отрицательная ставка по депозиту по превышению лимита

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

Что я узнал эа эту неделю

1. Если вы используете транзакции, то вы наверное знаете о связке BEGIN; COMMIT; ROLLBACK, которые предоставляют обновление данных по ACID. Иногда в тестах забавно использовать ROLLBACK, просто чтобы узнать, что твои запросы работают. Кстати, использование ORM должно идти после того, как человек напишет хоть какой-то запрос.
2. В техническом писательстве, как и в блоггерстве просто важна дисциплина. Хороший пост ‘How To Write Better Technical Content’. С русскоязычными постами у меня нет особых проблем (иногда с фантазией если только). а вот с английским всё куда сложнее.
3. Grammarly пользуются не только на СНГ. У нас половина команды пользуется этим продуктом, чтобы быть грамотнее. Но у нас команда мультикультурная и мы говорим на 13 языках. Там даже есть флаг КР.
4. Винцент нашел отличную замену граммарли, которую я попробую поюзать в ближайшее время. Она для девелоперов, консольная и наверное даже в вим можно будет затащить. Можно пробовать поюзать

Развлекаловка

1. Медитация для девопсов
2. Что нужно знать разработчику про Web3
3. Почему не нужно использовать MMAP, если вы кодите базу данных
4. Как я слушал новый релиз от Мешуги
5. Пассивно-Агрессивный фидбек о вашем пароле

До понедельника!

@retired_on_fire, Андрей Минкин
Keep calm and pretend it’s not Monday

Прошлая рабочая неделя завершилась интересно. Мой блогпост смержили в мастер и пока писал блогпост, поправил пару багов. Также нашли один небольшой баг в сиайке из-за чего не проходил пайплайн.

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

Еще мы запустили в нашем слак сообществе поддержку на двух языках: русском и немецком.

Спустя месяц (Хотя на самом деле несколько недель всего прошло) я влился в работу, стал лучше разбираться в продукте и процессах и всё встало на свои места. Процесс оплаты достаточно простой и понятный. Попробую его в следующем месяце. Правила просты. Шаг первый — отправляешь инвойс, шаг второй получаешь деньги. Написать инвойс помогают (я потратил несколько часов, чтобы найти шаблон для инвойса, который мне понравился бы)

Разобрался в области Developer Relations и завтра расскажу какие там есть позиции. А еще, FB упал на 26% из-за отчёта (Там часть пользователей упала у продуктов, потому что ушла в тикток). Жду, когда тикток начнет выходить на IPO, чтобы прикупить чутка.

Как началась ваша рабочая неделя?

@retired_on_fire, Андрей Минкин
Есть что по докладам? А если найду?

Подготовить один доклад занимает до месяца времени, в зависимости от опыта и истории, которую хочет рассказать разработчик. В первый раз — это месяц. В остальные разы меньше, но в среднем подготовить хороший доклад на хорошую конференцию — это 2-3 дня работы. Опытные докладчики могут слайды сделать за 1-2 часа, но это уже после кучи выступлений.

Написать хороший блогпост — это неделя времени работы нескольких людей, если компания достаточно серьезная (тут ресерч, написание самого поста, редактирование, вычитка и потом публикация)

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

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

Ну и контент, который оставлен разработчиками после себя помогает рекрутерам лучше отбивать возражения на самые популярные вопросы, потому что чаще всего на это есть ссылочки

Поэтому — хорошо, когда компании вкладываются в DevRel Активности. Плохо, когда они этого не делают. А за прошлый месяц я сделал слайды для 4х докладов на разные целевые аудитории. Самый сложный доклад, который я до сих пор делаю — это Authentication & Authorization 101. Пока покрыл тему с Аутентификацией. Буду рад рассказать в какой-нибудь для какой-нибудь аудитории.

@retired_on_fire, Андрей Минкин
Про Деврел. Деврел — это область, которая включает в себя следующие дисциплины:

— Developer Marketing
— Developer Avangelism
— Developer Advocacy
— Developer Experience
— Community Management

Developer Marketing

Мало чем отличается от традиционного цифрового маркетинга.

Основная цель — создать Go-to-developer стратегию. Почти тоже самое что и go-to-market, только для разработчиков.

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

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

Работать придется с продуктовыми менеджерами, маркетологами в компании, Developer Evangelism.

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

Developer Evangelism

Основная цель — рассказывать о продукте.

Заниматься придется тем, что рассказывать и присуствовать на конференциях, пилить технический контент (блоги и видосы), записывать подкасты и стримить. Партнериться с разными сообществами.

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

Сотрудничать придется с Developer Marketing и Developer Advocacy

Developer Advocacy

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

Заниматься придется тем, что постоянно билдить разные демки, посещать разные конференции, также стримить. А еще разрабатывать продукт и активно продвигать идеи догфудинга продукта. Поддерживать сообщество разработчиков, писать хаутушки и документацию.

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

Сотрудничать придется с Developer Experience, Developer Evangelism, Developer Marketing и Community

Developer Experience

Основная цель — улучшать пользовательский опыт (почти тоже самое что и UX, только для разработчиков)

Заниматься придется продуктовым дизайном и UX, документацией и тренингами, билдить SDK, плагины, расширять функциональность продукта и разговаривать с кастомерами или конечными пользователями.

Развивать нужно скиллы продуктового менеджмента, юзабилити и UX. А еще изучать разные тулы для разработчика, которые присутствуют на рынке

Community Management

Основная цель взращивать сообщество разработчиков.

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

Развивать нужно будет скиллы ивент менеджмента, знания о разработчиках, текущих трендах и так далее ну и скиллы коммуникации.

Работать придется чаще всего с Developer Advocacy и Developer Experience.

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

@retired_on_fire, Андрей Минкин