Олег Громов печатает...
1.79K subscribers
61 photos
5 videos
141 links
о программировании, стартапах, UK и о жизни в целом
Download Telegram
G R O M O V → Приключения Громова

Год назад я завёл этот канал, чтобы делиться полезными мыслями, и всё это время думал, о чём же мой канал - и почему он должен быть интересен и полезен вам.

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

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

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

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

Встречайте новое воплощение - Приключения Громова 🤘
Друзья, из опроса очевидно, что большинству удобнее всего поболтать вечером в будний день. Пятница - это не совсем будний день, да и мне неудобно. Поэтому завтра, 22 апреля в 19 часов по Москве поболтаем про то, как преуспеть, работая в найме. За основу я возьму недавний пост про работу по найму, а также более старый пост про траектории и риски в карьере (часть 1, часть 2).

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

Голосовой чат будет прямо в телеграме, в прикреплённом чатике. До связи завтра вечером!
Откуда брать информацию про предпринимательство

Оригинальный вопрос подписчика звучал так: “какие книги почитать программисту про предпринимательство?”. Но я отвечу на немного более широкий вопрос - не только про книги (это не единственный источник информации) и не только для программистов, а для всех интересующихся предпринимательством.

Вот что вспоминается мне в первую очередь.

1. Книга Personal MBA - хорошая карманная энциклопедия о бизнесе. Затрагиваются все этапы создания продукта (собственно создание ценности, delivery, маркетинг, продажи, финансы), а также работа с собой и в команде. Классное обзорное чтиво, особенно если вы только начинаете и ещё пугаетесь терминов вроде cashflow, unit economy или customer acquisition.

2. Про customer development: Lean Customer Development и The Mom Test. Касдев, как его называют по-русски, это очень полезный навык и отрезвляющая практика, особенно для стартаперов, готовых "пилить" какую-то штуку на чистой вере в идею годами. Поможет вам не потратить время на продукт, который никому не нужен. Также обратите внимание на выступления Вани Замесина.

3. Traction - самая полезная книга про маркетинг для стартапера. В ней перечислены 19 каналов или способов продвижения и сделан акцент на важной мысли: уделяйте маркетингу не менее половины времени. Прекрасное теоретическое/более абстрактное дополнение к этой книге - This is Marketing Сета Година.

4. Про инди-хакерство и бизнес на карманные деньги: 😍 прекрасная конференция MicroConf - можно смотреть все подряд выступления и по некоторым буквально учиться. Например, там есть Josh Kaufman, автор Personal MBA, Джейсон Коэн, основатель WP Engine, и много других крутых ребят. Когда-то я и подумать не мог, что в мире есть достаточное количество предпринимателей, которые делают прибыльные (с оборотом от десятков тысяч до миллионов долларов в год) интернет-бизнесы на карманные деньги. Неплохое сообщество таких людей - Indie Hackers.

5. Творческим людям полезно почитать War of Art, чтобы понять, как совладать с внутренними демонами, победить прокрастинацию и стабильно выдавать результаты.

6. The Lean Startup - признаюсь, что только листал эту книгу, но она считается чуть ли не библией стартапера. Главная идея в том, чтобы быть lean - то есть максимально быстро и дешёво проверять идеи. Но вам стоит почитать самостоятельно.

Из более развлекательного и вдохновляющего приходят в голову следующие штуки.

7. И ботаники делают бизнес - книга про Фёдора Овчинникова, основателя Додо Пиццы из Сыктывкара, и его предпринимательский путь. Сейчас Фёдор уже звезда, но начинал он очень скромно и прошёлся по всем возможным граблям, заготовленным для мелких предпринимателей. Не совсем про интернет и цифровые продукты, но всё равно вдохновляющее и интересное чтиво. Ещё у него есть блог Сила Ума.

8. Канал Big Money - YouTube-проект Евгения Черняка, который берёт интервью у крутых предпринимателей. Мне вспоминаются интервью с Фёдором из Додо Пиццы, основателем EPAM, ребятами из Preply (это такой украинский маркетплейс преподавателей языков) и, для ржаки, Портнягиным (моё любимое - почти бизнес-молодость, даже круче).

9. Русские Норм Елизаветы Осетинской - она приглашает не только предпринимателей, но среди её гостей было много интересных ребят, например, Юрий Мильнер, Аркадий Добкин (тот же EPAM), Микита Микадо.

А что читаете, смотрите или слушаете про предпринимательство вы? Поделитесь в комментариях.
Начинаем через несколько минут 🙂 Присоединяйтесь к чату, чтобы поучаствовать.
Forwarded from Oleg
Сегодня вечером в 19 часов по Москве болтаем про успех в найме. Голосовой чатик будет прямо здесь - включайте уведомления, чтобы не пропустить начало.

