Happy Devops — сообщество адекватных инженеров pinned «Хочу в FAANG Для новогодних обещаний, конечно, рановато, но я хочу подготовиться 🙂 Итак, поймал себя на мысли о том, что мне скучновато. Душа просит челленджа, причем не повседневного такого челленджа, их у меня на работе хватает, а прям Челленджа. И…»
Итак, потихоньку систематизирую. Пока про кодинг
Задачки буду решать на питоне. Во-первых, я его соу-соу знаю. Во-вторых, я уже решал на нем алгоритмические задачки :)
В качестве платформы для задач выбираем, конечно же, LeetCode. Его рекомендуют вообще все, там неплохое коммьюнити, есть прямо секции интервью. Ближе к старту куплю премиум-аккаунт
На собесах, по большей части, будут задачи уровня Medium. Поэтому при подготовке рекомендуют разделять так:
- 20% Easy
- 60% Medium
- 20% Hard
Но так как я ненастоящий программист, то, пожалуй, добавлю 10% к Easy и, соответственно, уберу 10% у Hard. Весь январь буду решать в основном задачки уровня Easy, надо набить руку
Из дидактических материалов в бумажном виде у меня есть класснейшая "Грокаем алгоритмы" и просто "Алгоритмы" за авторством Рода Стивенса. В электронном виде буду читать две из серии Cracking: "Cracking the Coding interview" и "Cracking the PM interview". Хотя вторая про продактов, но знающие люди говорят, что она не менее полезна при подготовке
Задачки буду решать на питоне. Во-первых, я его соу-соу знаю. Во-вторых, я уже решал на нем алгоритмические задачки :)
В качестве платформы для задач выбираем, конечно же, LeetCode. Его рекомендуют вообще все, там неплохое коммьюнити, есть прямо секции интервью. Ближе к старту куплю премиум-аккаунт
На собесах, по большей части, будут задачи уровня Medium. Поэтому при подготовке рекомендуют разделять так:
- 20% Easy
- 60% Medium
- 20% Hard
Но так как я ненастоящий программист, то, пожалуй, добавлю 10% к Easy и, соответственно, уберу 10% у Hard. Весь январь буду решать в основном задачки уровня Easy, надо набить руку
Из дидактических материалов в бумажном виде у меня есть класснейшая "Грокаем алгоритмы" и просто "Алгоритмы" за авторством Рода Стивенса. В электронном виде буду читать две из серии Cracking: "Cracking the Coding interview" и "Cracking the PM interview". Хотя вторая про продактов, но знающие люди говорят, что она не менее полезна при подготовке
Есть вопрос
В процессе поиска информации я нахожу прекраснейшие заметки, типа вот этой:
How to use LeetCode to help yourself efficiently and effectively (for beginners)
Возникает желание перевести ее и опубликовать перевод, но не будет ли это напрасной работой? Потому как для подготовки и прохождения собеседования английский не то что важен, а прямо-таки необходим и люди, которых может заинтересовать этот текст, смогут прочитать его самостоятельно и им будет достаточно ссылки.
Что думаете?
В процессе поиска информации я нахожу прекраснейшие заметки, типа вот этой:
How to use LeetCode to help yourself efficiently and effectively (for beginners)
Возникает желание перевести ее и опубликовать перевод, но не будет ли это напрасной работой? Потому как для подготовки и прохождения собеседования английский не то что важен, а прямо-таки необходим и люди, которых может заинтересовать этот текст, смогут прочитать его самостоятельно и им будет достаточно ссылки.
Что думаете?
LeetCode
Discuss - LeetCode
The Geek Hub for Discussions, Learning, and Networking.
Переводить ли заметки с советами для подготовки к собеседованиям?
Anonymous Poll
53%
Да
28%
Нет
19%
Посмотрю результаты
Язык шаблонов
Опять про книжки. "Язык шаблонов" Кристофера Александера, больше тысячи страниц чистейшего кайфа. Ее я читал, надо сказать, очень долго, почти год. Но эта книга плохо предназначена для чтения подряд, это, скорее, справочное издание, но и просто ее читать — сплошное удовольствие.
Это, однозначно, маст хэв для любого, кто имеет отношение к любому проектированию. Книга изначально про архитектуру, но сам подход и принцип выработки языка паттернов и построения из них удобных пространств — просто охуенно. Очень легко перекладывается на проектирование архитектур как ПО, так и инфраструктурных решений для него. Я реально научился визуализировать в голове те системы, с которыми я работаю не схемой, а... шаблонами🤷♂️ Сложно объяснить, надо читать, в общем
Собственно, идея шаблонов в С++ возникла именно благодаря этой книге.
Книга впервые была переведена и издана на русском студией Артемия Лебедева и вот к Лебедеву как к личности можно относиться как угодно, но в профессиональном плане он охуенен безусловно. Книга очень хорошо переведена, очень хорошо сверстана и вообще читать ее очень приятно, видно, что в нее вложили много любви и много души
Такой очень хвалебный получился пост, но просто литература такого уровня, к сожалению, встречается очень редко. Чистый кайф.
Опять про книжки. "Язык шаблонов" Кристофера Александера, больше тысячи страниц чистейшего кайфа. Ее я читал, надо сказать, очень долго, почти год. Но эта книга плохо предназначена для чтения подряд, это, скорее, справочное издание, но и просто ее читать — сплошное удовольствие.
Это, однозначно, маст хэв для любого, кто имеет отношение к любому проектированию. Книга изначально про архитектуру, но сам подход и принцип выработки языка паттернов и построения из них удобных пространств — просто охуенно. Очень легко перекладывается на проектирование архитектур как ПО, так и инфраструктурных решений для него. Я реально научился визуализировать в голове те системы, с которыми я работаю не схемой, а... шаблонами🤷♂️ Сложно объяснить, надо читать, в общем
Собственно, идея шаблонов в С++ возникла именно благодаря этой книге.
Книга впервые была переведена и издана на русском студией Артемия Лебедева и вот к Лебедеву как к личности можно относиться как угодно, но в профессиональном плане он охуенен безусловно. Книга очень хорошо переведена, очень хорошо сверстана и вообще читать ее очень приятно, видно, что в нее вложили много любви и много души
Такой очень хвалебный получился пост, но просто литература такого уровня, к сожалению, встречается очень редко. Чистый кайф.
Про книжки (но на самом деле про ощущения)
Что-то я немного выбился из ритма постов, на прошлой недел вышел всего один. Я честно приболел и, внезапно, почувствовал некие новые ощущения в связи вот с этой историей с офферами в ФААНГ и пытался их как-то отрефлексировать
Я понял, что я боюсь. Боюсь довольно сильно, потому что очень не люблю проигрывать и всегда старался проигрыши как-то замаскировать. А еще лучше, заранее подстелить соломки. Ну типа "лучше никому не говорить, сделаю — значит молодец, а не сделаю — заметем под ковер и никто и не узнает".
Это хреновая история.
Публичность (читай: максимальная открытость) в любом проекте дает возможность скорректироваться на ранних этапах. Это хорошее преимущество и его просто необходимо использовать. Так что выдыхаю и да, привыкаю быть очень открытым.
Сегодня на нашей повестке книжки из серии "Cracking the interview" и их две: про интервью продакт-менеджера и про интервью разработчика. Написала их Гейл МакДоуэлл, хорошая тетя с большим опытом работы разработчиком в больших компаниях типа Микрософт сотоварищи.
"Cracking the coding interview" дает некий ландшафт по техническому собеседованию, показывает топики на которые стоит обратить внимание и все такое. Я ее читал несколько лет назад, но задачки не решал, просто пролистывал. Это больше про хард-скиллы
А вот "Cracking the PM interview" — она про софт-скиллы. И тут первая большая тайна: на собесе в ФААНГ софт-скиллы и бихевиорал матчинг (то есть совпадение по культуре и поведение) является гораздо более важным, чем ваше умение кодить. Как уже раньше замечали в комментах, то кандидаты из СНГ часто валятся именно на этом, просто что русскому — здравствуй, американцу — харрасмент. Я за эту часть не сильно беспокоюсь, я много работал с американцами и понимаю их майндсет довольно неплохо
Первая книэка переведена на русский под названием "Карьера программиста", но перевод, как всегда, говно и сильно рекомендую именно эти книги читать в оригинале
Что-то я немного выбился из ритма постов, на прошлой недел вышел всего один. Я честно приболел и, внезапно, почувствовал некие новые ощущения в связи вот с этой историей с офферами в ФААНГ и пытался их как-то отрефлексировать
Я понял, что я боюсь. Боюсь довольно сильно, потому что очень не люблю проигрывать и всегда старался проигрыши как-то замаскировать. А еще лучше, заранее подстелить соломки. Ну типа "лучше никому не говорить, сделаю — значит молодец, а не сделаю — заметем под ковер и никто и не узнает".
Это хреновая история.
Публичность (читай: максимальная открытость) в любом проекте дает возможность скорректироваться на ранних этапах. Это хорошее преимущество и его просто необходимо использовать. Так что выдыхаю и да, привыкаю быть очень открытым.
Сегодня на нашей повестке книжки из серии "Cracking the interview" и их две: про интервью продакт-менеджера и про интервью разработчика. Написала их Гейл МакДоуэлл, хорошая тетя с большим опытом работы разработчиком в больших компаниях типа Микрософт сотоварищи.
"Cracking the coding interview" дает некий ландшафт по техническому собеседованию, показывает топики на которые стоит обратить внимание и все такое. Я ее читал несколько лет назад, но задачки не решал, просто пролистывал. Это больше про хард-скиллы
А вот "Cracking the PM interview" — она про софт-скиллы. И тут первая большая тайна: на собесе в ФААНГ софт-скиллы и бихевиорал матчинг (то есть совпадение по культуре и поведение) является гораздо более важным, чем ваше умение кодить. Как уже раньше замечали в комментах, то кандидаты из СНГ часто валятся именно на этом, просто что русскому — здравствуй, американцу — харрасмент. Я за эту часть не сильно беспокоюсь, я много работал с американцами и понимаю их майндсет довольно неплохо
Первая книэка переведена на русский под названием "Карьера программиста", но перевод, как всегда, говно и сильно рекомендую именно эти книги читать в оригинале
Про силу воли
Сила воли не работает так, как ее пытаются заставить работать в большинстве случаев :)
- Ты как бросил курить?
- На силе воли
Это неправда. Сила воли — это такой ресурс, спускается очень быстро, а восстанавливается очень долго. Поэтому сформировать привычку на силе воли невозможно. Сила воли — это спринт, формирование привычки — это марафон. Надо быть готовым использовать оба ресурса.
Давайте про бросание курить. Решение принято и все, осознали все плюсы и минусы, больше не курим. В ресурсном состоянии делать или, наоборот, не делать чего-то, это не приносит сложности. Но всегда возникнет момент тяги, яркого проявления аддиктивного поведения. В этот момент все плюсы выплывают, все минуся забываются и мы закуриваем сигарету, не идем на тренировку, опять заказываем сладкое и так далее. Вот здесь надо использовать силу воли, чтобы этот момент преодолеть. Его надо осознать и прям включить стоп-кран, перетерпеть надо недолго.
А потом проанализировать и осознать причины возникновения тяги, исключить этот вариант из жизни на ближайшее время и продолжать марафон, сила воли в этот момент на перезарядке. А аддикты всегда надеются, что достаточно перетерпеть один раз и дальше оно все само. Нет, нифига, по моему опыта первый раз самый легкий. В "Интернах" была хорошая серия, где Купитману не доверяют интернов потому что он бухает и они у него не работают. Он предлагает проверить, берет интернов и весь рабочий день абсолютно трезвый. Когда Быков и Кисегач приходят к нему извиняться, он лежит пьяный в хлам и мычит "Купитман может". Вот это неправильное использование силы воли.
И не надо себя проверять на прочность. Бросаем курить? Выбрасываем все зажигалки, сигареты, все свяазнное с курением. Чем больше триггеров исключим, тем проще будет бросить. Тоже самое, например, при приучении себя к спортзалу. Определить цель и как-то зафиксировать ее. Зачем и на каком промеужтке? Это одна фраза. Я такое просто распечатываю и пришпиливаю к доске. Она у меня постоянно на глазах и я так или иначе думаю об этом гораздо больше, поэтому проще формировать привычку
Ключ к любой хуйне — в регулярности. Правило 10000 часов и все такое. Работает абсолютно со всем, на редкость универсальный способ
Сила воли не работает так, как ее пытаются заставить работать в большинстве случаев :)
- Ты как бросил курить?
- На силе воли
Это неправда. Сила воли — это такой ресурс, спускается очень быстро, а восстанавливается очень долго. Поэтому сформировать привычку на силе воли невозможно. Сила воли — это спринт, формирование привычки — это марафон. Надо быть готовым использовать оба ресурса.
Давайте про бросание курить. Решение принято и все, осознали все плюсы и минусы, больше не курим. В ресурсном состоянии делать или, наоборот, не делать чего-то, это не приносит сложности. Но всегда возникнет момент тяги, яркого проявления аддиктивного поведения. В этот момент все плюсы выплывают, все минуся забываются и мы закуриваем сигарету, не идем на тренировку, опять заказываем сладкое и так далее. Вот здесь надо использовать силу воли, чтобы этот момент преодолеть. Его надо осознать и прям включить стоп-кран, перетерпеть надо недолго.
А потом проанализировать и осознать причины возникновения тяги, исключить этот вариант из жизни на ближайшее время и продолжать марафон, сила воли в этот момент на перезарядке. А аддикты всегда надеются, что достаточно перетерпеть один раз и дальше оно все само. Нет, нифига, по моему опыта первый раз самый легкий. В "Интернах" была хорошая серия, где Купитману не доверяют интернов потому что он бухает и они у него не работают. Он предлагает проверить, берет интернов и весь рабочий день абсолютно трезвый. Когда Быков и Кисегач приходят к нему извиняться, он лежит пьяный в хлам и мычит "Купитман может". Вот это неправильное использование силы воли.
И не надо себя проверять на прочность. Бросаем курить? Выбрасываем все зажигалки, сигареты, все свяазнное с курением. Чем больше триггеров исключим, тем проще будет бросить. Тоже самое, например, при приучении себя к спортзалу. Определить цель и как-то зафиксировать ее. Зачем и на каком промеужтке? Это одна фраза. Я такое просто распечатываю и пришпиливаю к доске. Она у меня постоянно на глазах и я так или иначе думаю об этом гораздо больше, поэтому проще формировать привычку
Ключ к любой хуйне — в регулярности. Правило 10000 часов и все такое. Работает абсолютно со всем, на редкость универсальный способ
Happy Devops — сообщество адекватных инженеров
Язык шаблонов Опять про книжки. "Язык шаблонов" Кристофера Александера, больше тысячи страниц чистейшего кайфа. Ее я читал, надо сказать, очень долго, почти год. Но эта книга плохо предназначена для чтения подряд, это, скорее, справочное издание, но и просто…
Забавный факт :) Шаблоны С++ являются Тьюринг-полными (относительно compile time☝🏻)
То есть на них можно реализовать еще один С++ например :)
Перед Новым годом я готовлюсь к полугодовому код-марафону и пока провожу время в таком расслабоне. Думать и писать на сложные серьезные темы не очень хочется, вы уж извините. Хотя черновиков для постов штук 50, наверное, есть :) Так что какой-никакой, но запасец тем присутствует
Взялся ковырять то, что давно будоражит мою душеньку. А именно: процессоры и вообще булева алгебра и машинная арифметика. Когда-то давно я увидел реализацию x86 на JavaScript (это был, наверное, год 2012😁) и эта тема меня и не отпускает. С тех пор как только не извращаются люди: компьютер построили в Майнкрафте, вот товарищ собрал компьютер на простых логических микросхемах, примеров очень много и это очень интересно
Еще один забавный факт :) Аппаратная реализация машинной логики вырастает всего из одного элемента. И это NAND, "логическое отрицание И", в русскоязычных изданиях обозначается как "элемент И-НЕ". Моя любимая микросхема К155ЛА3 содержит 4 сдвоенных таких элемента и теоретически на них можно запузырить полноценную логику x86, но я даже боюсь представить, насколько сложным будет этот проект
Сам NAND можно построить на вполне себе механических элементах, на двух реле, если быть точным. Да-да, даже не на полупроводниках. А на его базе уже строятся все остальные логические блоки. Вот просто офигенная игра на эту тему, я уже тетрадку исписал, играя в нее. Кому нечем заняться на праздники, прям очень рекомендую
То есть на них можно реализовать еще один С++ например :)
Перед Новым годом я готовлюсь к полугодовому код-марафону и пока провожу время в таком расслабоне. Думать и писать на сложные серьезные темы не очень хочется, вы уж извините. Хотя черновиков для постов штук 50, наверное, есть :) Так что какой-никакой, но запасец тем присутствует
Взялся ковырять то, что давно будоражит мою душеньку. А именно: процессоры и вообще булева алгебра и машинная арифметика. Когда-то давно я увидел реализацию x86 на JavaScript (это был, наверное, год 2012😁) и эта тема меня и не отпускает. С тех пор как только не извращаются люди: компьютер построили в Майнкрафте, вот товарищ собрал компьютер на простых логических микросхемах, примеров очень много и это очень интересно
Еще один забавный факт :) Аппаратная реализация машинной логики вырастает всего из одного элемента. И это NAND, "логическое отрицание И", в русскоязычных изданиях обозначается как "элемент И-НЕ". Моя любимая микросхема К155ЛА3 содержит 4 сдвоенных таких элемента и теоретически на них можно запузырить полноценную логику x86, но я даже боюсь представить, насколько сложным будет этот проект
Сам NAND можно построить на вполне себе механических элементах, на двух реле, если быть точным. Да-да, даже не на полупроводниках. А на его базе уже строятся все остальные логические блоки. Вот просто офигенная игра на эту тему, я уже тетрадку исписал, играя в нее. Кому нечем заняться на праздники, прям очень рекомендую
👍1
Про инфраструктуру-как-продукт
Очень полезное упражнение — рассматривать инфраструктуру как продукт, предоставляемый для внутреннего заказчика. В этом случае становится возможным использовать продуктовый подход при развитии инфраструктуры и, что самое главное, использовать продуктовые метрики.
Можно также проводить кастдев, иметь понимание, насколько пользователем удобно работать с системой и в какую сторону имеет смысл развиваться. Это хорошо помогает при приоретизации фич.
Например, есть такая хрень, как ICE Scoring. Это методика, которая позволяет количественно выразить важность фичи, опираясь на продуктовые метрики. ICE — это аббревиатура: Impact, Confidence, Ease. Каждый показатель может принимать значения от 1 до 10, и итоговая оценка рассчитывается по формуле Impact x Confidence x Ease = Ice Score
Impact: это влияние, оказываемое на ключевой показатель, подлежащий улучшению. Обратите внимание, в данном случае в качестве показателя выступает продуктовая метрика. Вы строите продукт, который имеет специфичный сценарий использования и который предназначен для внутренних пользователей. Так даже интереснее, на самом деле
Confidence: грубо говоря, это сводный показатель остальных двух показателей. То есть насколько вы уверены в том, что поставили именно такие значения для Impact и Ease. Такая поправка на ветер
Ease: здесь надо посчитать ресурсы. Все. Бабло, людей, железо, в общем все, что потребуется для реализации. А также не забудьте о том, что все эти ресурсы еще надо собрать воедино, это тоже влияет на легкость реализации (или сложность реализации, что по сути одно и тоже😁)
В итоге у вас получаются конкретные цифры, с помощью которых вы легко можете расставить приоритет для фичей
Понятно, что это довольно грубая оценка и вообще, обстоятельства бывают разные. Это, несомненно, так, но в качестве точки отсчета этот показатель вполне работает
Очень полезное упражнение — рассматривать инфраструктуру как продукт, предоставляемый для внутреннего заказчика. В этом случае становится возможным использовать продуктовый подход при развитии инфраструктуры и, что самое главное, использовать продуктовые метрики.
Можно также проводить кастдев, иметь понимание, насколько пользователем удобно работать с системой и в какую сторону имеет смысл развиваться. Это хорошо помогает при приоретизации фич.
Например, есть такая хрень, как ICE Scoring. Это методика, которая позволяет количественно выразить важность фичи, опираясь на продуктовые метрики. ICE — это аббревиатура: Impact, Confidence, Ease. Каждый показатель может принимать значения от 1 до 10, и итоговая оценка рассчитывается по формуле Impact x Confidence x Ease = Ice Score
Impact: это влияние, оказываемое на ключевой показатель, подлежащий улучшению. Обратите внимание, в данном случае в качестве показателя выступает продуктовая метрика. Вы строите продукт, который имеет специфичный сценарий использования и который предназначен для внутренних пользователей. Так даже интереснее, на самом деле
Confidence: грубо говоря, это сводный показатель остальных двух показателей. То есть насколько вы уверены в том, что поставили именно такие значения для Impact и Ease. Такая поправка на ветер
Ease: здесь надо посчитать ресурсы. Все. Бабло, людей, железо, в общем все, что потребуется для реализации. А также не забудьте о том, что все эти ресурсы еще надо собрать воедино, это тоже влияет на легкость реализации (или сложность реализации, что по сути одно и тоже😁)
В итоге у вас получаются конкретные цифры, с помощью которых вы легко можете расставить приоритет для фичей
Понятно, что это довольно грубая оценка и вообще, обстоятельства бывают разные. Это, несомненно, так, но в качестве точки отсчета этот показатель вполне работает
Важное про понимание OKR
OKR — это Objective -> Key Result. Очень важно, чтобы Key Result был измеримым.
Если вы ставите целью, например, "реализация мониторинга для приложения", то Key Result должен быть не "мониторинг реализован", а "90% сервисов поставлены под мониторинг"
Не надо бояться финальных метрик. Не надо занижать их "на всякий случай". Лучше поставить больше.
Не выполнять Key Result на 100% — нормально.
OKR — это Objective -> Key Result. Очень важно, чтобы Key Result был измеримым.
Если вы ставите целью, например, "реализация мониторинга для приложения", то Key Result должен быть не "мониторинг реализован", а "90% сервисов поставлены под мониторинг"
Не надо бояться финальных метрик. Не надо занижать их "на всякий случай". Лучше поставить больше.
Не выполнять Key Result на 100% — нормально.
#ХочуВFAANG
Ну штош, заправлены в планшеты космические карты (оцените, насколько сильно это выражение поменяло смысл за последние несколько десятков лет 😁), пора готовиться к старту
“Предстартовый чек”-пост
Планирование: мне несколько лет назад кто-то подарил Agile-ежедневник Катерины Лейнгольд. Долго он мозолил мне глаза и вот теперь я подумал, что настало его время. Ничего сказать про него не могу, будет проба пера. В нем предлагаются 9-недельные спринты и, в принципе, вай нот? В итоге у меня количество недель увеличивается до 27 (3 спринта), 3 спринт будет по большей части отдан под собесы, я полагаю. Так что если закончу раньше, то и ладно :)
Цель: три оффера. От гугла, амазон и фейсбука. А также максимально детализированный learning path, который я хочу оставить для тех, кто захочет пойти моим путем.
Исходные данные: я охуенный девопс, хороший менеджер и хреновый программист. Посмотрим, что из этого можно сделать
Фокус:
- Кодинг
- Системный дизайн
- Софт-скиллы
- Английский
- Резюме
Все факторы очень важны для этих собесов и я буду работать над каждым из них.
Мое расписание: я работаю каждый день без выходных. В будние дни планирую две (утром и вечером) часовые кодинг-сессии с результатами на гитхабе, в выходные — работа с теорией (от 2 до 4 часов) с результатами в виде конспектов в ТГ и на гитхабе. Также каждую сессию (конечно же) будет сопровождать пост
У меня есть группа поддержки в маленьком приватном чатике, буду туда плакать и страдать. Парни, надеюсь, поймут
Основные темы для задачек: Array, String, Tree, Binary search, Hash table, Depth-first search, Breadth-first search, Two pointers, Stack, Backtracking, Dynamic Programming. Также разбираю задачи на собеседованиях, которые есть на самом LeetCode (в общем, мой старт будет здесь)
Напоминаю про ссылочку (кстати, про переводы. Я решил, что пока переводить ничего не буду, потому как непонятно, полезно оно или нет. По итогам марафона я уже соберу подборку реально полезных материалов и переведу их)
Системный дизайн: невероятно прекрасный пост, его и возьмем за основу
Английский: я думаю, что пока остановлюсь на двух занятиях с репетитором в неделю, если есть хорошие репетиторы, кидайте контакты в комменты :) Скайенг, конечно же, предлагать не надо.
Резюме: пока до него далеко, но явно надо будет с ним работать.
Вот пока как-то так. Последний вечер расслабления перед полугодовым забегом, и да пребудет со мной Сила!
Ну штош, заправлены в планшеты космические карты (оцените, насколько сильно это выражение поменяло смысл за последние несколько десятков лет 😁), пора готовиться к старту
“Предстартовый чек”-пост
Планирование: мне несколько лет назад кто-то подарил Agile-ежедневник Катерины Лейнгольд. Долго он мозолил мне глаза и вот теперь я подумал, что настало его время. Ничего сказать про него не могу, будет проба пера. В нем предлагаются 9-недельные спринты и, в принципе, вай нот? В итоге у меня количество недель увеличивается до 27 (3 спринта), 3 спринт будет по большей части отдан под собесы, я полагаю. Так что если закончу раньше, то и ладно :)
Цель: три оффера. От гугла, амазон и фейсбука. А также максимально детализированный learning path, который я хочу оставить для тех, кто захочет пойти моим путем.
Исходные данные: я охуенный девопс, хороший менеджер и хреновый программист. Посмотрим, что из этого можно сделать
Фокус:
- Кодинг
- Системный дизайн
- Софт-скиллы
- Английский
- Резюме
Все факторы очень важны для этих собесов и я буду работать над каждым из них.
Мое расписание: я работаю каждый день без выходных. В будние дни планирую две (утром и вечером) часовые кодинг-сессии с результатами на гитхабе, в выходные — работа с теорией (от 2 до 4 часов) с результатами в виде конспектов в ТГ и на гитхабе. Также каждую сессию (конечно же) будет сопровождать пост
У меня есть группа поддержки в маленьком приватном чатике, буду туда плакать и страдать. Парни, надеюсь, поймут
Основные темы для задачек: Array, String, Tree, Binary search, Hash table, Depth-first search, Breadth-first search, Two pointers, Stack, Backtracking, Dynamic Programming. Также разбираю задачи на собеседованиях, которые есть на самом LeetCode (в общем, мой старт будет здесь)
Напоминаю про ссылочку (кстати, про переводы. Я решил, что пока переводить ничего не буду, потому как непонятно, полезно оно или нет. По итогам марафона я уже соберу подборку реально полезных материалов и переведу их)
Системный дизайн: невероятно прекрасный пост, его и возьмем за основу
Английский: я думаю, что пока остановлюсь на двух занятиях с репетитором в неделю, если есть хорошие репетиторы, кидайте контакты в комменты :) Скайенг, конечно же, предлагать не надо.
Резюме: пока до него далеко, но явно надо будет с ним работать.
Вот пока как-то так. Последний вечер расслабления перед полугодовым забегом, и да пребудет со мной Сила!
❤7👍5
Итак, две задачки решил, на уровне easy. Первая вообще легко зашла, со второй чето подзатупил (это которая PlusOne) и решил ее очень неоптимально в итоге, надо подумать, как сделать лучше. Я думаю, что самый протуп в конце, на конвертации числа в список
https://github.com/boombick/faang-interview/blob/master/easy/66_plus_one.py
В discuss пока не заглядывал :)
#ХочуВFAANG
https://github.com/boombick/faang-interview/blob/master/easy/66_plus_one.py
В discuss пока не заглядывал :)
#ХочуВFAANG
GitHub
faang-interview/easy/66_plus_one.py at master · boombick/faang-interview
Contribute to boombick/faang-interview development by creating an account on GitHub.
Попутно с решением задач пытаюсь понять вычислительную сложность того, что я пишу (Big-O Notation). И вот пара полезных ссылочек:
Вычислительная сложность математических операций
Стоимость различных операций для процессора
#ХочуВFAANG
Вычислительная сложность математических операций
Стоимость различных операций для процессора
#ХочуВFAANG
Ну вот еще одна задачка, три часа на нее убил, а вроде кажется, что все просто. Ну я был готов к такому, в принципе
БольшАя часть времени пока уходит на борьбу с синтаксисом и особенностями языка) Ну, например, я знаю, что у списка должны быть
Я тут подумал, каждый день постить репорты о задачках, наверное, ебловато. Тем более, что и писать-то особо не о чем вроде. Быть может будет лучше постить некий сводный отчет раз в неделю, а так просто продолжать писать посты?
#ХочуВFAANG
БольшАя часть времени пока уходит на борьбу с синтаксисом и особенностями языка) Ну, например, я знаю, что у списка должны быть
push() и pop(), а в питончике push() нету, зато есть append() и вот такого довольно многоЯ тут подумал, каждый день постить репорты о задачках, наверное, ебловато. Тем более, что и писать-то особо не о чем вроде. Быть может будет лучше постить некий сводный отчет раз в неделю, а так просто продолжать писать посты?
#ХочуВFAANG
Happy Devops — сообщество адекватных инженеров pinned «#ХочуВFAANG Ну штош, заправлены в планшеты космические карты (оцените, насколько сильно это выражение поменяло смысл за последние несколько десятков лет 😁), пора готовиться к старту “Предстартовый чек”-пост Планирование: мне несколько лет назад кто-то подарил…»
Вжух! и 5 дней проебаны без результатов😁
Любопытное наблюдение: хоть я и не употребляю алкоголь, но всеобщая расслабленность и подбуханность так или иначе все равно действует. Ну и праздники — единственное время съездить навестить родителей (давно уже обещаю), да и работа как-то неожиданно упала) В общем, список отмазок можно продолжать бесконечно
Самое главное, когда сбиваешься с ритма — тут же себя на него вернуть. Не корить себя, не ругать, не бросать начатое! Проебали день? Ок, записали как проебанный, работаем дальше. Если не забивать на движуху, то рано или поздно ритм стабилизируется.
Касается, кстати, абсолютно всего: как "начинания" (как в моем случае), так и "заканчивания" (например, бросаем курить). Любой срыв ритма — это совершенно не повод бросать начатое. Проанализировали причины срыва, подкрутили настроечки окружающей реальности и продолжаем.
Читать: Чиксентмихайи Михай "Поток"
Я раньше вообще топил против потока, как контрпродуктивного состояния, так мне казалось потому, что я думал, что поток — состояние "случайное". Однако нет, вполне можно научиться входить в поток и работать продуктивно и, самое главное, постоянно
Любопытное наблюдение: хоть я и не употребляю алкоголь, но всеобщая расслабленность и подбуханность так или иначе все равно действует. Ну и праздники — единственное время съездить навестить родителей (давно уже обещаю), да и работа как-то неожиданно упала) В общем, список отмазок можно продолжать бесконечно
Самое главное, когда сбиваешься с ритма — тут же себя на него вернуть. Не корить себя, не ругать, не бросать начатое! Проебали день? Ок, записали как проебанный, работаем дальше. Если не забивать на движуху, то рано или поздно ритм стабилизируется.
Касается, кстати, абсолютно всего: как "начинания" (как в моем случае), так и "заканчивания" (например, бросаем курить). Любой срыв ритма — это совершенно не повод бросать начатое. Проанализировали причины срыва, подкрутили настроечки окружающей реальности и продолжаем.
Читать: Чиксентмихайи Михай "Поток"
Я раньше вообще топил против потока, как контрпродуктивного состояния, так мне казалось потому, что я думал, что поток — состояние "случайное". Однако нет, вполне можно научиться входить в поток и работать продуктивно и, самое главное, постоянно
👍1
Про найм, опять про найм
Так, что-то я с этим фаангом позабыл про основной контент канала. Это не дело, исправляюсь.
Итак, все хотят профи в свою команду, но если сейчас миддла найти — уже проблема, то про хантинг крутых спецов говорят обычно со слезами на глазах.
Как же заполучить хорошего специалиста в свою команду?
Как ни странно, но хантить спецов надо на руководителя. Сейчас все предлагают более-менее одинаковые плюшки, у всех есть ДМС, удаленка и макбуки для работы. Ну а сеньор-специалисты уже не так мотивируются зарплатой, в силу того, что рынок переполнен предложениями и, если поискать, то можно найти цифры существенно выше рынка даже в паблике (когда такое было?😳) и им хочется чего-то другого, что мотивирует их поменять работу и с охотой включиться в новый проект
Поэтому проект, руководитель и процессы становятся очень важной составляющей предложения. Можно быть очень крутой компанией, с хорошим HR-брендом, но на финальное решение всегда повлияет именно та команда, в которую приходит человек
Я тоже очень заинтересован в хороших специалистах в своей команде и, в том числе, именно для этого существует этот канал, именно для этого я выступаю на конференциях и пишу статьи
Я всегда топлю за максимальную открытость. Мои митинги всегда открыты для всех желающих, я стараюсь как можно меньше вести переписок в личке и больше в публичных каналах и я стараюсь максимально открыто рассказывать о том, как работаю именно я
Мой путь помог мне собрать суперкоманду (да, мои ребята просто лучшие из лучших, я в этом абсолютно уверен), а им помог сделать выбор, дать сразу представление о том, какой будет работа под моим руководством. И часто, именно этот маленький фактор является определяющим при принятии решения. Человек всегда охотнее идет к человеку, а не к безликому бизнесу
Это надо помнить всегда: при любом объеме бизнеса и при любом размере команды всегда, в первую очередь, люди работают с людьми
Так, что-то я с этим фаангом позабыл про основной контент канала. Это не дело, исправляюсь.
Итак, все хотят профи в свою команду, но если сейчас миддла найти — уже проблема, то про хантинг крутых спецов говорят обычно со слезами на глазах.
Как же заполучить хорошего специалиста в свою команду?
Как ни странно, но хантить спецов надо на руководителя. Сейчас все предлагают более-менее одинаковые плюшки, у всех есть ДМС, удаленка и макбуки для работы. Ну а сеньор-специалисты уже не так мотивируются зарплатой, в силу того, что рынок переполнен предложениями и, если поискать, то можно найти цифры существенно выше рынка даже в паблике (когда такое было?😳) и им хочется чего-то другого, что мотивирует их поменять работу и с охотой включиться в новый проект
Поэтому проект, руководитель и процессы становятся очень важной составляющей предложения. Можно быть очень крутой компанией, с хорошим HR-брендом, но на финальное решение всегда повлияет именно та команда, в которую приходит человек
Я тоже очень заинтересован в хороших специалистах в своей команде и, в том числе, именно для этого существует этот канал, именно для этого я выступаю на конференциях и пишу статьи
Я всегда топлю за максимальную открытость. Мои митинги всегда открыты для всех желающих, я стараюсь как можно меньше вести переписок в личке и больше в публичных каналах и я стараюсь максимально открыто рассказывать о том, как работаю именно я
Мой путь помог мне собрать суперкоманду (да, мои ребята просто лучшие из лучших, я в этом абсолютно уверен), а им помог сделать выбор, дать сразу представление о том, какой будет работа под моим руководством. И часто, именно этот маленький фактор является определяющим при принятии решения. Человек всегда охотнее идет к человеку, а не к безликому бизнесу
Это надо помнить всегда: при любом объеме бизнеса и при любом размере команды всегда, в первую очередь, люди работают с людьми
👍22❤1
Про удержание
Много пишу про найм, ох, очень много. Волею судеб, мне пришлось глубоко погрузиться в эти процессы и они до обидного несовершенны. А, самое главное, никто особо и не парится над их улучшением. А зачем?
Но сегодня про другую сторону найма хочу поговорить. Нет, не про увольнение (хотя это тоже хорошая и большая тема), а про удержание.
Очень часто (да почти всегда) никто не заботится об удержании сотрудника. Ну типа мы же все обговорили на старте. Вот твоя ЗП, твои бонусы, твой макбук для работы. Ебашь, дорогой, во славу нашего бизнеса. Так проходит время, человек вдруг собирается увольняться и это вызывает искреннее удивление: ну как же так, у нас все было классненько.
А вот так🤷♂️ Вообще очень полезно иногда лишний раз поговорить чуть дальше, чем бэклог.
Вообще хорошо бы попробовать применять продуктовые метрики и в работе с кадрами тоже) Ставить KPI эйчарам в зависимости от LTV и Retention людей в команде, может быть тогда все стали бы более внимательными?
Или вот ситуация, знакома, думаю, многим :) Зачастую проще уволиться и выйти на новую позицию, чтобы получить ЗП в рынке, чем добиться того же повышения от руководства. А оно, по уходу этого человека, наймет другого (по рыночной ЗП конечно) и еще потратит время и ресурсы на его онбординг.
Казалось бы, это противоречит здравому смыслу. Ну как так, вот работает у тебя человек, генерирует какую-то ценность, работает чуть лучше, чем хорошо, в команду вписался. Ну зачем про него думать, как-то его мотивировать, вообще как-то проверить, не выгорел ли он? Как-то его карьерные пожелания соответствуют тому, что происходит в его жизни? Развивается ли он? Понятно, что есть хорошие активные ребята, которые не боятся придти к руководству самостоятельно и поговорить про все это. Но таких, увы, меньшинство.
А рынок труда сейчас развернут жопой к работодателю и хороший специалист поменяет работу за несколько часов (это реальный случай). И вот то самое молчаливое большинство просто уйдет, потому что они чувствуют, что они особо-то и не нужны.
Что делать? Да ничо. это опять про здравый смысл и про мой предыдущий пост. Люди работают с людьми. И нужно просто этими самыми людьми и оставаться. Я знаю немало руководителей, за которыми уходит и их команда. Вопросы морали и порядочности мы оставим в стороне. В данном случае люди просто верят в этого человека и знают, что он будет всегда за них. Потому и уходят.
Как-то много знаков вопроса в посте) Пост-вопрос, ответы каждый для себя выведет самостоятельно
Много пишу про найм, ох, очень много. Волею судеб, мне пришлось глубоко погрузиться в эти процессы и они до обидного несовершенны. А, самое главное, никто особо и не парится над их улучшением. А зачем?
Но сегодня про другую сторону найма хочу поговорить. Нет, не про увольнение (хотя это тоже хорошая и большая тема), а про удержание.
Очень часто (да почти всегда) никто не заботится об удержании сотрудника. Ну типа мы же все обговорили на старте. Вот твоя ЗП, твои бонусы, твой макбук для работы. Ебашь, дорогой, во славу нашего бизнеса. Так проходит время, человек вдруг собирается увольняться и это вызывает искреннее удивление: ну как же так, у нас все было классненько.
А вот так🤷♂️ Вообще очень полезно иногда лишний раз поговорить чуть дальше, чем бэклог.
Вообще хорошо бы попробовать применять продуктовые метрики и в работе с кадрами тоже) Ставить KPI эйчарам в зависимости от LTV и Retention людей в команде, может быть тогда все стали бы более внимательными?
Или вот ситуация, знакома, думаю, многим :) Зачастую проще уволиться и выйти на новую позицию, чтобы получить ЗП в рынке, чем добиться того же повышения от руководства. А оно, по уходу этого человека, наймет другого (по рыночной ЗП конечно) и еще потратит время и ресурсы на его онбординг.
Казалось бы, это противоречит здравому смыслу. Ну как так, вот работает у тебя человек, генерирует какую-то ценность, работает чуть лучше, чем хорошо, в команду вписался. Ну зачем про него думать, как-то его мотивировать, вообще как-то проверить, не выгорел ли он? Как-то его карьерные пожелания соответствуют тому, что происходит в его жизни? Развивается ли он? Понятно, что есть хорошие активные ребята, которые не боятся придти к руководству самостоятельно и поговорить про все это. Но таких, увы, меньшинство.
А рынок труда сейчас развернут жопой к работодателю и хороший специалист поменяет работу за несколько часов (это реальный случай). И вот то самое молчаливое большинство просто уйдет, потому что они чувствуют, что они особо-то и не нужны.
Что делать? Да ничо. это опять про здравый смысл и про мой предыдущий пост. Люди работают с людьми. И нужно просто этими самыми людьми и оставаться. Я знаю немало руководителей, за которыми уходит и их команда. Вопросы морали и порядочности мы оставим в стороне. В данном случае люди просто верят в этого человека и знают, что он будет всегда за них. Потому и уходят.
Как-то много знаков вопроса в посте) Пост-вопрос, ответы каждый для себя выведет самостоятельно
👍19