Сделать из кучки скриптов нормальный локальный ETL
Мой Калькулятор стоимости жизни использует данные с Numbeo. Сейчас процесс выгрузки данных крайне примитивный.
- есть несколько скриптов, которые с помощью scrapy парсят сайт и складывают данные в промежуточные текстовые файлы
- ещё пара скриптов берут эти текстовые файлы, как-то обрабатывают и группируют данные и генерят JSON-файлы, которые используются в приложении
- bash-скрипт, который объединяет первые 2 шага
Всё это я запускаю локально (это намеренное решение, чтоб не городить CI/CD инфраструктуру). Деплоится всё отдельным ansible-плейбуком, чтобы разложить JSON в S3-подобное хранилище и обновить версию/URL в джаваскрипте вместе с релизом самого JS. Это тоже осознанное решение, потому что так деплоится мой сайт, а калькулятор - его часть.
Меня всё устраивает. Но дело в том, что на куче скриптов и текстовых файлов без SQL сложно делать нормальные агрегации и обрабатывать данные серьёзнее, чем просто выкинуть пустые поля или лишние символы.
Я вижу следующую итерацию этой системы как простейший ETL-пайплайн, который я также буду запускать локально.
- Extract: один питонячий скрипт, который инициализирует scrapy и сгружает всё в SQLite
- Transform: набор классов или функций, запускаемых в определённом порядке, чтобы применить все нужные обработки и создать агрегированные таблицы и всякие вьюхи
- Load: взять все получившиеся таблички и нагенерировать из них JSON-файлов
Всё это несложно запрограммировать, но мне интересно, есть ли какие-то инструменты для таких задач. Что-то типа конфигурируемого комбайна, который уже умеет парсить, складывать данные в БД, обрабатывать и писать JSON, а ты ему только реализацию каждого шага подсовывай.
Поделитесь опытом в комментариях.
Мой Калькулятор стоимости жизни использует данные с Numbeo. Сейчас процесс выгрузки данных крайне примитивный.
- есть несколько скриптов, которые с помощью scrapy парсят сайт и складывают данные в промежуточные текстовые файлы
- ещё пара скриптов берут эти текстовые файлы, как-то обрабатывают и группируют данные и генерят JSON-файлы, которые используются в приложении
- bash-скрипт, который объединяет первые 2 шага
Всё это я запускаю локально (это намеренное решение, чтоб не городить CI/CD инфраструктуру). Деплоится всё отдельным ansible-плейбуком, чтобы разложить JSON в S3-подобное хранилище и обновить версию/URL в джаваскрипте вместе с релизом самого JS. Это тоже осознанное решение, потому что так деплоится мой сайт, а калькулятор - его часть.
Меня всё устраивает. Но дело в том, что на куче скриптов и текстовых файлов без SQL сложно делать нормальные агрегации и обрабатывать данные серьёзнее, чем просто выкинуть пустые поля или лишние символы.
Я вижу следующую итерацию этой системы как простейший ETL-пайплайн, который я также буду запускать локально.
- Extract: один питонячий скрипт, который инициализирует scrapy и сгружает всё в SQLite
- Transform: набор классов или функций, запускаемых в определённом порядке, чтобы применить все нужные обработки и создать агрегированные таблицы и всякие вьюхи
- Load: взять все получившиеся таблички и нагенерировать из них JSON-файлов
Всё это несложно запрограммировать, но мне интересно, есть ли какие-то инструменты для таких задач. Что-то типа конфигурируемого комбайна, который уже умеет парсить, складывать данные в БД, обрабатывать и писать JSON, а ты ему только реализацию каждого шага подсовывай.
Поделитесь опытом в комментариях.
Способы переехать за границу
⚠️ Это обзорная статья, а не советы про переезд и его юридические тонкости. Я не юрист, и просто делюсь опытом.
Многие программисты мигрируют: сначала из провинции в Москву/Питер, а потом и за рубеж. Это классно, что такие возможности сейчас есть, хотя и работа на удалёнке из родного города с низкой стоимостью жизни - классный вариант.
Переезжают обычно по рабочей визе. У разных стран свои правила, но смысл плюс-минус один: вы умеете делать что-то редкое и востребованное рынком, поэтому вам дают возможность переехать и работать внутри чужой страны. Вы платите налоги этому государству и закрываете потребности его экономики. В некотором смысле вы нужны стране больше, чем она вам - и уж точно отдаёте ей намного больше.
Интересным этот вариант становится тогда, когда вы и сами хотите уехать, когда вам интересно работать в одной из нанимающих компаний и, наконец, когда рабочая виза потенциально превращается в ПМЖ, а потом гражданство.
Это самый распространённый путь переезда, но далеко не самый удобный. Вы обычно оказываетесь зависимы от работодателя - и должны получить новую визу, если хотите сменить работу. У вас будут очень ограниченные возможности: например, в UK нельзя открыть свою компанию и заниматься другой работой больше 20 часов в неделю. А работой не по специальности (официально) и вовсе нельзя.
В Штатах, например, полный бардак с рабочей визой - её ещё пойди получи из-за квоты, а во всяких экзотических странах вроде Сингапура или Китая гражданство никак не получить.
Но есть и другие варианты. В последнее время многие страны предлагают иммиграцию по стартап-визе. Особенно активна в этом смысле Эстония, а также Латвия, Литва и другие небогатые и небольшие страны вроде Португалии. Этот вариант может быть не намного лучше рабочей визы, так как к вам и вашей компании будут определённые требования - как для получения визы, так и для продления.
При этом в UK, например, стартап-виза вроде бы не конвертируется в ПМЖ так же легко, как и рабочая, и даётся всего на 2 года, после которых можно либо перейти на визу "состоявшегося" предпринимателя, либо просто уехать. В Эстонии получше с этим, а Португалия, к примеру, требует от компании годовой оборот около €350k спустя несколько лет.
В общем, особенностей много - но если вы хотите не работать и медленно копить на пенсию, а фигачить и предпринимательствовать, стартап-виза может быть удобнее. Например, их часто можно делать не только на себя, но и на сооснователей компании.
Но самый крутой известный мне вариант - это переезд по визе таланта. В США это виза O-1, а в UK - Global Talent. Про другие страны не знаю. Вне айти их выдают ребятам с нобелевскими премиями и всяким знаменитым артистам, но в айтишке своя жизнь - и получить такую визу может практически любой опытный разработчик, который продемонстрирует свои достижения.
К достижениям относятся, как правило, внушительный опыт работы и заслуги, рекомендации бывших коллег, публичная активность и признание сообществом, менторство и преподавание, научные работы. Я видел кучу ситуаций, когда человек без особых проблем собирает кейс за год-два и переезжает, имея намного больше прав и возможностей в новой стране, чем с рабочей визой.
Виза таланта не привязывает вас к работодателю, а значит позволяет легко менять работу и быть в менее зависимом от причуд компании положении (особенно в США, где потеря H1B может быть чревата кучей проблем). Как правило, через неё можно быстрее получить ПМЖ и потом гражданство. Вы сможете открыть свою компанию и заниматься плюс-минус чем угодно, что связано с вашей специальностью.
Есть и другие, менее распространённые варианты, например, трансфер в США по визе L-1 (такое часто делают сотрудники европейских офисов гугла и фейсбука, которые хотели в Штаты, но оказались в Европе), жизнь по digital nomad визе или визе фрилансера (такое есть в Испании, в Берлине и, кажется, много где ещё) или даже жизнь по студенческой визе + удалённая/нелегальная работа.
Про эти варианты я знаю ещё меньше, но просто имейте в виду, что они существуют.
⚠️ Это обзорная статья, а не советы про переезд и его юридические тонкости. Я не юрист, и просто делюсь опытом.
Многие программисты мигрируют: сначала из провинции в Москву/Питер, а потом и за рубеж. Это классно, что такие возможности сейчас есть, хотя и работа на удалёнке из родного города с низкой стоимостью жизни - классный вариант.
Переезжают обычно по рабочей визе. У разных стран свои правила, но смысл плюс-минус один: вы умеете делать что-то редкое и востребованное рынком, поэтому вам дают возможность переехать и работать внутри чужой страны. Вы платите налоги этому государству и закрываете потребности его экономики. В некотором смысле вы нужны стране больше, чем она вам - и уж точно отдаёте ей намного больше.
Интересным этот вариант становится тогда, когда вы и сами хотите уехать, когда вам интересно работать в одной из нанимающих компаний и, наконец, когда рабочая виза потенциально превращается в ПМЖ, а потом гражданство.
Это самый распространённый путь переезда, но далеко не самый удобный. Вы обычно оказываетесь зависимы от работодателя - и должны получить новую визу, если хотите сменить работу. У вас будут очень ограниченные возможности: например, в UK нельзя открыть свою компанию и заниматься другой работой больше 20 часов в неделю. А работой не по специальности (официально) и вовсе нельзя.
В Штатах, например, полный бардак с рабочей визой - её ещё пойди получи из-за квоты, а во всяких экзотических странах вроде Сингапура или Китая гражданство никак не получить.
Но есть и другие варианты. В последнее время многие страны предлагают иммиграцию по стартап-визе. Особенно активна в этом смысле Эстония, а также Латвия, Литва и другие небогатые и небольшие страны вроде Португалии. Этот вариант может быть не намного лучше рабочей визы, так как к вам и вашей компании будут определённые требования - как для получения визы, так и для продления.
При этом в UK, например, стартап-виза вроде бы не конвертируется в ПМЖ так же легко, как и рабочая, и даётся всего на 2 года, после которых можно либо перейти на визу "состоявшегося" предпринимателя, либо просто уехать. В Эстонии получше с этим, а Португалия, к примеру, требует от компании годовой оборот около €350k спустя несколько лет.
В общем, особенностей много - но если вы хотите не работать и медленно копить на пенсию, а фигачить и предпринимательствовать, стартап-виза может быть удобнее. Например, их часто можно делать не только на себя, но и на сооснователей компании.
Но самый крутой известный мне вариант - это переезд по визе таланта. В США это виза O-1, а в UK - Global Talent. Про другие страны не знаю. Вне айти их выдают ребятам с нобелевскими премиями и всяким знаменитым артистам, но в айтишке своя жизнь - и получить такую визу может практически любой опытный разработчик, который продемонстрирует свои достижения.
К достижениям относятся, как правило, внушительный опыт работы и заслуги, рекомендации бывших коллег, публичная активность и признание сообществом, менторство и преподавание, научные работы. Я видел кучу ситуаций, когда человек без особых проблем собирает кейс за год-два и переезжает, имея намного больше прав и возможностей в новой стране, чем с рабочей визой.
Виза таланта не привязывает вас к работодателю, а значит позволяет легко менять работу и быть в менее зависимом от причуд компании положении (особенно в США, где потеря H1B может быть чревата кучей проблем). Как правило, через неё можно быстрее получить ПМЖ и потом гражданство. Вы сможете открыть свою компанию и заниматься плюс-минус чем угодно, что связано с вашей специальностью.
Есть и другие, менее распространённые варианты, например, трансфер в США по визе L-1 (такое часто делают сотрудники европейских офисов гугла и фейсбука, которые хотели в Штаты, но оказались в Европе), жизнь по digital nomad визе или визе фрилансера (такое есть в Испании, в Берлине и, кажется, много где ещё) или даже жизнь по студенческой визе + удалённая/нелегальная работа.
Про эти варианты я знаю ещё меньше, но просто имейте в виду, что они существуют.
Личная и финансовая свобода
Удивительно, что мне почему-то понадобилось прочитать чужие слова про личную свободу, чтобы осознать, что это и есть моя основная мотивация. Несмотря на бесконечные размышления именно на эту тему.
Андрей Соловьёв, бывший учёный, которого упоминали в комментариях к посту про способы переезда за границу (как пример получения гринкарты США), писал в 2012-м году:
"Что есть личная свобода: делать то, что хочется. Не иметь начальства, дедлайнов и фиксированного рабочего дня. Не думать о визах, призывах в армии и прочих бюрократических заморочках. Если я захочу пойти на 6 месяцев по Аппалачиан трейлу, то не должен ни у кого отпрашиваться. Вот это личная свобода. Что такое финансовая свобода, надеюсь, всем понятно."
Именно так. Личная свобода - это когда мне не нужно ни перед кем отчитываться и просить разрешения сделать то, что я хочу, так, как я хочу, тогда, когда мне хочется. Ни перед государством, ни перед работодателем, ни перед любыми людьми.
Финансовая свобода - это когда мне не нужно жертвовать личной свободой ради денег.
Вот и всё.
Удивительно, что мне почему-то понадобилось прочитать чужие слова про личную свободу, чтобы осознать, что это и есть моя основная мотивация. Несмотря на бесконечные размышления именно на эту тему.
Андрей Соловьёв, бывший учёный, которого упоминали в комментариях к посту про способы переезда за границу (как пример получения гринкарты США), писал в 2012-м году:
"Что есть личная свобода: делать то, что хочется. Не иметь начальства, дедлайнов и фиксированного рабочего дня. Не думать о визах, призывах в армии и прочих бюрократических заморочках. Если я захочу пойти на 6 месяцев по Аппалачиан трейлу, то не должен ни у кого отпрашиваться. Вот это личная свобода. Что такое финансовая свобода, надеюсь, всем понятно."
Именно так. Личная свобода - это когда мне не нужно ни перед кем отчитываться и просить разрешения сделать то, что я хочу, так, как я хочу, тогда, когда мне хочется. Ни перед государством, ни перед работодателем, ни перед любыми людьми.
Финансовая свобода - это когда мне не нужно жертвовать личной свободой ради денег.
Вот и всё.
Люблю телеграм: хоть канал тут и сложно растить без внешнего продвижения, процесс у меня сложился замечательный. Раз в неделю я сажусь писать посты, когда есть настроение. Причём это очень удобно, потому что мне нужно немного расписаться - и тогда получается живенько и неплохо. Потом делаю запланированные публикации на неделю-две вперёд - и свободен. Красота!
Другое дело твитер. Я на той неделе вёл относительно популярный коллективный аккаунт
Хоть я и написал большую часть контента заранее, у меня не было инструментов отложенной публикации (говорят, надо пробовать Buffer?) плюс мне хотелось вовлекаться в обсуждения. Иначе зачем вообще писать в твитер? Поэтому я проверял уведомления как ненормальный на протяжении первых 4 дней.
Надо сказать, что отключенные уведомления (у меня они отключены везде кроме десятка избранных контактов и пары чатов уже пару лет точно) - основа концентрации и психического здоровья современного человека.
Судя по моим черновикам, я написал не меньше 60 тысяч символов и 10 тысяч слов - пятую часть неплохой книжки. Мои посты собрали около 1,8 миллионов просмотров, а приложенные ссылки - почти 6 тысяч кликов. И в телеграм пришло больше 800 новых подписчиков за это время - всем привет!
В общем, это пока моё самое публичное мероприятие (для сравнения, посты в канале собрали 60 тысяч просмотров за прошлый год, а все вместе статьи на VC и Habr - около 100-150 тысяч).
Получился интересный опыт. Мой канал хорошо подрос, а я поупражнялся в ведении твитера и немного познакомился с людьми. Наверное я взял высоковатый темп, но всё-таки вести твитер намного сложнее, чем телегу. Да и формат тоже странный: мои сообщения кучу раз выдёргивали из контекста (треда), да и делать слишком длинные треды тоже как будто бы не очень удобно.
Стало плюс-минус понятно, каково это - вести твитер, и, надо сказать, я не уверен, что очень уж хочу. Но продвигаться в англоязычном интернете как-то придётся, и популярного среди программистов твитера, видимо, не избежать.
Кстати, вам было бы удобно/интересно прочитать в канале конспекты и выдержки интересных тредов?
Я писал про деньги и самореализацию в IT, английский язык, собеседования и, в последний день, депрессию и профессиональное выгорание.
Другое дело твитер. Я на той неделе вёл относительно популярный коллективный аккаунт
@itunderhood
. Запланировал 6 дней контента и 1 день свободного общения. В итоге на 4-й день я понял, что фигачить каждый день сложно и решил сделать субботу и воскресенье выходными.Хоть я и написал большую часть контента заранее, у меня не было инструментов отложенной публикации (говорят, надо пробовать Buffer?) плюс мне хотелось вовлекаться в обсуждения. Иначе зачем вообще писать в твитер? Поэтому я проверял уведомления как ненормальный на протяжении первых 4 дней.
Надо сказать, что отключенные уведомления (у меня они отключены везде кроме десятка избранных контактов и пары чатов уже пару лет точно) - основа концентрации и психического здоровья современного человека.
Судя по моим черновикам, я написал не меньше 60 тысяч символов и 10 тысяч слов - пятую часть неплохой книжки. Мои посты собрали около 1,8 миллионов просмотров, а приложенные ссылки - почти 6 тысяч кликов. И в телеграм пришло больше 800 новых подписчиков за это время - всем привет!
В общем, это пока моё самое публичное мероприятие (для сравнения, посты в канале собрали 60 тысяч просмотров за прошлый год, а все вместе статьи на VC и Habr - около 100-150 тысяч).
Получился интересный опыт. Мой канал хорошо подрос, а я поупражнялся в ведении твитера и немного познакомился с людьми. Наверное я взял высоковатый темп, но всё-таки вести твитер намного сложнее, чем телегу. Да и формат тоже странный: мои сообщения кучу раз выдёргивали из контекста (треда), да и делать слишком длинные треды тоже как будто бы не очень удобно.
Стало плюс-минус понятно, каково это - вести твитер, и, надо сказать, я не уверен, что очень уж хочу. Но продвигаться в англоязычном интернете как-то придётся, и популярного среди программистов твитера, видимо, не избежать.
Кстати, вам было бы удобно/интересно прочитать в канале конспекты и выдержки интересных тредов?
Я писал про деньги и самореализацию в IT, английский язык, собеседования и, в последний день, депрессию и профессиональное выгорание.
Интересно было бы почитать выдержки моих тредов из @itunderhood тут?
Anonymous Poll
47%
Про деньги
41%
Самореализацию
37%
Английский
38%
Собеседования
36%
Выгорание и депрессию
7%
Лучше в Твитере почитаю
14%
Посмотреть результаты
Как нестандартная архитектура сайта помогла решить проблемы с технологиями, командой и затянутым проектом редизайна
Так будет называться мой доклад на TechLead Conf в Москве, 1 июля. Расскажу историю своей команды в Toptal, куда я пришёл разработчиком, а спустя пару месяцев стал тимлидом и унаследовал кучу проблем:
- распределённая команда демотивирована, и её самые опытные члены ушли в другую команду;
- нужно сделать редизайн всего сайта, дедлайн был год назад - а не сделано ничего;
- в коде полный швах и легаси, и на это не то что нанять невозможно - самим работать тяжело.
Это только самые высокоуровневые проблемы: про ужасную скорость разработки, необратимые релизы, занимающие по часу, отсутствие инструментов младше 5 лет и подобное я вообще молчу.
Как ни странно, их удалось решить через моё изобретение - движок рендеринга, подобный Gatsby/Next, но работающий как stateless HTTP-сервис. Даём на вход название страницы и данные, получаем в ответ строчку HTML.
Это был самый "весёлый" рабочий год на моей памяти (не считая переезда в Лондон): всё это нужно было осознать и придумать, согласовать и сделать, нанять людей, уложиться в новые сроки с редизайном и не просрать накопленный SEO-капитал прошлой версии сайта.
Идёте на TechLead Conf? Заходите послушать.
Так будет называться мой доклад на TechLead Conf в Москве, 1 июля. Расскажу историю своей команды в Toptal, куда я пришёл разработчиком, а спустя пару месяцев стал тимлидом и унаследовал кучу проблем:
- распределённая команда демотивирована, и её самые опытные члены ушли в другую команду;
- нужно сделать редизайн всего сайта, дедлайн был год назад - а не сделано ничего;
- в коде полный швах и легаси, и на это не то что нанять невозможно - самим работать тяжело.
Это только самые высокоуровневые проблемы: про ужасную скорость разработки, необратимые релизы, занимающие по часу, отсутствие инструментов младше 5 лет и подобное я вообще молчу.
Как ни странно, их удалось решить через моё изобретение - движок рендеринга, подобный Gatsby/Next, но работающий как stateless HTTP-сервис. Даём на вход название страницы и данные, получаем в ответ строчку HTML.
Это был самый "весёлый" рабочий год на моей памяти (не считая переезда в Лондон): всё это нужно было осознать и придумать, согласовать и сделать, нанять людей, уложиться в новые сроки с редизайном и не просрать накопленный SEO-капитал прошлой версии сайта.
Идёте на TechLead Conf? Заходите послушать.
techleadconf.ru
Олег Громов на TechLead Conf 2021
У нас была куча проблем с сайтом — важнейшим маркетинговым инструментом компании, состоящим из тысяч страниц.Среди них: запутанный и ненадёжный код, долгие и часто необратимые релизы, поломанные и крайне долгие e2e-тесты, ужасающе низкая скорость разработки…
Онбординг-чеклист для разработчиков в небольших продуктовых компаниях
Я недавно начал работать в стартапе Hook и по этому поводу написал для себя небольшой чеклист для онбординга. Делюсь им с вами, может быть и вам когда-то пригодится.
Моя цель на первые месяц-два: разобраться в происходящем в компании и продукте, понять свою роль и ожидания коллег, научиться решать задачи end-to-end, от понимания "зачем" до работающего кода в продакшене.
1. Продукт и фичи, пользователи, рынок. Какие задачи он решает и для кого? Кто основные пользователи и клиенты, откуда деньги и где точки роста. Какие важные фичи есть, а каких не хватает. На какие метрики смотрим, чтобы отслеживать движение в нужном направлении, и где. Кто наши конкуренты, чем мы лучше и/или отличаемся в принципе. Будет ли влиять код, который я пишу, непосредственно на продукт.
2. Релизы, эксперименты, инфраструктура. Как код попадает в продакшен? В каком облаке всё работает, как конфигурируется инфраструктура и кто за это отвечает. Что за CI/CD-система используется, где работают тесты и насколько они надёжны. Как выкатить и откатить релиз, могу ли я сделать это сам или нужен кто-то ещё. Используются ли эксперименты (A/B-тесты), feature flags. На какие графики смотреть до, во время и после релиза и что делать в случае проблем.
3. Архитектура приложения, код, технологии. Как устроено приложение, с которым я буду работать? Что за архитектура, какие компоненты ключевые. Монолит, микросервисы или гибрид. Внешние зависимости, источники данных и БД, чужие API. Как это всё конфигурируется, запускается локально и в продакшене. Какие технологии и библиотеки используются, как структурирован код. Нужно ли мне изучить что-то новое. Как дебажить, какие инструменты использовать для разработки. Каков процесс разработки - github flow, trunk-based, пул-реквесты.
4. Планы, проекты, ритуалы. Как работает команда, в которой я оказался? Как происходит планирование, каковы текущие планы и цели, какие задачи входят в critical path проектов. Есть ли OKR или KPI в каком-то виде, кто принимает стратегические решения. Насколько мы укладываемся в текущие планы, есть ли жёсткие дедлайны, связанные с маркетингом или ожиданиями клиентов. Какие регулярные встречи есть, как общается команда - синхронно, асинхронно, в чатах или email, в курилке.
5. Люди, ожидания, динамика в команде. Как зовут людей, чем они занимаются в компании и вне неё? С кем мне предстоит работать больше всего. Подсмотреть полезные фишки, инструменты и техники у каждого. Каковы ожидания моего непосредственного руководства и топов. Какая динамика в команде, к кому прислушиваются и замолкают когда он(а) говорит, с кем можно поржать. Кто и какие решения принимает. У кого какие сильные стороны, в каком темпе они работают, кому и какие вопросы задавать.
Раньше я онбордился как-то хаотично, полагаясь либо на процессы компании, либо вообще на авось. Но первые месяцы в компании - слишком важный период, чтобы пускать его на самотёк. Кажется, от него зависит вся последующая вовлечённость, продуктивность и реализация моих амбиций в компании. Плюс самые глупые и неудобные вопросы комфортнее всего задавать в самом начале. Ведь новичкам всё можно.
Свои находки я стараюсь записывать (и зарисовывать) в один бумажный блокнот, чтобы лучше запоминать и иметь возможность вернуться к этим записям. Один блокнот, а не ворох бумажек или миллион заметок на компе, потому что так проще найти то, что нужно.
А как вы онбордитесь?
Я недавно начал работать в стартапе Hook и по этому поводу написал для себя небольшой чеклист для онбординга. Делюсь им с вами, может быть и вам когда-то пригодится.
Моя цель на первые месяц-два: разобраться в происходящем в компании и продукте, понять свою роль и ожидания коллег, научиться решать задачи end-to-end, от понимания "зачем" до работающего кода в продакшене.
1. Продукт и фичи, пользователи, рынок. Какие задачи он решает и для кого? Кто основные пользователи и клиенты, откуда деньги и где точки роста. Какие важные фичи есть, а каких не хватает. На какие метрики смотрим, чтобы отслеживать движение в нужном направлении, и где. Кто наши конкуренты, чем мы лучше и/или отличаемся в принципе. Будет ли влиять код, который я пишу, непосредственно на продукт.
2. Релизы, эксперименты, инфраструктура. Как код попадает в продакшен? В каком облаке всё работает, как конфигурируется инфраструктура и кто за это отвечает. Что за CI/CD-система используется, где работают тесты и насколько они надёжны. Как выкатить и откатить релиз, могу ли я сделать это сам или нужен кто-то ещё. Используются ли эксперименты (A/B-тесты), feature flags. На какие графики смотреть до, во время и после релиза и что делать в случае проблем.
3. Архитектура приложения, код, технологии. Как устроено приложение, с которым я буду работать? Что за архитектура, какие компоненты ключевые. Монолит, микросервисы или гибрид. Внешние зависимости, источники данных и БД, чужие API. Как это всё конфигурируется, запускается локально и в продакшене. Какие технологии и библиотеки используются, как структурирован код. Нужно ли мне изучить что-то новое. Как дебажить, какие инструменты использовать для разработки. Каков процесс разработки - github flow, trunk-based, пул-реквесты.
4. Планы, проекты, ритуалы. Как работает команда, в которой я оказался? Как происходит планирование, каковы текущие планы и цели, какие задачи входят в critical path проектов. Есть ли OKR или KPI в каком-то виде, кто принимает стратегические решения. Насколько мы укладываемся в текущие планы, есть ли жёсткие дедлайны, связанные с маркетингом или ожиданиями клиентов. Какие регулярные встречи есть, как общается команда - синхронно, асинхронно, в чатах или email, в курилке.
5. Люди, ожидания, динамика в команде. Как зовут людей, чем они занимаются в компании и вне неё? С кем мне предстоит работать больше всего. Подсмотреть полезные фишки, инструменты и техники у каждого. Каковы ожидания моего непосредственного руководства и топов. Какая динамика в команде, к кому прислушиваются и замолкают когда он(а) говорит, с кем можно поржать. Кто и какие решения принимает. У кого какие сильные стороны, в каком темпе они работают, кому и какие вопросы задавать.
Раньше я онбордился как-то хаотично, полагаясь либо на процессы компании, либо вообще на авось. Но первые месяцы в компании - слишком важный период, чтобы пускать его на самотёк. Кажется, от него зависит вся последующая вовлечённость, продуктивность и реализация моих амбиций в компании. Плюс самые глупые и неудобные вопросы комфортнее всего задавать в самом начале. Ведь новичкам всё можно.
Свои находки я стараюсь записывать (и зарисовывать) в один бумажный блокнот, чтобы лучше запоминать и иметь возможность вернуться к этим записям. Один блокнот, а не ворох бумажек или миллион заметок на компе, потому что так проще найти то, что нужно.
А как вы онбордитесь?
Мотивация и вовлечённость в работу
Я в последнее время очень много сталкиваюсь с вопросами мотивации, а также много изучаю себя, в том числе через психотерапию и всякие письменные практики. Сталкиваюсь обычно неприятно: например, недавно обнаружил, что меня не прёт работать в "крутой" компании и, вероятно, никогда не пёрло. А вот рефлексия иногда приводит к интересным результатам.
Решил я проанализировать, насколько вовлечённым я был (если верить воспоминаниям) в определённые периоды своей рабочей жизни. Их набралось больше 10 штук за последнее десятилетие. Выписал каждое место работы и проект, вспомнил, насколько меня пёрло от работы в это время, попытался оценить вовлечённость и её продолжительность.
В некоторых случаях (работа в Швеции, потом в Фейсбуке) мой интерес и энтузиазм к работе колебался около нуля. В Фейсбуке, к примеру, мне поначалу было достаточно интересно - но с введением карантина и началом сложностей работы в команде я практически полностью потерял желание работать. Надо сказать, что интерес изначально был весьма скромный - я выбрал Фейсбук, чтобы переехать, из соображений надёжности компании. Надеялся, что стерпится-слюбится.
С работой за деньги вообще всё сложно: я сильно вовлекался в основном под давлением обстоятельств, в частности, когда огонь под жопой полыхает. Так было в Топтале (демотивированная команда, затянутый проект, кривые технологии - и моя ответственность как тимлида за это всё), так же было в Яндексе. Хотя в Яндексе ещё и было давление со стороны коллег и офисной среды, в хорошем смысле. То есть меня любили и ценили, от меня зависели другие люди, и это вдохновляло приходить на работу.
В таких случаях вовлечённость и мотивация были временными и явно индуцированными внешними обстоятельствами. То есть как только я оказывался вне офиса Яндекса и задумывался о будущем, мне почти сразу становилось тоскливо и хотелось заняться чем-то другим. В Топтале, как только основные проблемы были решены (нанята команда, придуман новый движок рендеринга, правильно спланирован проект), мне тоже стало неинтересно.
Наибольшая вовлечённость и драйв, когда я фигачил как ненормальный, были в случае с моими собственными задумками. Правда и продолжалось это, как правило, недолго - несколько месяцев максимум. Потом приходил какой-то откат, опускались руки (или кончались деньги) и, вероятно, нужно было заново зажечь себя. Думаю, я мог бы жить такими циклами: фигачинг, рефлексия, фигачинг, рефлексия.
Это происходило с моей идеей Космодрома давным-давно, недавно с Калькулятором, а в прошлом году с Quiken, ещё с одним стартапом до Яндекса, где я проработал всего месяц. Как будто бы это происходит в ситуациях, когда меня в равной степени вдохновляют возможные результаты и радует моя роль вместе с ежедневной работой.
То есть просто сказать себе "иди в предпринимательство и делай что угодно" не получится. И настолько же хреново получается дисциплинированно заниматься какой-то фигней продолжительное время, чтобы через эту фигню добиться чего-то ещё. Например, работать пару десятилетий на скучной работе, чтобы накопить на пенсию - явно не моя история, у меня от этого крыша едет.
И это при том, что я более-менее научился дисциплине и постоянству: регулярно хожу в спортзал, постоянно занимался математикой в 2018-2019, чтобы поступить в очередные ВУЗы, фигачил литкод и алгоритмы несколько месяцев, чтобы пройти собеседования в Фейсбук и TradeDesk. Блог веду уже больше года.
Всё это - и плохие, и хорошие новости для меня. Плохие потому, что, получается, я не могу просто схватить любую попавшуюся возможность, идею, путь - и приняться долбить туда, добиваясь успехов. По крайней мере, последние 10 лет у меня так не получалось, и, глядя на этот опыт, издеваться на собой снова не хочется.
Хорошие потому, что, выходит, не такой уж большой у меня выбор. Допуская, что эти ощущения и чувства подлинные (а чего в них сомневаться вообще? они вполне постоянны и реальны, как минимум, для меня), я просто не хочу заниматься одними вещами, а другими хочу. Так просто выходит.
А у вас как?
Я в последнее время очень много сталкиваюсь с вопросами мотивации, а также много изучаю себя, в том числе через психотерапию и всякие письменные практики. Сталкиваюсь обычно неприятно: например, недавно обнаружил, что меня не прёт работать в "крутой" компании и, вероятно, никогда не пёрло. А вот рефлексия иногда приводит к интересным результатам.
Решил я проанализировать, насколько вовлечённым я был (если верить воспоминаниям) в определённые периоды своей рабочей жизни. Их набралось больше 10 штук за последнее десятилетие. Выписал каждое место работы и проект, вспомнил, насколько меня пёрло от работы в это время, попытался оценить вовлечённость и её продолжительность.
В некоторых случаях (работа в Швеции, потом в Фейсбуке) мой интерес и энтузиазм к работе колебался около нуля. В Фейсбуке, к примеру, мне поначалу было достаточно интересно - но с введением карантина и началом сложностей работы в команде я практически полностью потерял желание работать. Надо сказать, что интерес изначально был весьма скромный - я выбрал Фейсбук, чтобы переехать, из соображений надёжности компании. Надеялся, что стерпится-слюбится.
С работой за деньги вообще всё сложно: я сильно вовлекался в основном под давлением обстоятельств, в частности, когда огонь под жопой полыхает. Так было в Топтале (демотивированная команда, затянутый проект, кривые технологии - и моя ответственность как тимлида за это всё), так же было в Яндексе. Хотя в Яндексе ещё и было давление со стороны коллег и офисной среды, в хорошем смысле. То есть меня любили и ценили, от меня зависели другие люди, и это вдохновляло приходить на работу.
В таких случаях вовлечённость и мотивация были временными и явно индуцированными внешними обстоятельствами. То есть как только я оказывался вне офиса Яндекса и задумывался о будущем, мне почти сразу становилось тоскливо и хотелось заняться чем-то другим. В Топтале, как только основные проблемы были решены (нанята команда, придуман новый движок рендеринга, правильно спланирован проект), мне тоже стало неинтересно.
Наибольшая вовлечённость и драйв, когда я фигачил как ненормальный, были в случае с моими собственными задумками. Правда и продолжалось это, как правило, недолго - несколько месяцев максимум. Потом приходил какой-то откат, опускались руки (или кончались деньги) и, вероятно, нужно было заново зажечь себя. Думаю, я мог бы жить такими циклами: фигачинг, рефлексия, фигачинг, рефлексия.
Это происходило с моей идеей Космодрома давным-давно, недавно с Калькулятором, а в прошлом году с Quiken, ещё с одним стартапом до Яндекса, где я проработал всего месяц. Как будто бы это происходит в ситуациях, когда меня в равной степени вдохновляют возможные результаты и радует моя роль вместе с ежедневной работой.
То есть просто сказать себе "иди в предпринимательство и делай что угодно" не получится. И настолько же хреново получается дисциплинированно заниматься какой-то фигней продолжительное время, чтобы через эту фигню добиться чего-то ещё. Например, работать пару десятилетий на скучной работе, чтобы накопить на пенсию - явно не моя история, у меня от этого крыша едет.
И это при том, что я более-менее научился дисциплине и постоянству: регулярно хожу в спортзал, постоянно занимался математикой в 2018-2019, чтобы поступить в очередные ВУЗы, фигачил литкод и алгоритмы несколько месяцев, чтобы пройти собеседования в Фейсбук и TradeDesk. Блог веду уже больше года.
Всё это - и плохие, и хорошие новости для меня. Плохие потому, что, получается, я не могу просто схватить любую попавшуюся возможность, идею, путь - и приняться долбить туда, добиваясь успехов. По крайней мере, последние 10 лет у меня так не получалось, и, глядя на этот опыт, издеваться на собой снова не хочется.
Хорошие потому, что, выходит, не такой уж большой у меня выбор. Допуская, что эти ощущения и чувства подлинные (а чего в них сомневаться вообще? они вполне постоянны и реальны, как минимум, для меня), я просто не хочу заниматься одними вещами, а другими хочу. Так просто выходит.
А у вас как?
Почему автора Homebrew не взяли в Google?
Известную историю про Max Howell, автора Homebrew, которого не взяли в гугл, часто приводят в качестве обоснования мнению "разработчиков собеседуют неправильно, не надо заставлять писать код на доске, ведь мы так в жизни не делаем". Смотрите, мол, даже такого крутана не взяли, значит всё и правда плохо (и мы правы). Дайте мешок денег и не задавайте вопросов.
Если разобраться и почитать его ответ, всё становится более-менее понятно.
Чувак написал Homebrew, как он сам выражается, дерьмово ("it's shit frankly"). Его пакетный менеджер стал популярным, но не потому, что он достиг инженерного совершенства, а потому что написал нормальную программу для нормальных пользователей, которые хотят решить задачу и получить внятные сообщения об ошибках и рекомендации по их устранению, если что-то пошло не так. Да, программисты - тоже пользователи.
Ключевой аргумент Макса: "what the fuck does comp-sci have to do with modern app development?". И ответ на это: ничего, особенно когда речь идёт про потребительский, в сущности несложный софт, а не замороченные алгоритмы нахождения консенсуса в распределённых системах и подобную эквилибристику.
То есть Макс, по моему мнению, в равной степени предприниматель и разработчик. Он не только написал какую-то поделку (как много моих или ваших проектов стали настолько популярными?), но ещё и нашёл проблему многих людей (как ставить софт на мак без GUI), достойную решения и, вероятно, интересную ему. Решил её правильно - так, как ожидали пользователи, потом каким-то образом раскрутил своё решение.
Я не знаю истории Homebrew и очень много додумываю. Но из его поста на Quora следует примерно это. А ещё после написания предыдущего абзаца я открыл его сайт, а там первой строчкой фраза "I'm an entrepreneur". Сходится.
Полезные ли это навыки? Безусловно. Крутой ли он разработчик? Да офигенный просто. Подходит ли он гуглу? Вот тут возникают вопросы.
Мой весьма ограниченный опыт работы в Фейсбуке подсказывает, что требования техногигантов в корне отличаются от, например, мелких продуктовых компаний и стартапов. В маленькой компании надо делать быстро и с заботой о пользователе, а на чистоту и производительность кода часто наплевать, а в корпорации - быть идеальным винтиком, который ещё и без проблем меняет технологии и проекты.
Смог бы так Макс? Не знаю, может быть. Но я так не могу и, главное, не хочу. Вероятно, и он испытывает что-то подобное. Стоило ли гуглу делать исключение для него? Не уверен. Их найм настроен определённым образом. С чего вдруг делать скидки авторам популярных библиотек?
Значит ли это, что всем нужны собеседования, как у гугла или фейсбука? Да нет конечно! Но из этого не следует и вывода "писать код на собеседовании не надо", который притягивают за уши к истории с Максом.
Стоит ли всем разработчикам стремиться в самые дорогие компании мира? Нет.
Ну а те, кто по-настоящему стремится попасть в FAANG, найдут в себе силы и время (и, безусловно, мозги), чтобы научиться вращать деревья на собеседованиях.
Известную историю про Max Howell, автора Homebrew, которого не взяли в гугл, часто приводят в качестве обоснования мнению "разработчиков собеседуют неправильно, не надо заставлять писать код на доске, ведь мы так в жизни не делаем". Смотрите, мол, даже такого крутана не взяли, значит всё и правда плохо (и мы правы). Дайте мешок денег и не задавайте вопросов.
Если разобраться и почитать его ответ, всё становится более-менее понятно.
Чувак написал Homebrew, как он сам выражается, дерьмово ("it's shit frankly"). Его пакетный менеджер стал популярным, но не потому, что он достиг инженерного совершенства, а потому что написал нормальную программу для нормальных пользователей, которые хотят решить задачу и получить внятные сообщения об ошибках и рекомендации по их устранению, если что-то пошло не так. Да, программисты - тоже пользователи.
Ключевой аргумент Макса: "what the fuck does comp-sci have to do with modern app development?". И ответ на это: ничего, особенно когда речь идёт про потребительский, в сущности несложный софт, а не замороченные алгоритмы нахождения консенсуса в распределённых системах и подобную эквилибристику.
То есть Макс, по моему мнению, в равной степени предприниматель и разработчик. Он не только написал какую-то поделку (как много моих или ваших проектов стали настолько популярными?), но ещё и нашёл проблему многих людей (как ставить софт на мак без GUI), достойную решения и, вероятно, интересную ему. Решил её правильно - так, как ожидали пользователи, потом каким-то образом раскрутил своё решение.
Я не знаю истории Homebrew и очень много додумываю. Но из его поста на Quora следует примерно это. А ещё после написания предыдущего абзаца я открыл его сайт, а там первой строчкой фраза "I'm an entrepreneur". Сходится.
Полезные ли это навыки? Безусловно. Крутой ли он разработчик? Да офигенный просто. Подходит ли он гуглу? Вот тут возникают вопросы.
Мой весьма ограниченный опыт работы в Фейсбуке подсказывает, что требования техногигантов в корне отличаются от, например, мелких продуктовых компаний и стартапов. В маленькой компании надо делать быстро и с заботой о пользователе, а на чистоту и производительность кода часто наплевать, а в корпорации - быть идеальным винтиком, который ещё и без проблем меняет технологии и проекты.
Смог бы так Макс? Не знаю, может быть. Но я так не могу и, главное, не хочу. Вероятно, и он испытывает что-то подобное. Стоило ли гуглу делать исключение для него? Не уверен. Их найм настроен определённым образом. С чего вдруг делать скидки авторам популярных библиотек?
Значит ли это, что всем нужны собеседования, как у гугла или фейсбука? Да нет конечно! Но из этого не следует и вывода "писать код на собеседовании не надо", который притягивают за уши к истории с Максом.
Стоит ли всем разработчикам стремиться в самые дорогие компании мира? Нет.
Ну а те, кто по-настоящему стремится попасть в FAANG, найдут в себе силы и время (и, безусловно, мозги), чтобы научиться вращать деревья на собеседованиях.
Недавно я писал про RSU, упомянув, что "обычно их либо продают сразу, либо оставляют в надежде на рост".
Моя привычка продавать сразу появилась в 2014-2015 году, когда курс акций Яндекса сначала сильно упал, а потом прыгал вверх-вниз вместе с курсом доллара.
Было непонятно, как долго это продлится. Я обычно продавал их по цене, близкой к максимальной за месяц-два, либо когда замечал сильное падение. Наверное, средняя цена продажи была около $18. Сейчас, глядя на график тех лет, я понимаю, что особой надежды на рост не было - да и неоткуда ей было взяться.
Однако спустя несколько лет акции стоят почти в 4 раза дороже.
С Фейсбуком подобная история: курс сильно упал в начале 20-го года, когда я вышел на работу. По иронии судьбы, грант расчитывали по цене января, которая была почти на 30% выше цены февраля.
Но сейчас, спустя полтора года, цена акций выросла уже вполовину.
Наверное, пока big tech-пузырь продолжает раздуваться, RSU стоит всё-таки держать. Это, конечно, не investment advice 😅
Моя привычка продавать сразу появилась в 2014-2015 году, когда курс акций Яндекса сначала сильно упал, а потом прыгал вверх-вниз вместе с курсом доллара.
Было непонятно, как долго это продлится. Я обычно продавал их по цене, близкой к максимальной за месяц-два, либо когда замечал сильное падение. Наверное, средняя цена продажи была около $18. Сейчас, глядя на график тех лет, я понимаю, что особой надежды на рост не было - да и неоткуда ей было взяться.
Однако спустя несколько лет акции стоят почти в 4 раза дороже.
С Фейсбуком подобная история: курс сильно упал в начале 20-го года, когда я вышел на работу. По иронии судьбы, грант расчитывали по цене января, которая была почти на 30% выше цены февраля.
Но сейчас, спустя полтора года, цена акций выросла уже вполовину.
Наверное, пока big tech-пузырь продолжает раздуваться, RSU стоит всё-таки держать. Это, конечно, не investment advice 😅
Как менялось моё отношение к программированию
Первый код, который работал где-то за пределами моего компьютера, я написал году в 2004-м. Это был мой сайт. Там была не только кучка HTML-страничек, но ещё и гостевая книга на перле, которая через CGI подключалась к Apache. Не могу найти тот код, но там точно был вагон конкатенаций строчек вместо шаблонов и текстовый файлик по соседству со скриптом вместо БД. Чудо какое-то! Мне было 15 лет.
До этого я лет пять программировал всякую муру на бейсике, С и С++. Причём Си был моим любимым языком из-за своей простоты. Ничего серьёзного я на нём не написал (только кроссплатформенный Qt-проект на С++ много позже), но я бы, честно говоря, и сейчас писал бы какую-нибудь дрянь на чистом Си. Обожаю простые как сапог инструменты.
Поначалу мне нравилось ковыряться в низкоуровневых кишках, памяти руками выделить, пройтись дизассемблером по COM-файлу. Я ничего толком не понимал, но как-то даже заказал полный бесплатный мануал от Intel по x86 архитектуре. Мне пришло тогда 6 книжек, весом во столько же килограмм, прямо из США. Я обалдел - Кремниевая долина вторглась прямо в жизнь подростка из провинции.
Вообще я даже и не думал, что стану программистом - мне больше нравились железки, я читал "Библию Хакера", пытался установить разные линупсы (и юнипсы) на древние компы, писал какие-то скрипты для mIRC и "хакал" доисторические веб-чаты. Ещё мне как-то подарили шестизначную аську - признак крутости в те времена.
Спустя несколько лет я попал на первую работу, веб-разработчиком, и какое-то время не мог въехать во все эти PHP, серверы, БД и прочую клиент-серверную хрень. Разобрался с джаваскриптом, написав тетрис (этот код жив и по сей день), и плевался на его прототипное "неправильное" наследование. Мне по-прежнему хотелось делать что-то крутое - программировать микроконтроллеры или писать на С++.
Но тогда у меня появились деньги, и я пошёл за ними - сначал во фриланс, а потом и в крупные компании в Москве. Отношение с любопытства и интереса сменилось на более прагматичное.
Я долго трепыхался между программированием чего-то, что мне было не очень интересно (хотя интерес, как аппетит, приходил во время еды), и менеджментом. Мне захотелось управлять проектами, проектировать системы, а после и тимлидить. И вот именно тимлидство зашло намного лучше промышленного программирования. И большая часть моих профессиональных успехов случилась именно в качестве тимлида.
В какой-то момент, осознав себя в некоем профессиональном тупике, я решил, что стоит стать "лучшим в мире программистом". Ну то есть выучить весь computer science, сделать какие-то крутые штуки. Это хорошая идея, но, как оказалось, всё-таки не моя. Спустя пару лет я забил.
Сейчас, спустя уже полтора десятилетия с начала карьеры, я вернулся к прагматизму в отношении программирования.
Меня не сильно увлекают фреймворки, правильные решения сложных проблем - да и сложные проблемы в принципе, не очень интересно учить новые языки и технологии. Я, конечно, прочувствовал, насколько это может быть интересно - написать библиотеку с продуманным API, запилить эффективный алгоритм для замороченной "олимпиадной" задачки, разобраться в функциональщине. Но посвящать этому всю свою жизнь и внимание я точно не хочу.
Я долго сопротивлялся: это ведь настоящий кризис профессиональной идентичности. Но, разобравшись в природе своей мотивации, я понимаю, что моё - это делать что-то новое, с помощью известных мне инструментов, в некотором смысле как попало.
В этом смысле я точно не профессиональный инженер-программист, а скорее стартапер-кулибин. Написать очередной велосипед или MVP на коленке - это моё. Ковыряться в кишках проприетарных библиотек какого-нибудь Фейсбука - не моё. Пилить годами продуктовые фичи тоже не очень интересно, хотя и может быть любопытно поначалу.
И это очень освобождающее осознание. Я рад, что наконец-то понял, что программирование для меня - всего лишь инструмент (в том числе, достижения собственных целей).
Первый код, который работал где-то за пределами моего компьютера, я написал году в 2004-м. Это был мой сайт. Там была не только кучка HTML-страничек, но ещё и гостевая книга на перле, которая через CGI подключалась к Apache. Не могу найти тот код, но там точно был вагон конкатенаций строчек вместо шаблонов и текстовый файлик по соседству со скриптом вместо БД. Чудо какое-то! Мне было 15 лет.
До этого я лет пять программировал всякую муру на бейсике, С и С++. Причём Си был моим любимым языком из-за своей простоты. Ничего серьёзного я на нём не написал (только кроссплатформенный Qt-проект на С++ много позже), но я бы, честно говоря, и сейчас писал бы какую-нибудь дрянь на чистом Си. Обожаю простые как сапог инструменты.
Поначалу мне нравилось ковыряться в низкоуровневых кишках, памяти руками выделить, пройтись дизассемблером по COM-файлу. Я ничего толком не понимал, но как-то даже заказал полный бесплатный мануал от Intel по x86 архитектуре. Мне пришло тогда 6 книжек, весом во столько же килограмм, прямо из США. Я обалдел - Кремниевая долина вторглась прямо в жизнь подростка из провинции.
Вообще я даже и не думал, что стану программистом - мне больше нравились железки, я читал "Библию Хакера", пытался установить разные линупсы (и юнипсы) на древние компы, писал какие-то скрипты для mIRC и "хакал" доисторические веб-чаты. Ещё мне как-то подарили шестизначную аську - признак крутости в те времена.
Спустя несколько лет я попал на первую работу, веб-разработчиком, и какое-то время не мог въехать во все эти PHP, серверы, БД и прочую клиент-серверную хрень. Разобрался с джаваскриптом, написав тетрис (этот код жив и по сей день), и плевался на его прототипное "неправильное" наследование. Мне по-прежнему хотелось делать что-то крутое - программировать микроконтроллеры или писать на С++.
Но тогда у меня появились деньги, и я пошёл за ними - сначал во фриланс, а потом и в крупные компании в Москве. Отношение с любопытства и интереса сменилось на более прагматичное.
Я долго трепыхался между программированием чего-то, что мне было не очень интересно (хотя интерес, как аппетит, приходил во время еды), и менеджментом. Мне захотелось управлять проектами, проектировать системы, а после и тимлидить. И вот именно тимлидство зашло намного лучше промышленного программирования. И большая часть моих профессиональных успехов случилась именно в качестве тимлида.
В какой-то момент, осознав себя в некоем профессиональном тупике, я решил, что стоит стать "лучшим в мире программистом". Ну то есть выучить весь computer science, сделать какие-то крутые штуки. Это хорошая идея, но, как оказалось, всё-таки не моя. Спустя пару лет я забил.
Сейчас, спустя уже полтора десятилетия с начала карьеры, я вернулся к прагматизму в отношении программирования.
Меня не сильно увлекают фреймворки, правильные решения сложных проблем - да и сложные проблемы в принципе, не очень интересно учить новые языки и технологии. Я, конечно, прочувствовал, насколько это может быть интересно - написать библиотеку с продуманным API, запилить эффективный алгоритм для замороченной "олимпиадной" задачки, разобраться в функциональщине. Но посвящать этому всю свою жизнь и внимание я точно не хочу.
Я долго сопротивлялся: это ведь настоящий кризис профессиональной идентичности. Но, разобравшись в природе своей мотивации, я понимаю, что моё - это делать что-то новое, с помощью известных мне инструментов, в некотором смысле как попало.
В этом смысле я точно не профессиональный инженер-программист, а скорее стартапер-кулибин. Написать очередной велосипед или MVP на коленке - это моё. Ковыряться в кишках проприетарных библиотек какого-нибудь Фейсбука - не моё. Пилить годами продуктовые фичи тоже не очень интересно, хотя и может быть любопытно поначалу.
И это очень освобождающее осознание. Я рад, что наконец-то понял, что программирование для меня - всего лишь инструмент (в том числе, достижения собственных целей).
В заложниках у рациональности
Недавно обсуждали с одним хорошим знакомым выбор между "переехать в Долину, чтобы (с высокой вероятностью) заработать N миллионов баксов за N лет" и "плюнуть на карьеру и делать свои проекты, чтобы какой-то их них (с намного меньшей вероятностью) вырос в прибыльный бизнес".
Оставляя за скобками детали конкретно этих опций, хочу порассуждать про роль рационального мышления в своей жизни.
Я давно задаюсь вопросами, где на одной чаше весов как будто бы понятное решение с практически гарантированным результатом (рациональное), а на другой - хотелки, риск и приключения (это скорее интуитивное или эмоциональное).
И долгое время мой подход был неизменным, очень программистским: смоделировать цепочку событий, умозрительно расставить риски-вероятности, а потом выбрать подход с наибольшей результативностью (условной вероятностью) как единственно верный. Это хороший инструмент, который часто достаточно эффективно работает.
Но у него есть одна неприятная особенность: он вызывает привыкание.
Тогда из полезного инструмента он превращается в диктатора, парализующего волю и подавляющего личность. Примерно так: сначала не решаюсь на то, чего хочется, потому что благоприятный исход маловероятен, а спустя много лет добровольного подчинения сраной рациональности начинаю видеть всю свою жизнь на десятилетия вперёд, окончательно теряю веру в себя и перестаю даже пытаться.
Мне куда больше нравится оставлять последнее слово за собой.
Недавно обсуждали с одним хорошим знакомым выбор между "переехать в Долину, чтобы (с высокой вероятностью) заработать N миллионов баксов за N лет" и "плюнуть на карьеру и делать свои проекты, чтобы какой-то их них (с намного меньшей вероятностью) вырос в прибыльный бизнес".
Оставляя за скобками детали конкретно этих опций, хочу порассуждать про роль рационального мышления в своей жизни.
Я давно задаюсь вопросами, где на одной чаше весов как будто бы понятное решение с практически гарантированным результатом (рациональное), а на другой - хотелки, риск и приключения (это скорее интуитивное или эмоциональное).
И долгое время мой подход был неизменным, очень программистским: смоделировать цепочку событий, умозрительно расставить риски-вероятности, а потом выбрать подход с наибольшей результативностью (условной вероятностью) как единственно верный. Это хороший инструмент, который часто достаточно эффективно работает.
Но у него есть одна неприятная особенность: он вызывает привыкание.
Тогда из полезного инструмента он превращается в диктатора, парализующего волю и подавляющего личность. Примерно так: сначала не решаюсь на то, чего хочется, потому что благоприятный исход маловероятен, а спустя много лет добровольного подчинения сраной рациональности начинаю видеть всю свою жизнь на десятилетия вперёд, окончательно теряю веру в себя и перестаю даже пытаться.
Мне куда больше нравится оставлять последнее слово за собой.
Переворачиваю страницу
Мы с одним из моих лучших друзей взялись за новый проект: хотим сделать классно в мире презентаций. Как именно классно и для я кого буду рассказывать по ходу дела - видимо, мой блог имеет все шансы превратиться в building in public, популярный сейчас формат. Может и вам понравится.
В этом проекте пока очень много неизвестных, но в одном я точно уверен: писать горы кода, не разобравшивись в том, кому это нужно, мы не будем.
Думаю, существенная доля провалившихся стартапов проваливается именно потому, что у их основателей чешутся руки сделать что-то классное. А разобраться в критически важных для бизнеса вопросах не чешутся.
У меня поначалу получилось так же: я сразу бросился решать какие-то интересные проблемы через код, влетел в небольшой тупик (к счастью), а потом осознал, что делать продукт исходя исключительно из собственных предположений наивно.
Вместо этого занимаюсь настоящим предпринимательством: исследую рынок, ищу людей для интервью, планирую маркетинговые эксперименты с привлечением интересного нам сегмента, чтобы проверить насколько им откликается наше предложение. Хочу понять, нащупали ли мы заслуживающие решения проблемы.
Ну а потом, когда всё состоится и более-менее сойдётся, будем пилить первый прототип.
Мы с одним из моих лучших друзей взялись за новый проект: хотим сделать классно в мире презентаций. Как именно классно и для я кого буду рассказывать по ходу дела - видимо, мой блог имеет все шансы превратиться в building in public, популярный сейчас формат. Может и вам понравится.
В этом проекте пока очень много неизвестных, но в одном я точно уверен: писать горы кода, не разобравшивись в том, кому это нужно, мы не будем.
Думаю, существенная доля провалившихся стартапов проваливается именно потому, что у их основателей чешутся руки сделать что-то классное. А разобраться в критически важных для бизнеса вопросах не чешутся.
У меня поначалу получилось так же: я сразу бросился решать какие-то интересные проблемы через код, влетел в небольшой тупик (к счастью), а потом осознал, что делать продукт исходя исключительно из собственных предположений наивно.
Вместо этого занимаюсь настоящим предпринимательством: исследую рынок, ищу людей для интервью, планирую маркетинговые эксперименты с привлечением интересного нам сегмента, чтобы проверить насколько им откликается наше предложение. Хочу понять, нащупали ли мы заслуживающие решения проблемы.
Ну а потом, когда всё состоится и более-менее сойдётся, будем пилить первый прототип.
Про исследование рынка
В комментариях к прошлому посту писали, что любопытно узнать про исследование рынка. Никакой особенной методики у меня нет, и всё исследование сводится к изучению и систематизации следующих штук.
- конкурентов, делающих продукты и оказывающих услуги в нашей области;
- открытой статистики и отчётности, чтобы прикинуть размер рынка;
- мнений, жалоб и отзывов на форумах, реддите, кворе и в прочих коммьюнити.
Больше всего надежд у меня было на мнения и отзывы, прекурсор полноценного "этнографического метода". Но пока толку от этого этапа меньше всего, потому что найти что-то полезное в тематических сабреддитах и по очевидным поисковым запросам практически не получается. Наверное я просто не умею его готовить.
Статистика и отчётность (например, майкрософта или гугла) чуть более полезны. Так я узнал про количество пользователей (42m+ у Office 365 и около 6m у Workspace), выручку майкрософта и какие-то числа гугла по этим направлениям - хотя и без разбивки по продуктам.
Ещё где-то наткнулся, что доля PowerPoint на рынке презентаций оценивается (кем-то, фиг знает, не спрашивайте) в 95%. Неудивительно, учитывая распространённость Windows и то, что Presenter (так он раньше назывался) существует с 1987-го. И это, вероятно, объясняет немалое количество стартапов с серьёзными инвестициями в этой области. Наверное хотят урвать кусок рынка.
Но полезнее всего изучение конкурентов. Их много, сайты у них красивые и нашпигованные unique selling points и прочими маркетинговыми текстами, они публикуют тонны образовательных статей. Из-за которых, кстати, хрен найдёшь какой-то полезный контент от живых людей. У всех более-менее понятное ценообразование, и многие публикуют количество пользователей или созданных презентаций.
Всё это супер неточно, но позволяет хотя бы примерно прикинуть размеры рынка и на что мы можем рассчитывать со своим потенциальным продуктом.
Главное, что я понял на текущем этапе: не получится выбрать "правильное" направление, не начав делать продукт.
Как минимум, я не понимаю, как найти полезную и достоверную информацию в интернете. Но ещё более важным кажется, что на вероятность успеха влияют все компоненты сразу: правильно выбранный рынок, ценность и качество самого продукта, найденные/настроенные каналы привлечения клиентов, способность нашей команды быстро проверять разные идеи.
В комментариях к прошлому посту писали, что любопытно узнать про исследование рынка. Никакой особенной методики у меня нет, и всё исследование сводится к изучению и систематизации следующих штук.
- конкурентов, делающих продукты и оказывающих услуги в нашей области;
- открытой статистики и отчётности, чтобы прикинуть размер рынка;
- мнений, жалоб и отзывов на форумах, реддите, кворе и в прочих коммьюнити.
Больше всего надежд у меня было на мнения и отзывы, прекурсор полноценного "этнографического метода". Но пока толку от этого этапа меньше всего, потому что найти что-то полезное в тематических сабреддитах и по очевидным поисковым запросам практически не получается. Наверное я просто не умею его готовить.
Статистика и отчётность (например, майкрософта или гугла) чуть более полезны. Так я узнал про количество пользователей (42m+ у Office 365 и около 6m у Workspace), выручку майкрософта и какие-то числа гугла по этим направлениям - хотя и без разбивки по продуктам.
Ещё где-то наткнулся, что доля PowerPoint на рынке презентаций оценивается (кем-то, фиг знает, не спрашивайте) в 95%. Неудивительно, учитывая распространённость Windows и то, что Presenter (так он раньше назывался) существует с 1987-го. И это, вероятно, объясняет немалое количество стартапов с серьёзными инвестициями в этой области. Наверное хотят урвать кусок рынка.
Но полезнее всего изучение конкурентов. Их много, сайты у них красивые и нашпигованные unique selling points и прочими маркетинговыми текстами, они публикуют тонны образовательных статей. Из-за которых, кстати, хрен найдёшь какой-то полезный контент от живых людей. У всех более-менее понятное ценообразование, и многие публикуют количество пользователей или созданных презентаций.
Всё это супер неточно, но позволяет хотя бы примерно прикинуть размеры рынка и на что мы можем рассчитывать со своим потенциальным продуктом.
Главное, что я понял на текущем этапе: не получится выбрать "правильное" направление, не начав делать продукт.
Как минимум, я не понимаю, как найти полезную и достоверную информацию в интернете. Но ещё более важным кажется, что на вероятность успеха влияют все компоненты сразу: правильно выбранный рынок, ценность и качество самого продукта, найденные/настроенные каналы привлечения клиентов, способность нашей команды быстро проверять разные идеи.
У меня было несколько выматывающих и тупых периодов в жизни. Первый - лет 10 назад, накануне переезда в Москву. Я тогда фрилансил, и мой график превратился в винегрет: я смотрел сериалы по ночам, спал днём и пытался работать вечером.
Потом я про это быстренько забыл, переключившись на работу и жизнь в новом городе. Но оказалось, что это не единичный случай, а вполне себе закономерность.
Когда я жил в Швеции, сложилась примерно такая же ситуация. Хоть я и просыпался рано, чтобы ходить на работу, вечера я проводил так же - смотрел сериалы и тосковал. Мне казалось, что дело в Швеции, где я никого не знал и мало что понимал, и даже не приходило в голову, что это ровно то же самое, что и пять лет назад.
Сейчас, уже в Лондоне, с семьей, работой и предпринимательством, я редко тоскую или залипаю. Но только потому, что на это не остаётся времени. Как только появляется время и относительная свобода, я автоматически скатываюсь в залипание и замечаю за собой, что не особенно хочу заниматься чем-то продуктивным. Мне быстро становится скучно, и организовывать себя приходится через большое внутреннее сопротивление. Да и получается это не всегда.
По всей видимости, это такая врождённая организация психики. Чтобы не съезжать в безделье, её необходимо держать в узде с помощью стабильного и жёсткого распорядка дня, а также подкармливать приятными впечатлениями. Зато с такими мозгами и на месте не усидеть, всё время хочется что-то поменять.
Чтобы не превратиться в обрыгана, я стараюсь делать следующее:
- ложиться не позже полуночи и вставать около 8 утра
- первым делом заправлять кровать
- гулять и делать зарядку ещё до завтрака
- ходить в спортзал тягать железки 2-3 раза в неделю
- соблюдать информационную гигиену - минимум подписок, фейсбука, инстаграма и так далее
- поменьше брать в руки телефон и компьютер для "отдыха"
От этого всего появляется ощущение порядка и контроля, но всё равно кажется, что энтузиазма и энергии иногда маловато. Буду пробовать ещё вот что:
- больше физической активности, спортивных игр и всяких хобби
- публично декларировать цели и отчитываться о прогрессе
- общаться больше в офлайне - как с коллегами, так и с близкими
- работать с людьми, которые мне интересны и приятны
Как ни странно, свободное время и вообще свобода, которых мне как будто бы не хватает, работают отчасти против меня и моих интересов. А учитывая то, что я планирую в течение пары лет полностью переключиться на предпринимательство, моя самая важная задача - научиться организовывать себя в отсутствие внешних органичений.
А вам что помогает победить своих демонов?
Потом я про это быстренько забыл, переключившись на работу и жизнь в новом городе. Но оказалось, что это не единичный случай, а вполне себе закономерность.
Когда я жил в Швеции, сложилась примерно такая же ситуация. Хоть я и просыпался рано, чтобы ходить на работу, вечера я проводил так же - смотрел сериалы и тосковал. Мне казалось, что дело в Швеции, где я никого не знал и мало что понимал, и даже не приходило в голову, что это ровно то же самое, что и пять лет назад.
Сейчас, уже в Лондоне, с семьей, работой и предпринимательством, я редко тоскую или залипаю. Но только потому, что на это не остаётся времени. Как только появляется время и относительная свобода, я автоматически скатываюсь в залипание и замечаю за собой, что не особенно хочу заниматься чем-то продуктивным. Мне быстро становится скучно, и организовывать себя приходится через большое внутреннее сопротивление. Да и получается это не всегда.
По всей видимости, это такая врождённая организация психики. Чтобы не съезжать в безделье, её необходимо держать в узде с помощью стабильного и жёсткого распорядка дня, а также подкармливать приятными впечатлениями. Зато с такими мозгами и на месте не усидеть, всё время хочется что-то поменять.
Чтобы не превратиться в обрыгана, я стараюсь делать следующее:
- ложиться не позже полуночи и вставать около 8 утра
- первым делом заправлять кровать
- гулять и делать зарядку ещё до завтрака
- ходить в спортзал тягать железки 2-3 раза в неделю
- соблюдать информационную гигиену - минимум подписок, фейсбука, инстаграма и так далее
- поменьше брать в руки телефон и компьютер для "отдыха"
От этого всего появляется ощущение порядка и контроля, но всё равно кажется, что энтузиазма и энергии иногда маловато. Буду пробовать ещё вот что:
- больше физической активности, спортивных игр и всяких хобби
- публично декларировать цели и отчитываться о прогрессе
- общаться больше в офлайне - как с коллегами, так и с близкими
- работать с людьми, которые мне интересны и приятны
Как ни странно, свободное время и вообще свобода, которых мне как будто бы не хватает, работают отчасти против меня и моих интересов. А учитывая то, что я планирую в течение пары лет полностью переключиться на предпринимательство, моя самая важная задача - научиться организовывать себя в отсутствие внешних органичений.
А вам что помогает победить своих демонов?
Лучше журавль в небе, чем синица в руках
Если вы интересовались Фейсбуком, то наверняка слышали знаменитую фразу "Move Fast, Break Things". Двигайся быстро, не бойся что-то сломать. Звучит достаточно противоречиво, особенно для разработчика, особенно в одной из самых крупных и дорогих компаний мира.
Может сложиться впечатление, что компания поощряет необдуманные действия. Но оказывается, это вовсе не про разработку. Andrew Bosworth, один из ранних сотрудников компании, объясняет:
"Opening to all users to get to higher ground meant risking everything. Our college users might have abandoned us. ... We believe we should never be afraid to risk sacrificing a good product in the search of a great one."
То есть это про развитие продукта и компании в целом. Оставляя за скобками сам Фейсбук, к которому у многих есть претензии, перефразирую эту идею для стартаперов.
Не бойтесь отказаться от небольшого успеха и существующих клиентов в поисках классного продукта и большой (благодарной) аудитории.
Наверное не всем подойдет строить подобного Фейсбуку монстра. Но каждому стоит быть готовым отказаться от бесперспективных идей в пользу других, которые и вдохновят, и принесут пользу достаточному количеству людей. Чтобы вкладываться в такой проект было не жалко, и заработать можно было хорошо - не только для себя, но и для всей команды.
Если вы интересовались Фейсбуком, то наверняка слышали знаменитую фразу "Move Fast, Break Things". Двигайся быстро, не бойся что-то сломать. Звучит достаточно противоречиво, особенно для разработчика, особенно в одной из самых крупных и дорогих компаний мира.
Может сложиться впечатление, что компания поощряет необдуманные действия. Но оказывается, это вовсе не про разработку. Andrew Bosworth, один из ранних сотрудников компании, объясняет:
"Opening to all users to get to higher ground meant risking everything. Our college users might have abandoned us. ... We believe we should never be afraid to risk sacrificing a good product in the search of a great one."
То есть это про развитие продукта и компании в целом. Оставляя за скобками сам Фейсбук, к которому у многих есть претензии, перефразирую эту идею для стартаперов.
Не бойтесь отказаться от небольшого успеха и существующих клиентов в поисках классного продукта и большой (благодарной) аудитории.
Наверное не всем подойдет строить подобного Фейсбуку монстра. Но каждому стоит быть готовым отказаться от бесперспективных идей в пользу других, которые и вдохновят, и принесут пользу достаточному количеству людей. Чтобы вкладываться в такой проект было не жалко, и заработать можно было хорошо - не только для себя, но и для всей команды.
Самые полезные 15 минут в день
Может быть, я напишу что-то очевидное, но надеюсь, мои наблюдения кому-то окажутся полезными.
Сколько себя помню, я замечал, что частое состояние после рабочего дня - это какая-то муть. И буквально, и фигурально: зрение расфокусируется, в голове вата, смотрю перед собой и будто бы ничего не понимаю. Я пытался с этим бороться с помощью прогулок, но помогало далеко не всегда.
И тут недавно у меня начала неметь ладонь. Я удивился, побежал читать про туннельный синдром запястья, немного струсил (что, уже?), а потом решил, что что-то тут не так. Уж слишком неожиданно этот эффект повился, в то время как туннельный синдром всё-таки развивается годами. Но новую мышку и клавиатуру всё-таки купил. Мышка и клава удобные и прикольные, но эффект никуда не делся.
Тогда я начал интересоваться, как разминать руки, дошёл до влияния шеи, плеч и состояния позвоночника на онемение (связь прямая, т.к. нервные окончания рук выходят как раз из шейного отдела позвоночника). Прекратил тренировки с весами на всякий случай, перестал пить протеин и БАДы и стал пробовать более лайтовые тренировки. Разумеется, пришёл к йоге.
И - о чудо! - не только онемение прошло спустя пару дней таких тренировок, но и муть куда-то пропала. Эффект поразительный: позанимался 15 минут с утра - проснулся, хотя раньше на это уходило пол-литра кофе и два часа. Позанимался 15 минут вечером - муть как рукой сняло, зрение стало резче, голова прочистилась и снова готова к новым свершениям. Даже есть после утренней тренировки как будто хочется меньше.
В общем, рекомендую. А тренировки свои я возобновлю, но разминкой больше пренебрегать не буду.
P.S. Самое классное в клавиатуре и мышке - возможность подключаться сразу к нескольким компьютерам. Переключение по нажатию кнопки/переключению ползунка на мышке. Очень быстро и удобно, намного лучше даже двух наборов периферии для рабочего и домашнего компьютера (так у меня было).
Может быть, я напишу что-то очевидное, но надеюсь, мои наблюдения кому-то окажутся полезными.
Сколько себя помню, я замечал, что частое состояние после рабочего дня - это какая-то муть. И буквально, и фигурально: зрение расфокусируется, в голове вата, смотрю перед собой и будто бы ничего не понимаю. Я пытался с этим бороться с помощью прогулок, но помогало далеко не всегда.
И тут недавно у меня начала неметь ладонь. Я удивился, побежал читать про туннельный синдром запястья, немного струсил (что, уже?), а потом решил, что что-то тут не так. Уж слишком неожиданно этот эффект повился, в то время как туннельный синдром всё-таки развивается годами. Но новую мышку и клавиатуру всё-таки купил. Мышка и клава удобные и прикольные, но эффект никуда не делся.
Тогда я начал интересоваться, как разминать руки, дошёл до влияния шеи, плеч и состояния позвоночника на онемение (связь прямая, т.к. нервные окончания рук выходят как раз из шейного отдела позвоночника). Прекратил тренировки с весами на всякий случай, перестал пить протеин и БАДы и стал пробовать более лайтовые тренировки. Разумеется, пришёл к йоге.
И - о чудо! - не только онемение прошло спустя пару дней таких тренировок, но и муть куда-то пропала. Эффект поразительный: позанимался 15 минут с утра - проснулся, хотя раньше на это уходило пол-литра кофе и два часа. Позанимался 15 минут вечером - муть как рукой сняло, зрение стало резче, голова прочистилась и снова готова к новым свершениям. Даже есть после утренней тренировки как будто хочется меньше.
В общем, рекомендую. А тренировки свои я возобновлю, но разминкой больше пренебрегать не буду.
P.S. Самое классное в клавиатуре и мышке - возможность подключаться сразу к нескольким компьютерам. Переключение по нажатию кнопки/переключению ползунка на мышке. Очень быстро и удобно, намного лучше даже двух наборов периферии для рабочего и домашнего компьютера (так у меня было).
💰 Исследование зарплат разработчиков (анонимно)
Всегда интересно узнать, сколько платят коллегам по цеху. Это не только любопытно, но ещё и полезно: можно понять, платят ли вам рыночную зарплату и стоит ли искать новую работу или просить повышения.
Плюс есть ощущение, что пандемия сильно изменила рынок, и теперь больше компаний готовы нанимать удалённо, а также, возможно, выросла конкуренция за умы. Это случилось не так давно, а данных не так много, чтобы составить однозначное представление о текущем состоянии рынка без отдельного исследования.
Я сделал небольшую гугл-форму, где собираю анонимные ответы про доход разработчиков: https://forms.gle/F27VuaK8o55Na5LL9
Если каждый из нас потратит несколько минут и заполнит форму (я уже добавил свои 4 офера с 2018 года и добавлю ещё несколько, которые не принял), особенно указав все свои оферы/места работы за последние несколько лет, соберётся достаточное количество статистически достоверных данных.
Проанализировав ваши ответы, я надеюсь найти ответы на вопросы:
🤩 что выгоднее, удалёнка или офис
🌏 как изменилось соотношение удалённых и офисных вакансий
💵 выросли ли зарплаты разработчиков в последние год-два и на сколько
Чем больше людей поучаствует, тем более достоверным получится отчёт - а значит тем больше пользы нам с вами.
Поучаствуйте сами и расскажите об опросе друзьям, поделившись этим постом или прямой ссылкой на форму. Спустя несколько недель я проанализирую ответы и скомпилирую отчёт, который выложу у себя в канале.
До связи! 👋
PS указывайте зарплату за год, хоть это и не привычно нам в России 🤓
Всегда интересно узнать, сколько платят коллегам по цеху. Это не только любопытно, но ещё и полезно: можно понять, платят ли вам рыночную зарплату и стоит ли искать новую работу или просить повышения.
Плюс есть ощущение, что пандемия сильно изменила рынок, и теперь больше компаний готовы нанимать удалённо, а также, возможно, выросла конкуренция за умы. Это случилось не так давно, а данных не так много, чтобы составить однозначное представление о текущем состоянии рынка без отдельного исследования.
Я сделал небольшую гугл-форму, где собираю анонимные ответы про доход разработчиков: https://forms.gle/F27VuaK8o55Na5LL9
Если каждый из нас потратит несколько минут и заполнит форму (я уже добавил свои 4 офера с 2018 года и добавлю ещё несколько, которые не принял), особенно указав все свои оферы/места работы за последние несколько лет, соберётся достаточное количество статистически достоверных данных.
Проанализировав ваши ответы, я надеюсь найти ответы на вопросы:
🤩 что выгоднее, удалёнка или офис
🌏 как изменилось соотношение удалённых и офисных вакансий
💵 выросли ли зарплаты разработчиков в последние год-два и на сколько
Чем больше людей поучаствует, тем более достоверным получится отчёт - а значит тем больше пользы нам с вами.
Поучаствуйте сами и расскажите об опросе друзьям, поделившись этим постом или прямой ссылкой на форму. Спустя несколько недель я проанализирую ответы и скомпилирую отчёт, который выложу у себя в канале.
До связи! 👋
PS указывайте зарплату за год, хоть это и не привычно нам в России 🤓
Google Docs
Исследование зарплат разработчиков (анонимно)
Интересно знать, сколько зарабатывают другие? А ведь это ещё и полезно!
Собрав достаточное количество ответов, я проанализирую их и сделаю отчёт, которым поделюсь у себя в канале — чтобы вы не упускали возможности, получали адекватную рыночным условиям…
Собрав достаточное количество ответов, я проанализирую их и сделаю отчёт, которым поделюсь у себя в канале — чтобы вы не упускали возможности, получали адекватную рыночным условиям…
Олег Громов печатает... pinned «💰 Исследование зарплат разработчиков (анонимно) Всегда интересно узнать, сколько платят коллегам по цеху. Это не только любопытно, но ещё и полезно: можно понять, платят ли вам рыночную зарплату и стоит ли искать новую работу или просить повышения. Плюс…»
Зачем публиковать статьи в зарубежных журналах?
Пока в опросе о зарплатах копятся ответы (есть уже почти 300 штук - поучаствуйте и вы), немного похвастаюсь.
Недавно в онлайн-журнале LeadDev опубликовали мою статью The Beast Mode. Это рассказ от первого лица о том, как в 2018-2019 годах мы в Топтале с моей классной командой делали редизайн сайта.
Казалось бы, редизайн, что тут такого? Но на самом деле редизайн - это, как правило, сложно. В особенности, если нужно не поломать важные показатели: в нашем случае это были SEO-метрики, Web Vitals (тогда этот термин ещё не был общеупотребимым), разнообразные конверсии.
Но нам и без метрик проблем хватало: разброд в команде из-за расплывчатого scope и целей, устаревшие технологии на фронтенде и связанные с этим сложности в найме. В общем, почитайте сами.
А я пока расскажу, как эта статья появилась на свет и зачем вообще публиковаться где-то.
Пару лет назад я отправил заявку на участие в конференции LeadDev. Офлайн, огромная сцена, крутые докладчики - словом, красота. Конечно же, мою заявку отклонили, потому что я на крупных конференциях не выступал, особенно зарубежных. Ну и конкуренция за место на таких мероприятиях всегда большая.
И тут, в начале этого лета, мне приходит письмо от редакции их журнала: мол, Олег, нашли вашу заявку, классная тема, не хотите ли написать статью? Я к тому моменту немного перегорел к идее публикаций, но отказываться не стал - всё ж не каждый день предлагают. Сел и на одном дыхании написал статью, отправил. В ответ тишина.
Потом приходит ответ: редактор, который с вами работал, уволился, поэтому ожидайте. Я поожидал и дождался нового редактора, который поправил мою грамматику и лексику и опубликовал статью.
Сиюминутная польза этого мероприятия сомнительна: никаких показателей просмотров мне не видно, комментариев нет, в твитере не тегнули. Гонорар, правда, заплатили: 250 долларов. Ну и то хлеб. Но публиковаться, на мой взгляд, стоит совсем по другим причинам.
Кажется, что публикации помогают раскачать свой профиль и впоследствии опубликоваться в других крутых изданиях или на более интересные вам темы. Вероятно, наличие статей упростит и согласование заявок на выступления.
Но и это всё не ради фана, а для получения классной визы, например, Global Talent в UK или O-1 в США. Для неё как раз требуется раскаченный профиль, публикации и выступления. Всё это делается не один день и отнимает массу сил (не всегда получается писать на одном дыхании), поэтому лучше начинать сильно заранее.
Я, например, ближайшие пару лет "визу таланта" получать не собираюсь, но почву готовлю. Мне не сложно, другим полезно, и результат может быть очень приятным: возможность жить в классной стране без привязки к работодателю и, в случае с UK, получить ВНЖ быстрее, чем на Skilled Worker.
Пока в опросе о зарплатах копятся ответы (есть уже почти 300 штук - поучаствуйте и вы), немного похвастаюсь.
Недавно в онлайн-журнале LeadDev опубликовали мою статью The Beast Mode. Это рассказ от первого лица о том, как в 2018-2019 годах мы в Топтале с моей классной командой делали редизайн сайта.
Казалось бы, редизайн, что тут такого? Но на самом деле редизайн - это, как правило, сложно. В особенности, если нужно не поломать важные показатели: в нашем случае это были SEO-метрики, Web Vitals (тогда этот термин ещё не был общеупотребимым), разнообразные конверсии.
Но нам и без метрик проблем хватало: разброд в команде из-за расплывчатого scope и целей, устаревшие технологии на фронтенде и связанные с этим сложности в найме. В общем, почитайте сами.
А я пока расскажу, как эта статья появилась на свет и зачем вообще публиковаться где-то.
Пару лет назад я отправил заявку на участие в конференции LeadDev. Офлайн, огромная сцена, крутые докладчики - словом, красота. Конечно же, мою заявку отклонили, потому что я на крупных конференциях не выступал, особенно зарубежных. Ну и конкуренция за место на таких мероприятиях всегда большая.
И тут, в начале этого лета, мне приходит письмо от редакции их журнала: мол, Олег, нашли вашу заявку, классная тема, не хотите ли написать статью? Я к тому моменту немного перегорел к идее публикаций, но отказываться не стал - всё ж не каждый день предлагают. Сел и на одном дыхании написал статью, отправил. В ответ тишина.
Потом приходит ответ: редактор, который с вами работал, уволился, поэтому ожидайте. Я поожидал и дождался нового редактора, который поправил мою грамматику и лексику и опубликовал статью.
Сиюминутная польза этого мероприятия сомнительна: никаких показателей просмотров мне не видно, комментариев нет, в твитере не тегнули. Гонорар, правда, заплатили: 250 долларов. Ну и то хлеб. Но публиковаться, на мой взгляд, стоит совсем по другим причинам.
Кажется, что публикации помогают раскачать свой профиль и впоследствии опубликоваться в других крутых изданиях или на более интересные вам темы. Вероятно, наличие статей упростит и согласование заявок на выступления.
Но и это всё не ради фана, а для получения классной визы, например, Global Talent в UK или O-1 в США. Для неё как раз требуется раскаченный профиль, публикации и выступления. Всё это делается не один день и отнимает массу сил (не всегда получается писать на одном дыхании), поэтому лучше начинать сильно заранее.
Я, например, ближайшие пару лет "визу таланта" получать не собираюсь, но почву готовлю. Мне не сложно, другим полезно, и результат может быть очень приятным: возможность жить в классной стране без привязки к работодателю и, в случае с UK, получить ВНЖ быстрее, чем на Skilled Worker.
LeadDev
The Beast Mode: How to supercharge your team to achieve an ambitious goal
Splitting teams into squads to boost productivity