Я выделил несколько компонентов успеха (от простого к сложному):

- Зарплата
- Профессиональный рост - более интересные и сложные задачи
- Признание сообществом
- Карьерный рост - выше должность, новые обязанности, авторитет
- Финансовая независимость
- Удовлетворение жизнью и счастье

Начинаем в 18:55, собираемся в течение 5 минут, и переходим к обсуждению. Перед тем, как касаться каждой из этих тем, я немного расскажу про свой путь и общие впечатления от карьеры. Готовьте свои вопросы, истории, комментарии и критику. Общаемся на “ты” 🙂 До связи!
Как быть лучше подавляющего большинства разработчиков

Судя даже по моему небольшому опросу, меньше 10% проголосовавших ведут блог. А если бы проголосовали все, процент получился бы наверняка ещё ниже: думаю, всего несколько процентов профессионалов активны вне работы - ведут блоги, выступают на конференциях, участвуют в тусовках.

Я тоже совершил эту ошибку и до сих пор навёрстываю: попытки сделать сайт и вести блог я начал ещё году в 2008-м, сделал может 3-4 версии и даже написал с десяток статей, в том числе про свои проекты на фрилансе. С выступлениями у меня тоже не заладилось - то "времени не было", то рассказать (как будто бы) не о чем, то не понятно зачем.

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

📕 Писать и рассказывать о своих проектах и проблемах в работе, предпринимательстве или учёбе - это отличный способ структурировать знания. Не важно, насколько глубокими или насыщенными получаются такие заметки: куда бы вы ни направляли свою энергию, конструктивная рефлексия однозначно полезна. В том числе поэтому существенную часть любой учёбы составляет написание докладов, устные и письменные экзамены, участие в коллоквиумах. Разумеется, учёба не должна заканчиваться в момент защиты диплома.

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

☝️Софт-скиллы тоже прекрасно прокачиваются через попытки рассказать и убедить других в своих мыслях. Убедить получится не всегда - но смысл и не в этом. Как и в любых других тренировках, смысл не столько в результате, сколько в процессе, умении извлечь из него пользу и научиться наслаждаться преодолением неизбежных сложностей. Мы крайне легко цепляемся за интересные идеи, и умение синтезировать новые подходы и рассказывать о них пригодится, без преувеличения, любому человеку и в любом занятии.

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

🤝 Часто подписчики будут благодарны вам за усилия: приятно слышать "спасибо" и осознавать, что ваши мысли и рефлексия помогают кому-то в достижении целей, непростой ситуации или сомнениях.

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

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

Почему вы до сих пор не ведёте блог и не выступаете?
Опубликовал длинный гайд: «10 причин и 1 способ превзойти большинство профессионалов в своей области» на VC. В нём есть ответы на вопросы «зачем» и «как» работать над публичностью, в том числе:

- стоит ли становиться публичным именно вам
- о чём, где и как рассказывать
- кто ваша аудитория и где её взять
- как расти и стоит ли гнаться за ростом
- как оценить эффективность работы и чего ждать

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

Кроме того, в этот четверг, в 19 часов по Москве опять собираемся в 🎙голосовом чатике и обсуждаем ведение блога и признание сообществом для разработчиков (и любых других айтишников и диджитал-товарищей, на самом деле). Если у вас есть сомнения, вопросы, комментарии или просто интерес к теме, включайте уведомления, чтобы не пропустить начало, - и до связи в четверг!
Тысяча преданных фанатов

В 2008 году Кевин Келли, основатель и редактор журнала Wired, написал статью 1000 True Fans про passion economy - экономику создаталей, независимых от распространённых средств дистрибуции. Мне она кажется особенно полезной в качестве размышления о современном мире и роли работы и заработка в нём.

Почитайте оригинал, а ниже основные тезисы с моими комментариями.

Вам может быть достаточно всего 1000 преданных фанатов, чтобы заработать себе на жизнь. Каждому из них реалистично продать на $100 в год и, делая это без посредников, заработать $100k за год. Сумма, достаточная для жизни одного человека в реалиях США.

Преданный фанат - это человек, который поедет за 200 километров, чтобы послушать ваше выступление, купит на DVD сборник ваших бесплатных youtube-видео. Разумеется, такими будут не все.

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

Поэтому я считаю, что иметь свою площадку - идеально, сайт и email-рассылку, или минимально модерируемый и потенциально подверженный блокировкам канал связи с подписчиками жизненно важно.

Кроме прямой связи с фанатами, peer-to-peer коммуникация и продажи позволяют оставить себе все деньги от продажи, а не только лицензионные отчисления. Это значит, что вам больше не нужны миллионы читателей или покупателей, чтобы зарабатывать на своём творчестве.

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

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

А значит, можно быть более независимым - не только от full-time работы (это вообще странная идея, что человек должен постоянно работать, особенно сохраняя специализацию всю жизнь), но и от посредников разного рода.
Друзья, сегодня в 19 часов по Москве опять собираемся в 🎙голосовом чатике и обсуждаем ведение блога и признание сообществом для разработчиков и любых других айтишников и digital-деятелей. Если у вас есть сомнения, вопросы, комментарии или просто интерес к теме, присоединяйтесь к чату - и до связи вечером!
Вот и меня настигла прокрастинация: вместо того, чтобы делать дизайн сайта (и запустить его уже наконец - от этого столько всего зависит!), я пишу заметки в канал и переписываю статью про публичность, чтобы опубликовать на хабре.

А всё потому, что дизайн делать сложно. У меня есть таблица с дизайн-решениями, в которой большинства вопросов я даже не коснулся ещё. И я не хочу, потому что это не дизайн делать сложно, а принимать решения сложно.

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

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

В конце концов, всё-таки правильно, что я решил сделать весь дизайн (ну может процентов на 80-90%) сразу. Включать в один подход весь стек - информационную архитектуру, дизайн, бэкенд и фронтенд - получается сложно.

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

А вот водопад решает: и голова про дизайн болит всего несколько дней - а не всё время, и на этапе разработки уже все важные решения приняты, бери и делай.
У Ани Булдаковой есть классный проект по поиску менторов и менти (как это по-русски-то сказать?).

Я там нашёл ментора, чтобы поработать над своими предпринимательскими скиллами: меня интересует комбинация исследований рынка, маркетинга и продуктовой работы, чтобы делать продукты, которые нужны, в сегменте рынка, в который я смогу запрыгнуть в одиночку и с минимальными инвестициями.

По-моему, найти наставника, который уже прошёлся по всем привлекательным для вас граблям, это крутая идея с огромным потенциалом для личного развития. Вам тоже рекомендую попробовать, если идея нравится так же, как и мне 👍
Поможет ли профессиональный блог найти работу?

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

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

Если вы будете больше "изучать на публике", заниматься чем-то новым для себя и рассказывать об этом опыте, это наверняка поможет вам разобраться в теме лучше и обнаружить пробелы в знаниях. Ваша компетенция будет развиваться как-то так: теоретическое, отрывочное знание → навыки, подкреплённые знанием → опыт, оформленный в выразительные мысли. Тоже пригодится.

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

Это верно для постоянной, full-time работы. А вот фрилансеру, портфолио которого каждый день попадается на глаза сотням потенциальных клиентов, ведение блога может оказаться полезным уже спустя пару статей.

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

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

На собеседовениях часто спрашивают про проекты и опыт. И, если у вас нет феноменальных успехов на текущей работе, вам будет очень удобно рассказать про собственный проект - от идеи до деталей реализации. А вашим собеседникам это укажет сразу на несколько важных качеств: энтузиазм к профессии, желание и умение учиться, навык доводить начатое до конца, компетентность.

Про подход к сайд-проектам я скоро тоже напишу.

А у вас есть свои проекты? Расскажите в комментариях.
Из Фейсбука в стартап

Через месяц я выхожу на работу в стартап Hook. Уже получены новые рабочие визы, написано заявление в Фейсбук (месяц назад - тут notice period 8 недель), осталось только доработать месяц - и на новое место.

Вот почему я ухожу.

❶ В Хуке я буду отвечать за весь фронтенд: сначала писать код, а потом, если компания будет расти, нанимать команду. Это не бог весть какая ответственность для меня - по крайней мере, ничего нового, - но намного интереснее и лучше, чем пилить малюсенькие фичи для одного из тысячи внутренних приложений внутри компании-монстра. В стартапе от моих действий зависит, без преувеличения, судьба компании - а в Фейсбуке от них не зависит ничего.

❷ Мне больше нравятся маленькие команды, где я знаю каждого человека: в Хуке я 6-й по счёту сотрудник, а в Фейсбуке половина моих коллег наверняка не вспомнит как меня зовут спустя год. Немного лучше Фейсбука был Топтал - но основное время я всё равно проводил с командой из 6-8 человек, мной же и нанятой преимущественно. А всего в компании было несколько сотен разработчиков, многовато.

❸ Hook работает в интересной для меня сфере: удержание клиентов в SaaS-компаниях. Это и исследования и статистика, которые я полюбил в Яндексе, и подписочный бизнес - что мне хотелось бы делать в конце концов, и проблемы удержания (retention) и customer success, которые заботят меня как предпринимателя. Хочется делать полезные продукты, к которым возвращаются.

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

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

❻ В стартапе платят меньше, особенно с учётом бонусов, RSU-рефрешеров и роста акций в Фейсбуке. Но я иду в стартап не за деньгами и даже не за призрачной возможностью разбогатеть. Я хочу сделать что-то заметное, получить новый опыт - в том числе, посмотреть на жизнь компании на грани выживания изнутри. В будущем это наверняка поможет мне достигнуть своей цели - уйти в предпринимательство фултайм и ни от кого не зависеть.

❼ Не в последнюю очередь, я недавно узнал, что у Фейсбука очень людоедское отношение к интеллектуальной собственности: при желании компания может претендовать абсолютно на всё, что я создаю - в рабочее и нерабочее время, на своём или их оборудовании, связанное и не связанное с бизнесом компании. На практике, я думаю, никто не покусится на безобидный сайд-проект или блог (если не считать истории с Техлидом). По сути же, для меня неприемлимо, чтобы кто-то имел даже теоретическую возможность претендовать на то, что я создаю вне работы. С Хуком я договорился так, что могу работать над своими проектами в свободное время, если они не конкурируют с бизнесом компании.

Я уже встречался с новой командой: после года удалёнки в Фейсбуке, без людей и какого-либо живого общения, войти в настоящий офис с несколькими живыми людьми, все без масок, где каждый искренне интересуется тобой - это просто какая-то магия! 🔥


P.S. Сегодня вечером в 19:15 по Москве поговорим в голосовом чатике про работу в стартапах и корпорациях. Присоединяйтесь, если вам интересна тема - приносите свои истории, комментарии, вопросы. До связи!
Какими должны быть условия работы программистов и почему?

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

Сегодня отвечаю на пост "Бренд" канала 2Pizza. Он не про бренд в общем смысле, а про HR-бренд: какими должны быть условия работы разработчика, чтобы позиция была привлекательной. Канал, соответственно, тоже не про пиццу - но это мы и так поняли.

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

Все остальные мысли иначе как спорными не назовёшь.

Лет 15 назад, когда я только начинал карьеру, программист в обыкновенной компании находился где-то на уровне слесаря по уровню влияния на бизнес. Платили соответственно, а из бонусов были туалет на этаже и курилка под лестницей. Ещё "офисный" стул и стол из ламинированного ДСП да какой-нибудь не первой свежести комп под ним.

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

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

Они же задают правила игры: именно в богатые корпорации самые сложные в отрасли собеседования, где недостаточно просто поболтать, сказать "я это могу" и пожать руки, чтобы завтра выйти на работу в самый дорогой в мире офис.

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

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

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

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

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

Я понимаю, откуда растут ноги у такой позиции. Собеседования в нашей индустрии - это жесть: не понятно, зачем стартапу с CRUD-поделкой "олимпиадные" тестовые задания для фронтендеров. Или чем работа веб-питониста в яндексе или фейсбуке принципиально отличается от такой же в аутсорс-галере?

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

Вы либо крестик снимите, либо трусы наденьте.
Про RSU и опционы

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

Многие крупные состоявшиеся компании, например Яндекс или Фейсбук, предлагают разработчикам RSU - restricted stock units, в простонародье "акции".

В отличие от опционов, которые позволяют купить акции компании по фиксированной в контракте цене, RSU выдаются бесплатно. Их выдают грантами, обычно привязанными к оговоренной денежной сумме, которые переходят в собственность (vesting) равными долями, обычно в течение 4 лет.

Например, в вашем офере может быть оговорен RSU-грант, эквивалентный $100,000. В момент выдачи гранта, если акция стоит $100, вам достанется пакет из 1000 акций.

Самое распространённое расписание вестинга будет такое, что через 1 год (cliff) вы сможете распоряжаться 1/4 частью акций, а дальше, каждый квартал, ещё 1/16 частью. Обычно их либо продают сразу, либо оставляют в надежде на рост - тогда придётся заплатить налог на рост активов (capital gains tax), если акции вырастут.

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

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

@gromov_com
Зачем компания давать тестовые задания, а нам — тратить время на них?

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

Но написать хочу про тестовые задания на собеседованиях.

Я отсобеседовал сотни человек, в Яндекс и Топтал, и просмотрел тысячи резюме. Подходящих кандидатов - уж не знаю, почему - действительно мало. В то же время, я часто встречаю в сети скепсис по поводу тестовых заданий: нафиг мне, крутану, чей час стоит $100, выполнять задания?

Простой ответ на этот вопрос: потому что мне нравится ваша компания, продукт, команда - и я хочу с вами работать. В таком случае задания и вам полезны: присмотритесь к компании, к людям, задающим вопросы. Не понравилось - до свидания, почему нет? Иначе это как жаловаться на трату времени на первые свидания.

Если же вы откликаетесь на десятки вакансий, тратить на домашние задания по несколько часов - скорее всего, непозволительная роскошь. Но это вопрос к вам: зачем вы откликаетесь на столько позиций?

А компании? Зачем они дают тестовые задания и просят писать код на собеседовании? Неужели недостаточно гитхаба, опыта и рекомендаций?

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

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

Рекомендации? Может и можно выяснить важные подробности об опыте и навыках кандидата через рекомендации. Но на практике я такого не встречал. Максимум, на что идёт большинство компаний - это проверка факта трудоустройства. А такого, чтоб звонить прошлым коллегам и руководителям и расспрашивать про бывшего коллегу, нет.

Да и сколько людей будут помнить достаточно много и хорошо, а ещё будут готовы поделиться честным фидбэком? А что делать с ситуациями, когда кандидат не делится с текущим начальством планами о смене работы?

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

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

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

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

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

А если стремиться сделать найм максимально объективным и исключающим false positives, получатся FAANG-style собеседования, с десятком секций, кучей стресса и непонятными отказами.
Заказал я на одном популярном сайте авиабилеты. Данные пассажира выбрал из выпадашки: сайтом я пользовался уже когда-то. Мои данные там сохранены, включая номер заграна - они же и показались в менюшке, а в форме показались только имя-фамилия.

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

Захожу проверить себя, выбираю новые билеты - и точно, в выпадашке моё имя с правильными данными заграна. А вот в личном кабинете, в “Записной книжке” (тут активные путешественники угадали, о каком сайте речь) два пассажира сохранено: имя, фамилия, всё-всё-всё одинаковое, моё - но у одного российский паспорт, а у другого загран.

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

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

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

Это, конечно, только мои предположения: реальную причину бага и ситуацию в команде я не знаю. Но что-то из этого вполне может оказаться правдой.

Поэтому даже “перекладывать джейсоны” или “делать круды” важно где. Если вам интересна предметная область, и вы с вниманием и интересом относитесь к работе, у вас есть все шансы порадовать сотни и тысячи других людей. Или, как минимум, поберечь их нервы.
Баланс между порядком и хаосом

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

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

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

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

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

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

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

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

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

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

Оказываясь в ситуации полного порядка и предсказуемости, например, в корпорации или по какой-то причине слепо следуя догмам и правилам, человек легко превращается в бездушного раба. Это дословный перевод слов Питерсона (soulless slave) - очень неожиданно и приятно, что я обнаружил подтверждение идеям из книги Disciplined Minds в его лекции.

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

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

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

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

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

Я тогда вовсю ковырял С++ со справочником Страуструпа, но в алгоритмах ничего не понимал. Как решить задачку, я так и не сообразил - и в кружок ходить перестал. Хотя позже, уже в колледже, несколько раз ездил на олимпиады по программированию в составе команды. Мы даже привезли одну или две медали за призовые места, соревнуясь не только с колледжами, но и вузами юга России.

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

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

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

Поэтому я задумал доклад про полезные алгоритмы для фронтендеров. Содержание будет примерно следующее:

— Алгоритмы обхода деревьев: BFS, DFS, рекурсивные и итеративные версии
— Подобные алгоритмы для древоподобных структур - вложенных массивов и словарей, сравнения, копирования и прочих операций с ними
— Сериализация и десериализация (парсинг): от CSV и JSON до HTML, JSX и Markdown, включая несериализуемые объекты и элементарный поиск циклов (в графе ссылок)
— Битовые операции и их приложение к компактным форматам (кстати, написал недавно библиотечку для упаковки boolean и integer значений в 32-битные числа) вроде Base64 и protobuf

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

В дополнение хочу коснуться:
— Конечных автоматов для более элегантного парсинга и безглючной работы со сложными стейтами
— Элементарных алгоритмов поиска и сортировки
— Типовых алгоритмов на строках и массивах

Эти темы сложнее: не уверен, что смогу и успею раскрыть их в рамках доклада, и польза от них как будто бы ниже в приложении к day-to-day работе.

А вы что скажете? С какими алгоритмами приходилось сталкиваться во фронтенде и вебе?