├── .gitignore ├── Begining ├── 1. Выбор профессии.md ├── 2. Смена профессии.md ├── 3. Источники информации.md ├── 4. Развитие через OpenSource.md ├── 5. Время для переквалификации.md ├── 6. Просто попробовать.md ├── 7. Институт или работа.md └── README.md ├── Career ├── 1. Путь к мастерству.md └── 2. План развития.md ├── Code └── Понятность кода.md ├── General ├── 1. Изучение информации.md ├── 10. Legacy и рефакторинг.md ├── 2. Выбор технологий.md ├── 3. Позиция.md ├── 4. Откладывание.md ├── 5. Проблемы при изучении.md ├── 6. Меньше думай, больше делай.md ├── 7. Тимлидство.md ├── 8. Саморазвитие на проекте.md ├── 9. Восприятие информации.md └── README.md ├── LICENSE ├── README.md └── Recruiting ├── 0. Заповеди нанимателя.md ├── 1. Заповеди нанимаемого.md ├── 2. Тупой найм.md ├── 3. Страх назвать свою цену.md ├── 4. Страх назвать его цену.md ├── 5. Разбор сообщения от HR 1.md ├── 6. Про сумму в оффере.md ├── 7. Торги с рекрутерами. Аукцион.md ├── 8. А попрощаться?.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .vscode 3 | .obsidian 4 | save.sh 5 | -------------------------------------------------------------------------------- /Begining/1. Выбор профессии.md: -------------------------------------------------------------------------------- 1 | # Выбор профессии 2 | 3 | ### Введение 4 | Сейчас программирование - популярное направление, которое, очевидно, будет таковым еще достаточно долго. 5 | Тут хорошие деньги, много работы, признание, возможность реализоваться и реализовать разнообразные идеи, и низкий порог входа (об этом я еще расскажу позже) 6 | 7 | Все это вместе или по отдельности вызывает желание даже у состоявшихся людей окунуться в профессию и начать. 8 | 9 | К сожалению, большая часть крайне долго "входит" и теряет всякую надежду на этом, на самом деле, долгом пути. 10 | 11 | ### А надо ли? 12 | 13 | Хороший вопрос, на самом деле, да и вообще, задавать самому себе вопросы – хорошая практика. 14 | Если отвечать честно, то можно избавиться от многих иллюзий. 15 | 16 | Есть такое понятие – навязанные убеждения. Это когда вы хотите чего-то или уверены в чем-то только потому, что где-то данную информацию зацепили. 17 | Это может быть недоказанная, ложная и противоречащая здравому смыслу информация, но вы убеждены в ней без особых причин. 18 | 19 | Также и с желанием стать программистом – кто-то ломится в эту профессию, потому что ему кажется, что это просто, быстро, много денег. 20 | И даже тот факт, что уже полтора года этот человек "изучает программирование" и не получил никаких важных для него самого результатов, не изменяет базовое убеждение. 21 | 22 | "Быстро, просто и много денег" по факту превращаются в "долго, сложно и никаких денег вообще". 23 | 24 | Спроси такого человека: "зачем ты этим занимаешься?" – он повторит заученную мантру. 25 | 26 | ### Единственный путь? 27 | 28 | Еще одна самопроверка. Ок, вы хотите славы, девок и денег. Ну или просто денег. 29 | Программирование – это единственный способ заработать эти деньги? 30 | Уверен, есть масса других способов быть востребованным специалистом в другой области и зарабатывать даже больше хорошего программиста. 31 | Я уверен, потому что видел массу таких примеров, вот вам один из них... 32 | 33 | ##### Мой друг – дефектоскопист. 34 | До того, как он поступил в институт на эту специальность, я даже не представлял, что такая профессия существует. 35 | Если очень коротко – вам надо проверить трубы на заводе на предмет возможных дефектов в металле и, соответственно, грозящих поломок и катастроф, то вы вызываете дефектоскописта, который делает соответствующие проверки и дает свое заключение. 36 | Стоит подобная работа в России очень дорого, если частным порядком – в свое время одна такая проверка могла равняться годовой зарплате неплохого программиста в регионах. 37 | И мой друг шел в эту профессию осознанно (такой осознанности я сам все еще завидую) – пошел в институт на эту специальность, штудировал огромные тома по соответствующим металлам и проверкам, после института пошел работать на копеечную зарплату в местную лабораторию... 38 | Он прекрасно осознавал что его ждет, что это будет долго, безумно сложно, и на начальных этапах не будет оцениваться по заслугам. 39 | Сейчас у него все хорошо, но тогда это был очень сомнительный путь (для меня, не для него). 40 | 41 | ##### Мораль сей басни такова... 42 | Я это к чему – кто из вас выбирает программирование, понимая, что это процесс обучения, когда вы никому не нужны, когда новая информация ложится в мозг максимально болезненно и долго, когда все идет на перекосяк (а в случае, если вы взрослый человек, то вам еще и свой быт надо материально обеспечивать), кто решится на такое осознанно? 43 | 44 | Мда, намного проще плавать в иллюзиях о "быстро, просто, много денег" и удивляться потом, что тебя не берут на работу, ведь ты ничего не сделал и ничего не знаешь. 45 | -------------------------------------------------------------------------------- /Begining/2. Смена профессии.md: -------------------------------------------------------------------------------- 1 | # Смена профессии 2 | 3 | ### Из НЕ-IT-шника в программисты 4 | Частая практика на 2020 год - переходить в программирование, будучи менеджером, продавцом, рабочим, ну в общем - кем угодно, но только не айтишником. 5 | 6 | #### Пара слов о профессии программиста 7 | Нужно оооочень много думать головой над решением сложных задач путем перелопачивания огромного количества информации и бесчисленного количества попыток. Постоянно. Долго. Это и есть работа программиста (да, я не про верстку лендингов - мы об этом еще поговорим). 8 | 9 | Если вы этим не занимались раньше - очевидно, что вам придется перестраивать свой мозг. 10 | Буквально. Физически перестраивать. 11 | 12 | #### Пара слов о работе мозга: 13 | Весь наш опыт и мышление - это огромные комки физически связанных нейронов. 14 | Они буквально сращиваются - добавляются ножки, которые позволяют быстрее передавать сигналы между нейронами, и вот уже задача о которой вы думали "я так никогда не смогу" становится чем-то обыденным. 15 | 16 | Начиная с управления ложкой, заканчивая управлением самолетом. 17 | 18 | Есть у вас нейросвязи которые помогут в вам в постоянном копании в технической документации, написании логических операторов и тп.? 19 | Если нет - придется сложно. 20 | 21 | Ой, я такую очевидну вродебы вещь сказал... 22 | 23 | Давайте еще раз - вам нужно будет перестраивать свой мозг, наращивать нейронные связи путем перелопачивания огромного количества информации на протяжении многих лет. 24 | 25 | И по началу вы не будете ничего понимать ВООБЩЕ. 26 | И, даже если у вас получится, вы можете не понять КАК это у вас получилось. 27 | 28 | #### Страшно? 29 | 30 | Попугал, да? Даже в мыслях не было - мне от вашего испуга ни холодно ни жарко, я же не садист. 31 | Мне важно чтобы вы реалистично оценивали ситуацию. Это вообще полезный навык к жизни... 32 | 33 | Но вывод следующий - вам придется бороться не только с самим предметом изучения, но и с самим собой - ведь когда нам что-то дается нелегко, мы часто пытаемся соскочить, бросить эту затею, и мозг придумает массу причин почему это нужно сделать. 34 | 35 | Поэтому, лучше сразу объяснить ему (мозгу) во что вы собрались ввязаться, может откажетесь от ненужной затеи, а может быть придумаете план получше. 36 | 37 | #### План перехода 38 | 39 | ##### Вредные мысли 40 | 41 | Вот уходить с работы которая кормит с мыслью о том что через полгода будете работать уже по новой профессии - дерьмовая идея. 42 | 43 | Я такие случаи видел, вот вам реальная история: 44 | 45 | ##### Из менеджера в программисты 46 | 47 | Пришел как то ко мне в офис мужчина (а я тогда еще обучением занимался): за сорок, работал менеджером в банке. 48 | И говорит: - Хочу стать программистом, уйду с работы, буду работать в этом перспективном направлении. 49 | Я ему: - Зачем уходить то? Попробуй, может не понравится, позанимайся сам, а когда будет получаться то и решение примешь. 50 | Ушел он, периодически приходил на наши мероприятия IT-шные и внимательно слушал как мы зачесывали про фреймворки, архитектуру и прочую никому не нужную ерунду. 51 | И гдето через полгода пришел он опять и говорит: - Все, не могу больше, бросаю работу, иду работать таксистом и параллельно буду у тебя учиться. 52 | Отвечаю: - Не надо этой херней заниматься. Ты за эти полгода нифига не сделал, ничего не почитал, не покодил, не надо тебе все бросать. Вижу - не потянешь ты. Не твое это. Не буду тебя в ученики брать. 53 | Он: - Все на моей ответстенности, взрослый уже, работу уже бросил, денег тебе заплачу, прошу - возьми в ученики. 54 | Ок... 55 | Первая задача - развернуть окружение в котором будет работать, и через неделю безуспешных попыток он бросил идею становиться программистом. 56 | Вот что это было? 57 | 58 | А я скажу что это было - расхожддение между реальностью и фантазиями. 59 | Думать головой по 8-16 часов в сутки это больно и тяжело. 60 | 61 | ### Из IT-шника в программисты 62 | 63 | Например из сисадмина в программисты. 64 | Давайте только возьмем для примера человека, который всетаки помимо настройки вечно "ломающихся" компьютеров пользователей еще и сервера настраивает, в роутерах копается и тп. 65 | Почему это важное дополнение? 66 | Привычка анализировать большие объемы технической информации. 67 | Тоесть, чтобы перейти в программирование, вам по сути нужно будет гуглить информацию уже не о настройки Linux а о реализации конкретной задачи на одном из языков программирования. 68 | К тому же, если вы занимались автоматизацией задач, то скорее всего уже прикасались к какому-либо языку программирования типа Perl, Python... ну к Bash скриптингу то прикасались? 69 | Короче - тут все сильно проще: 70 | - Мозг готов к информационной атаке. 71 | - Область применения полученных знания пересекается. 72 | - Есть задачи куда можно применить программирование. 73 | 74 | Вот по последнему пункту - это важный момент, так как вы можете начать переключение в новую область просто автоматизируя свою рутинную работу, разрабатывать тулзы, и таким образом получать помимо опыта еще и неплохое портфолио, с которым переход в работу программиста может быть более прибыльным и мягким нежели у человека, который никогда IT не занимался. 75 | Да и что греха таить - IT-шники смотрят на IT-шников меняющих направление деятельности более лояльно, так как понимают всю эту "специфику". 76 | 77 | ### Из программиста в программисты 78 | 79 | Тут прям боль и страдание, на своем опыте опробовал, щас расскажу подробнее разные варианты, так как разные в жизни и опробовал... 80 | 81 | #### Вариант 1 82 | 83 | ##### Вводные: 84 | - Вы программист с опытом. 85 | - Получаете зарплату по рынку. 86 | - Программируете на языке А. 87 | - Хотите начать программировать на языке Б. 88 | - Есть обязательства в виде семьи и детей. 89 | - Нет возможности поменять технологию на текущем месте работы 90 | - Денег чтобы долго сидеть без работы нет 91 | 92 | ##### Минусы и проблемы: 93 | - Мало времени. 94 | - Необходимость поддерживать свой прожиточный минимум на высоком уровне. 95 | - Низкий уровень энергии в связи с предыдущим пунктом (в том числе). 96 | - Знание схожих технологий в большинстве случаев не заменит требуемый опыт у работодателя. (тоесть, если нужно три года на Python, ваш Ruby наврядли поможет) 97 | 98 | ##### Плюсы: 99 | - Быстрее воспринимаете и изучаете информацию если технологический стек не отличается кардинально (дальше поясню) 100 | - У вас есть опыт в резюме, который несмотря на нерелевантность круто смотрится. 101 | 102 | ##### Что мы имеем более литературным языком: 103 | Вам нужно поддерживать тот материальный уровень к которому вы привыкли, соответственно если вы собираетесь менять свой технологический стек, то вы не можете позволить себе сильную просадку в плане доходов. 104 | На уровень тех денег которые вы могли откладывать просесть можете, а ниже уже нини. 105 | Нет ничего невозможного, но очевидно что стратегия действий в разных условиях должны отличаться. 106 | 107 | ##### Отличие технологического стека 108 | Если вы всю жизнь были веб-программистом, то изучение системного программиста будет для вас НАМНОГО сложнее нежели другого языка в знакомой области. 109 | Когда я говорю "сложнее", я подразумеваю ФАТАЛЬНО сложнее, просто до безумия все будет по другому, будте готовы к тому, что будете изучать программирование заново. 110 | Я это говорю как веб-разработчик пересевший на низкоуровневое программирование на ASM и вот этом всем. 111 | Соответственно, нужно это учитывать - если вы выбрали такой сильный сдвиг, ваш путь будет сильно дольше и будет требовать у вас больше усилий, энергии. 112 | 113 | ##### Стратегия 1 114 | 115 | Вам нужно организовать свой график. 116 | Я скажу по другому - в данных условиях у вас нет другого выхода кроме как организовать свой график, вот что я имею в виду под организацией графика: 117 | 118 | - Ограничение количества задач, скорее всего придется выводить это количество эксперементальным путем. 119 | - Когда вы поняли сколько ваших проектов(задач) вы можете параллельно в течении дня, вам нужно понять в какой части дня какая из задач делается более легко, когда вам проще держать фокус и не отвлекаться на что-либо. 120 | - Например - на время дистанционного обучения дочери, я понимял что в первой половине дня мне бесполезно заниматься работой, так как меня все равно раздергают. Соответственно я занимаюсь личными проектами, где не страшно отвлекаться и терять фокус. Работа идет во второй половине дня, когда все становится спокойнее. 121 | - В процессе.... 122 | 123 | ##### Стратегия 2 124 | 125 | Если у вас нет ежедневного однообразного распорядка - работа такая или ктото из близких заболел, или на период отпуска, в общем вы просто переключаетесь на вторую стратегию. 126 | Главное - принять то, что такое будет происходить вне зависимости от вашего желания, и вместо того чтобы злиться на жену, детей, и прочие обстоятельства которые мешают реализации вашего идеального плана, лучше иметь план на случай хаотичного распорядка дня. 127 | 128 | - В зависимости от количества ваших дел вам нужно принять простой факт - будет тяжело. И тут важно вне этого хаоса четко следовать плану, а не волноваться из-за того что все идет наперекосяк. 129 | - Вам нужно выделить только приоритетные задачи в очень ограниченном количестве. Например работа + обучение чему-то одному и все. 130 | - Должна быть самая приоритетная задача (помимо здоровья близких, конечно же). Например - работа. 131 | - Делаете в первую очередь первую задачу, остальное по остаточному принципу. Часто мы делаем иначе - хаотично хватаясь то за одно то за другое. Вам же нужно следовать своим приоритетам. 132 | - Определите минимальный временной интервал при котором вы успеваете хоть както продвинутсья по задаче - у меня например это 40-60 минут. И беритесь за работу только когда подобные просветы будут в вашем беспокойном дне. 133 | - Если у вас есть только 20 минут - беcполезно дергаться, вы только потратите энергию, причем с повышенным коэфициентом. В итоге и пользы не будет, и сил и нервов не будет, и на близких сорветесь так как они вам "мешают". Нет - это вы им мешаете жить со своей работой в неправильное время. 134 | - Выделите гарантированное время для реализации задачи - например, вставайте на час или два пораньше регулярно когда все спят. Или вставайте на час раньше а ложитесь на час позже. Это даст вам определенное спокойстиве относительно того что прогресс будет в любом случае, так как это ваши часы. 135 | 136 | Подобный подход даст вам больше спокойствия и терпения в непростых ситуациях и позволит держать ваш уровень дохода на нужном уровне, а то и еще успевать развиваться. Дай бог чтобы это было временно. 137 | -------------------------------------------------------------------------------- /Begining/3. Источники информации.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nydevel/programmer/1057f1993bc70682f168017c1c61c20fd1589754/Begining/3. Источники информации.md -------------------------------------------------------------------------------- /Begining/4. Развитие через OpenSource.md: -------------------------------------------------------------------------------- 1 | # Развитие через OpenSource 2 | 3 | Я уже многократно об этом говорил и за годы этот совет не только не потерял актуальность, но и стал еще более актуальным. 4 | 5 | Обучение и развитие навыков через участие в OpenSource проектах – это отличная возможность вырасти как начинающим, так и опытным разработчикам. 6 | 7 | ## Начинающим 8 | Опытные разрабы не хотят нянчиться с новичками, особенно бесплатно, особенно нянчиться. 9 | С чего начать? Какие проекты делать? А правильно ли я делаю? А что учить дальше? А что мне писать в резюме? Найти ответы на эти вопросы можно, участвуя в разработке OpenSource проектов. 10 | Ну, не прямым текстом, само собой, а вот так: 11 | 12 | ##### С чего начать? 13 | Выбираете любой проект, который вам интересен, на нужном языке из миллионов проектов на Github. 14 | Только смотрите, чтобы проект не был заброшен, чтобы сообщество, которое над ним работает было... просто было. И чтобы вы могли найти точку с которой начать – сейчас многие проекты прямо в README размещают ссылки для контрибьютеров. 15 | 16 | ##### А правильно ли я делаю? 17 | Тут все просто – если не правильно, то ваш pull-реквест не примут, да еще и напишут, почему. Вот вам и код ревью... 18 | 19 | ##### А что учить дальше? 20 | На каждом серьезном проекте настолько много технологий используется, что если продолжать выполнять таски для него и изучать его структуру, то вопрос отпадет сам. 21 | 22 | ##### А что мне писать в резюме? 23 | Вот и пишите, какие задачи решали и на каких проектах. Главное – чтобы это не было простым исправлением пунктуации и грамматических ошибок в доках, это мало связано с программированием... 24 | 25 | ## Опытным 26 | Во-первых – опыт не означает наличие окружения, которое имеет более высокий уровень, и уж тем более не значит, что они будут делиться знаниями с вами. 27 | Соответственно – OpenSource проекты с его коммьюнити, которое заинтересовано в том, чтобы проект рос и развивался, с большой долей вероятности обладают большим количеством очень хороших программистов, которые еще и готовы делиться опытом, ну или как минимум – просматривать и отвечать на ваши pull-реквесты. 28 | А если вам повезет, то вы сможете еще и советы выхватить - как лучше организовывать код, делать вызовы, что почитать и т. п. 29 | Помимо этого – в случае долгой работы над популярным проектом у вас появляется возможность еще и предложения о работе получить через этот канал. 30 | -------------------------------------------------------------------------------- /Begining/5. Время для переквалификации.md: -------------------------------------------------------------------------------- 1 | # Время для переквалификации 2 | 3 | ## Предисловие 4 | 5 | Если вы уже овладели какой-либо профессией, тогда вам лишь нужно вспомнить о том каков был ваш путь, я приведу сейчас общераспространенную аналогию, понятно что у каждого разный опыт. 6 | 7 | - Окончили институт 8 | - Стажировались в какой-либо компании 9 | - Работали как начинающий специалист 10 | - Потом тянули лямку как обычный сотрудник 11 | - И вот... стали профессионалом 12 | 13 | Если теперь вы надумали поменять професиию, то почему вы думаете что все будет иначе? 14 | Путь описанный выше все равно придется пройти. 15 | Обучение -> Практика -> Наработка опыта -> Оттачивание навыков 16 | 17 | Многие аппелируют к тому что они уже имеют опыт, ведь они стали мудрее и взрослее. 18 | Да, в большинстве случаев мы все таки умнеем с возрастом (бывают, правда, исключения), но есть ряд изменений, которые не играют вам на руку: 19 | - Семья 20 | - Обязательства 21 | - Меньше сил 22 | 23 | Как результат - все меньше основного ресурса - ВРЕМЕНИ. 24 | 25 | И тут еще большой вопрос - что выгодней - быть несдержанным юнцом с кучей времени, или умудренным жизнью человеком с его отсутствием. 26 | 27 | Так или иначе, путь развития все равно придется пройти. 28 | И я не пытаюсь вас отговаривать, я ратую за понимание нюансов, за честность перед самим собой. 29 | 30 | ## Рекомендации 31 | 32 | - Пишите план 33 | - Расчитывайте свои ресурсы честно (вам не нужно притворяться перед самими собой) 34 | - Не верьте в свою организованность, твердость духа и в контроль над ситуацией (последний пункт меня всегда веселит) 35 | - Закладывайте дополнительные ресурсы 36 | - Не тратте зря деньги на начальном этапе на ненужное оборудование, слишком дорогие курсы и тп. 37 | - Делайте тестовые заходы, прощупывайте почву, вам нужно понять тянете вы новый ритм или нет 38 | - Не сжигайте мосты (уволиться с работы всегда успеете) 39 | - Незабывайте получать удовольствие (если вы начинаете проклинать выбранный путь,не бойтесь переключиться на интересное направление) 40 | - Будьте готовы к тому что у вас не получится и придется начинать заново 41 | - Будьте готовы к ощущению собственной глупости и беспомощности 42 | - Постоянно корректируйте план 43 | 44 | 45 | Удачи на вашем пути! 46 | -------------------------------------------------------------------------------- /Begining/6. Просто попробовать.md: -------------------------------------------------------------------------------- 1 | # Просто попробовать 2 | 3 | ## Предисловие 4 | 5 | Многие кто задался целью "войти в программирование", сразу начинают чтото анализировать, выбирать языки, переживать из-за того что у них что-то не получается. 6 | В общем - цель поставлена, но недостигается. 7 | Сплошное разочарование и нервы. 8 | 9 | Проблема этой мороки какая? 10 | Правильно - усердия, увлеченности и искренней заинтересованности в предмете изучения вам с таким подходом не видать. 11 | Дадада, я знаю, я говорил про план, про то что нужно ставить цели, все это верно... когда вы влюбленны в программирование и выбрали направление. 12 | 13 | А если вы реили попробовать, или не из любви "к искусству", а из меркантильных побуждений? Или не дай бог из-за страха остаться не у дел в современном мире? 14 | Вот в данном случае этот подход вам отлично подойдет, да и базу какую-никакую наработаете. 15 | 16 | ## Подход 17 | 18 | Первое и самое важное - не ставьте себе цели в виде карьеры, направлени и не дай бог денег. 19 | Ваша задача "поиграться" в программирование. 20 | Ну как вы в компьютерную игру играете, вот так же точно и в программирование. 21 | Просто для интереса, возьмите какой то язык, тут без разницы какой - Basic, TurboPascal, Python... 22 | Вы же не карьеру строить собрались? Ну и отлично, теперь реализуйте проектик... любой. 23 | Калькулятор, космический корабль, не важно - главное начать. 24 | Попробуйте доделать до конца. Не получается? Ну возьмите другой язык. Не получается? Ну другой возьмите. 25 | Аналогия: поиграли в одну игрушку, не понравилось, сменили жанр. 26 | И этот цикл повторяйте изо дня в день. 27 | Позволяется менять языки в любую сторону, делать на них любую задачу и читать(смотреть) любую информацию которая может помочь вам в реализации вашей задачи. 28 | Разрешается бросать проект на полпути, начинать новый бесконечное количество раз. 29 | Запрещается ставить цели и временные рамки. 30 | 31 | ## Какого хрена тут происходит? 32 | Хороший вопрос да? 33 | У меня в детстве, когда я начал программировать был именно такой подход. 34 | Жаль, источников информации было мало, а возможно это и к лучшему - карьеру строить не надо было, куда то стремитсья было бесполезно, и это позволило мне полюбить программирование, иначе я бы не занимался этим уже порядка 25 лет. 35 | А сейчас мы перегружены ажиотажем, желанием срубить бабла побыстрому, обучающих платформ которые только подливают масла в огонь нашего нетерпения. 36 | 37 | А вышеописанные подход позволит понять что такое программирование, понять нужно ли это вам, и хотите ли вы заниматься этим постоянно. 38 | -------------------------------------------------------------------------------- /Begining/7. Институт или работа.md: -------------------------------------------------------------------------------- 1 | # В институт или работать 2 | 3 | ## Предисловие 4 | 5 | Мне этот вопрос часто задают: Мне идти в институт и тратить 4-5 лет на обучение, или лучше сейчас начать обучаться по всем возможным ресурсам и получить лучший опыт и знания нежели в институте. 6 | Давайте опустим плюшки института в виде "корочек", возможности получить визу в другую страну, отсрочку от армии (В России) и прочее. 7 | Возьмем только часть с ЗНАНИЯМИ и я выскажу "пару" своих мыслей на эту тему. 8 | 9 | ## Мысли 10 | 11 | ### Плюсы института: 12 | Вас будут заставлять учиться. 13 | Да, вы думаете что если будете сидеть и самостоятельно что-то изучать, то будет эффективно, но давайте по честному - люди ленивые жопы в большинстве своем (я не исключение). 14 | Мы это прекрасно понимаем, иначе не было бы столько книг по "личной эффективности", продуктивности и прочему. 15 | Наша основная проблема - лень. 16 | Не лень нам, пожалуй, только развлекаться. 17 | 12 часов в компьютерной игре? Да как нефиг делать. 18 | 12 часов обучения? Это невероятно сложно, и повторить можно только один раз:) 19 | Аналогия понятна? Ну вот и не обманывайте себя. 20 | Тренироваться с тренером и сбрасывать свои жиры намного проще, потому что он постоянно будет тебя спрашивать об успехах, и вообще стыдно. 21 | В институте постоянно надо сдавать экзамены и проекты - ваш персональный тренер. 22 | 23 | ### Минусы института: 24 | Не хотел о минусах. но всеже. 25 | Это пипец как скучно. 26 | Эти лекции по 5 часов, бубнящий лектор, заснуть можно. Многие студенты так и делают. 27 | Это вам не веселый видео-блогер на ютубах который показывает как код писать. 28 | Это старый дядька лектор который в миллионный раз в своей жизни повторяющий материал из книги. 29 | Попробуй дослушать до конца и не сойти с ума. 30 | 31 | Практика в институте... ну, главное чтобы вас не заставили шляпы моделировать (как одного моего товарища на Радиофаке). 32 | 33 | Понятно что бывают исключения, но согласитесь - 8 часов в день заниматься программированием, или 8 часов в день учиться в институте истории, философии, химии, обж, что? какой у вас факультет? информатика? тогда вот вам пара часов про алгоритмы, чтобы жизнь медом не казалась. 34 | Утрировано? К сожалению, в большинстве случаев нет. 35 | 36 | ### Плюсы самообразования 37 | Мне сначала показалось странным писать эти разделы - ну, очевидно же что это тоже самое только наоборот, но повторение - мать учения. 38 | Короче, вы можете учить все что вздумается и тратить время на программирование и все что с ним связано. 39 | Все самое новое, свежее, новомодное, интересное. 40 | Можете игрушки делать, язык какой хотите используйте. 41 | Денег платить не надо - это вам не институт, ничье разрешение вам на "поступление" не нужно - захотел, взял, начал программировать. 42 | Опять же - не нужно бояться что отчислят. Эдакое право на обучение в первозданном виде. 43 | Почувстуй себя свободным человеком, правда чтобы эту свободу ценить - надо ее потерять. 44 | 45 | ### Минусы самообразования 46 | Я про ленивые жопы говорил да? 47 | Превед... 48 | Причем ты можешь представлять себе все что угодно до первого "ой я устал". 49 | Как показывает моя ленивожопая практика, это можно говорить как нихрена не сделав за день, так и сделав вещи, которые обычный человек тянуть не должен (начинает плакать вспоминая). 50 | Процесс неконтролируемый. 51 | Да, ты почитал книжек по психологии и нашел грааль упорнотрудящейся жопы, но нет - это как в играх, забафаться можно только на ограниченное время. 52 | И да, близость новых игрушек, красивых девушек, друзей или "ойвсе" сбивает эти спеллы с тебя моментально. 53 | Короче - не надейся. 54 | Что можно сделать? Можно пытаться себя ограничивать, и не пускаться в "загулы" постоянно, удачи. 55 | -------------------------------------------------------------------------------- /Begining/README.md: -------------------------------------------------------------------------------- 1 | # Вхождение в программирование 2 | Данный раздел посвящен людям, которые только начинают свой путь в программировании. 3 | 4 | #### Оглавление: 5 | -------------------------------------------------------------------------------- /Career/1. Путь к мастерству.md: -------------------------------------------------------------------------------- 1 | # Путь к мастерству 2 | 3 | Это всегда долго, и если мы говорим об осознанном пути, то это всегда по любви. 4 | 5 | ## По любви 6 | Я это проходил и передо мной есть примеры товарищей которые этот путь прошли, сейчас опишу основные моменты, которые дожны помочь самоопределиться. 7 | Но, важно понимать что в данной статье не про "а на что жить", "а как же востребованность" и т. п. 8 | Цель данной заметки – зафиксировать основные триггеры для выбора направления "По любви". 9 | 10 | ### Итак: 11 | Хочу сравнить любовь к языку программирования с любовью к девушке. 12 | Если спросить "почему ты любишь именно ее", то все слова по типу (хороший характер, красивая и т. п.) будут, мягко говоря, мимо. Сложно описать внутренне ощущение, рожденное сотнями деталей, которые переходят в слова "просто люблю". 13 | Романтично я начал, да? 14 | Ну тут разговор не о романтике, это наиболее точная, приходящая мне в голову аналогия. 15 | С языком программирования точно также. 16 | Вы можете говорить о красоте синтаксиса, о его востребованности или о зарплатах, но это все не о "любви" а о расчете. 17 | А вот если вас посетила именно эта "любовь", жуткий интерес и увлеченность какой-либо технологией, то будет сложно описать, почему конкретно вам это нравится. 18 | И нужна определенная смелось просто объяснить себе, что это любовь, почему тут не работает. 19 | 20 | ### История: 21 | В 2011 году перспективы JavaScript были непонятны. По крайней мере, того тренда, что существует в 2020, точно не было. 22 | Это был расцвет перед взрывом его популярности. 23 | И когда мы с Лешей влюбились в этот язык, "почему" – было не очень понятно, по крайней мере мне. 24 | Мы накинулись на спецификацию языка, начали пилить приложения и я достаточно быстро перешел на коммерческий проект на базе этого языка. 25 | Эта страсть привела к тому, что я развился до старшего разработчика, но покинул разработку в 2016. 26 | Леша же продолжил свое увлечение. 27 | В 2020 он является Google Expert, отлично знает технологии в Frontend и работает в топовых компаниях. 28 | 29 | Я это к чему – наша увлеченность базировалась не на деньгах, но деньги, как и все остальное, последовали за увлечением. 30 | 31 | ### Резюме 32 | Мастерство рождается из глубокой увлеченности определенным предметом, вам хватает мотивации и энергии чтобы изучить данную область вдоль и поперек. 33 | Вам не нужно себя заставлять работать по ночам или читать "скучные книги" - они перестают быть скучными. 34 | Ваша работа перестает быть рутинной, что бы вы ни делали. 35 | А ваше мастерство рождает заинтересованность в вас, причем чем больший вы мастер, тем больше вас хотят, все меньше шансов что будут пытаться обойтись без вас. 36 | Это, в свою очередь, дает возможность поработать на все более интересных и сложных (тут можно поставить знак равно) проектах. 37 | И получаеть все больше удовольствия и развивая свой уровень все дальше. 38 | Наврядли работая на банальных проектах вы пробили бы этот стеклянный потолок. 39 | 40 | ## Долго 41 | Теперь по поводу времени. 42 | Когда мы слышим слово "стать мастером", мы не понимаем, насколько это сложно. 43 | Мы не понимаем, насколько долго. 44 | Даже если мы возьмем Лешу, 9-10 лет – это долго, но вы не понимаете, что это такое, когда слышите цифру 10. 45 | Это просто цифра, она не передает все те усилия и работу, которую нужно проделать за эти годы, сколько книг нужно прочитать, конференций, на которые съездить и выступить, цифра 10 ничего не передает и не значит для вашего мозга. 46 | Он просто не может объять всю картину будущего, которое вас ждет. 47 | И результаты не придут к вам сразу, так как вам нужно будет перелопатить огромное количество материалов и сделать огромное количество работы, чтобы лишь освоить азы выбранной тематики. 48 | Я не говорю о закреплении и уж тем более мастерском использовании выбранных инструментов (языка программирования в данном случае). 49 | 50 | ### Не думать 51 | Вообще, представлять сложности – достаточно печальная задача: испугаете свой мозг, а ведь достижение мастерства в любой другой области потребует у вас все тех же усилий, только область отличаться будет. 52 | Поэтому, думая, что станете мастером быстрее если выберете другое направление, то ошибаетесь – до мастерства в любом направлении одинаковое количество лет (это я условно). 53 | Соответственно – просто не думайте. Не пугайте себя, не разочаровывайте и не убивайте детскую непосредственность. 54 | Вам понадобится вера в себя и оптимизм на этом долгом пути, не нужно самому себе в колеса палки вставлять. 55 | -------------------------------------------------------------------------------- /Career/2. План развития.md: -------------------------------------------------------------------------------- 1 | # Про построение плана равития 2 | Крайне полезный сегодня пост с ссылочками, записывайте себе в заметки, но сначала присказка: 3 | Товарищ сегодня написал. 4 | Он C++ разработкой уже несколько лет занимается в банке, и, вот встал вопрос - как будучи синьором развиваться дальше? Что именно делать чтобы стать супер-спецом (мастером)? 5 | К сожалению, задавая такие вопросы публично он даже нарвался на типичного мудака, который встретил его вопросы следующим сообщением: 6 | ⁃ Вроде бы взрослый человек, а задаешь дебильные вопросы. Из тебя не выйдет супер-программиста по одной простой причине: ты - ДУРАК. 7 | ⁃ 8 | Но! Благо, таких индивидов не так много, большая часть нормальные, адекватные люди, и я хочу поделиться с вами своим лайфхаком о том, что делать в ситуации, когда вы синьор, и не представляете что делать для дальнейшего роста. 9 | 10 | Теперь по сути: 11 | 1. Вам нужен план с конкретными действиями, такие планы часто уже написаны, я вам ссылки приложу на несколько. 12 | 2. В твиттере можно подписаться на иностранных разработчиков, и они с удовольствием ответят вам на личное сообщение. Там вообще, желчи в IT-сообществе сильно меньше, как мне кажется, нежели в российском. + они часто как раз эти планы развития и пишут, выкладывая в общий доступ. 13 | 14 | И, вот, собственно, ссылки на подобные планы развития, если у вас есть чем еще поделиться, или есть по С++ для моего товарища, постите в чат, это будет крайне полезно: 15 | 16 | Путь Reverse-инженера: 17 | https://twitter.com/daeken/status/1025123319824244738 18 | 19 | Как стать разработчиком ядра Linux: 20 | https://gist.github.com/vegard/22200a9f91af138a99ae22a9b814a9a4 21 | 22 | Путь низкоуровневого программиста: 23 | https://github.com/gurugio/lowlevelprogramming-university/blob/master/README_ru.md -------------------------------------------------------------------------------- /Code/Понятность кода.md: -------------------------------------------------------------------------------- 1 | Читаю сейчас книгу Unix Брайана Керригана (это новая, на ней даже дата выпуска стоит 2021 годом). 2 | 3 | Там есть такие слова: 4 | > «Пишите ясно, не умничайте». 5 | 6 | Это про стилизацию кода, когда он в угоду «краткости» становится не читабельным. 7 | Я эту мысль последние несколько месяцев кручу в голове, когда натыкаюсь на чужой код в виде: 8 | 9 | ```js 10 | setSomeObject({ 11 | …someObject, 12 | array: { 13 | …object, 14 | items: newType === 'any of' 15 | ? { 16 | anyOf: oldSomeObject 17 | ? [omit(oldSomeObject, 'description')].filter(({ type }) => type !== 'any') 18 | : [] 19 | } 20 | : newType === 'object' 21 | ? { type: newType, properties: {} } 22 | : { type: newType } 23 | } 24 | }); 25 | ``` 26 | или такое: 27 | ```js 28 | return [ 29 | …parentItem, 30 | ...( 31 | parentObject 32 | ? parentObject.anyOf 33 | ? ['anyOf', ...propertyItemSomething] 34 | : parentObject.type === ‘some’ 35 | ? ['properties', ...propertyItemSomething] 36 | : parentObject.type === ‘something’ 37 | ? ['items'] 38 | : [] 39 | : [] 40 | ) 41 | ]; 42 | ``` 43 | Все хорошо к месту, и тернарные операторы в том числе… -------------------------------------------------------------------------------- /General/1. Изучение информации.md: -------------------------------------------------------------------------------- 1 | # Изучение информации 2 | 3 | ### Введение 4 | Этот раздел подойдет не только программистам, так как касается общих подходов в изучении информации, привычек и т. п. 5 | 6 | ### Заметки по изучению информации 7 | 8 | #### Язык документации 9 | В России мы говорим на русском, думаем на русском и зачастую привыкли читать техническую документацию на английском... 10 | Да, не все и не всегда, но если вы программист со стажем, то, скорее всего, вы так и делаете, хотя благодаря русскоязычному сообществу у нас достаточно много книг и материалов на русском языке, основная часть свежей информации приходит на английском и нам необходимо воспринимать именно ее. 11 | Сразу оговорюсь – мы не о русскоязычных людях, которые живут за рубежом, так как при нахождении в среде с другим языком твой мозг "переключается" на него и процессы восприятия информации идут по-другому. 12 | В общем – я рекомендую читать основные объемы информации, если они есть таком виде на русском - мозгу проще усвоить эту информацию и меньше затрат при "переводе", когда вы читаете. 13 | Отсутствие этих накладных расходов позволяет более полно (если у вас неидеальный английский) воспринимать информацию и, что еще важнее, – большее ее количество остается в голове. 14 | 15 | #### Цепочная реакция при изучении 16 | 17 | Если в момент изучения у меня нет спешки (то есть я не работаю на коммерческом проекте), то я предпочитаю данный метод для более полного и глубокого изучения темы. 18 | Он состоит в следующем: 19 | - Нужно принять то, что вы будете сидеть даже над простыми задачами достаточно долго, если смотреть в сумме. 20 | - Когда вы встречаете в тексте или в упражнении что-то, чего не понимаете до конца, вы гуглите, читаете и смотрите материалы по данной теме так долго, как только нужно для полного понимания вопроса. 21 | - Если в статьях, которые вы ищете по теме номер 1, встречаются непонятные термины и они тоже вам важны, вы гуглите и их, таким образом получается цепная реакция – вы погружаетесь все глубже и глубже, и в определенный момент тема, которая нужна была только для написания захвата строки из консоли, превращается в изучение математических параметров, алгебры, теории вычислительных систем и прочего. 22 | 23 | Выглядит подобный способ как странное разбрасывание временными ресурсами, но на самом деле вы просто затыкаете все те дыры в базовых знаниях, которые у вас были изначально, соответственно, чем больше дыр, тем больше времени тратится. 24 | И из этого выходит другой не менее важный момент – чем больше вы потратили времени на начальном этапе, тем меньше времени вам понадобится в будущем. 25 | То есть, это не потеря ресурсов, а создание твердой базы для дальнейшего погружения в тему. 26 | 27 | Важное замечание – подобный способ нужен в случае, если вы уверены в той области программирования, куда решили так "глубоко" занырнуть. 28 | Если ваша цель просто "поверхностно" познакомиться с языком и технологией, то такой способ может быть пагубным, так как потратит массу времени и не принесет того результата, который вы изначально планировали для оценки технологии. 29 | Хотя тут тоже есть момент – при поверхностном "сканировании" технологии вы можете сформировать неправильное мнение, образованное именно непониманием изучаемой технологии. Подобное явление можно увидеть, когда люди начинают возмущаться очередной статьей, рассказывающей о минусах языка, например, аргументируя свое негодование тем, что "автор просто не разобрался в теме и все там нормально". 30 | Это происходит именно из-за того, что автор зачастую действительно не разобрался – он не погрузился в технологию достаточно глубоко, и сформировал поверхностный взгляд. 31 | Печально, когда подобный поверхностный взгляд появляется в публичных статьях, ведь он может смутить и запутать новичков, которые делают выбор технологий вслепую и основываются на мнении "знающих" людей, которые, как видите, могут и "не знать". 32 | -------------------------------------------------------------------------------- /General/10. Legacy и рефакторинг.md: -------------------------------------------------------------------------------- 1 | # Я люблю Legacy 2 | 3 | Неприязнь к легаси-коду давно известна. 4 | Многие программисты с ненавистью повторяют эти слова, но… 5 | Я Legacy люблю, потому что это прекрасная возможность внедрить что-то новое и отточить практики рефакторинга. 6 | Да и вообще, испытываю огромное чувство удовлетворения, когда превращаю legacy-код во что-то прекрасное. 7 | Только есть нюанс - нужно огромное количество терпения, потому что придется совмещать работу над новыми фичами или исправлением багов с рефакторингом, а это удлиняет процесс. 8 | 9 | ### Но, у меня есть несколько простых рецептов: 10 | 1. Я стараюсь выделять по часу в день на рефакторинг. 11 | 2. Когда есть новый таск, в процессе его выполнения, я не нагромождаю костыль на костыль. Я стараюсь без фанатизма провести рефакторинг, необходимый для того чтобы доработка не всталвяла кусок новых проблем, а несла с собой положительные изменения относительно того что было. 12 | 3. Когда нужно исправить баг - отлично, значит будет исправлен не только он, но и часть кода вокруг него. 13 | 14 | Получается, я рефакторю код перманентно. Чтобы я не делал, изменения идут не только по поставленной задаче, но и улучшают код вокруг нее. 15 | Да, это маленькие шаги, общий процесс идет долго, но чувство удовлетворения от осознания того, что я не просто выполнил задание, но и улучшил кодовую базу, греет душу. 16 | -------------------------------------------------------------------------------- /General/2. Выбор технологий.md: -------------------------------------------------------------------------------- 1 | # Выбор технологий 2 | 3 | ### Введение 4 | Выбор языка, фреймворка или библиотеки зачастую становится краеугольной дилеммой в работе программиста, в данной главе находится список заметок, призванных помочь и сделать выбор более осознанным. 5 | Более того – наш выбор технологического стека является наследием, которое мы передадим следующим за нами коллегам, и было бы здорово сделать их работу легче и приятнее, оставляя меньше legacy в проектах. 6 | 7 | ### Заметки 8 | 9 | #### Выбор библиотек 10 | Первый этап – смотрим github аккаунт библиотек, которые соответствуют нашим задачам, смотрим, как много звезд, контрибьюторов, как давно делался последний коммит и как давно начат проект. 11 | Данный простой скрининг позволяет понять, не заброшена ли библиотека, каковы шансы того, что через большое количество времени она все еще будет актуальна, ошибки в ней будут исправляться и это не станет вашей (или ваших преемников) головной болью. 12 | Далее смотрим редми файл – нас интересует не Deprecated ли разработка и какие функции данная библиотека реализует, как просто ее интегрировать в проект. Эта же информация нужна нам для сравнения с другими библиотеками. 13 | -------------------------------------------------------------------------------- /General/3. Позиция.md: -------------------------------------------------------------------------------- 1 | # Позиция 2 | 3 | ## Введение 4 | Самонастрой, позиция, отношение к жизни – называйте как хотите, но это крайне важно, когда речь заходит о "непонятных" вещах типа: 5 | - Почему одинаковые специалисты получают разные деньги 6 | - Почему в одной и той же компании люди ощущают себя по-разному 7 | - Почему кто-то достигает определенных высот в карьере, а кто-то топчется на месте 8 | 9 | ### Галеры 10 | Вот вам пример – модное название компаний-аутстафферов. Точнее, некоторые сотрудники так характеризуют этот род деятельности. 11 | И если не брать историческую канву, в которой сами воины садились на весла, то в современном мире слово "галера" скорее трактуется как судно, где на веслах сидят рабы. 12 | То есть, люди, работая в такой компании, характеризуют себя как безвольных рабов, таким образом принижая себя. 13 | Вы программисты, вы специалисты, которые вольны выбирать то место, где вам нравится. 14 | Вы не рабы. 15 | Вас никто не купил, не заковал в кандалы и не загнал на эту "галеру". 16 | Вы сами захотели устроиться в эту компанию, прошли собеседования, согласовали зарплату и сделали этот выбор. 17 | У рабов нет выбора, им не платят за работу. 18 | Поэтому – принижая компанию, в которой работаете, вы принижаете свое достоинство в первую очередь. 19 | 20 | #### Последствия такого мышления 21 | Да, есть выражение "рабское мышление". Подобные характеристики компании как раз таки формируют этот тип мышления: 22 | - Меня просто используют. 23 | - У меня нет выхода. 24 | - Я на большее не способен. 25 | - Перспектив нет. 26 | - И так далее, и тому подобное... 27 | 28 | Не похоже на самомнение уважающего себя специалиста, правда? 29 | 30 | Специалист найдет новую работу в любой момент, он востребован и полон амбиций, у него есть уверенность, что он может добиться любого уровня профессионализма, которого захочет, это лишь вопрос времени. 31 | 32 | Моя вам рекомендация – будьте специалистами, а не рабами, жизнь станет намного ярче и свободнее. 33 | К тому же "кандалы" вы надеваете на себя сами. 34 | -------------------------------------------------------------------------------- /General/4. Откладывание.md: -------------------------------------------------------------------------------- 1 | # Откладывание 2 | 3 | ## Введение 4 | Мы часто думаем, что для достижения определенной цели нам нужно подготовиться. 5 | Это не только программистам свойственно, но по роду деятельности я оооооочень часто замечал подобную проблему у программистов, поэтому буду приводить именно эти, ориентированные на профессию примеры. 6 | 7 | - Мне нужно знать математику, чтобы стать программистом 8 | - Мне нужно прочитать книгу (или не дай бог книгИ), чтоб стать программистом 9 | - Мне нужно сформировать мышление программиста (что это за мышление? как себе это человек представляет? но чем неопределеннее, тем меньше шансов этого достигнуть) 10 | - Нужно учиться в ВУЗе, чтобы стать программистом 11 | - Невозможно найти работу, не имея опыта работы (это вид рекурсии такой?) 12 | - Курсы я не те прошел, нужны какие-то другие, более дорогие курсы, а эти гавно (да, я на них не учился-то толком и забил на все, но они гавно, поэтому и забил) 13 | - У меня нет времени, чтобы изучать программирование (да, играть в игрушки время есть, я же устал и надо дать мозгу отдохнуть, да, на ютуб-ролики время есть, ведь я не долго (херня собачья), соцсети, пивко с друзьями, потупить в окно, покурить кальян – это все успевается, а вот на программирование времени ну никак нет) 14 | - И так далее – перечислять можно бесконечно 15 | 16 | Самое важное в этих причинах то, что вы так и не достигнете вашей цели. 17 | И если бы цели не стояло, было бы по крайней мере честно по отношению к себе, но ведь вы еще и мучиться начнете из-за этого, вот беда... 18 | 19 | ## Рекомендации 20 | Как обычно, у меня первая рекомендация - быть честным по отношению к себе и признать, надо ли вам это "программирование" вообще, и не мучить котика, если не надо. 21 | Если действительно надо, то нужно действовать по пути наименьшего сопротивления. Действовать по пути наибольшего сопротивления успеете, когда устроитесь на работу, а сейчас зачем себе жизнь усложнять? 22 | 23 | 1. Мы не берем в расчет Яндексы, Гуглы и Фейсбуки, я знаю что вам туда хочется, но давайте по честноку – большинство программистов туда не попадет, скорее всего никогда, давайте мечтам о будущем не мешать нам действовать в настоящем (этот пункт можно было внести в предыдущий список) 24 | 2. В большинстве случаев в компаниях нужны программисты-ремесленники, то есть люди, которые перелопачивают огромное количество задач, багов и прочего, вполне обыденных и рутинных с точки зрения человека, который посидел над такими задачами несколько лет. 25 | 26 | Это не значит, что не нужно стремиться и что вы ничего не добьетесь, это не значит что база не нужна, это не значит, что вам нужно следовать моим советам. 27 | #### Это значит лишь одно - не нужно откладывать программирование только потому, что вам чего-то "не хватает". 28 | Не будьте врагом самим себе, не позволяйте вашему мозгу придумать отговорки, из-за которых вы не можете достигнуть цели. 29 | -------------------------------------------------------------------------------- /General/5. Проблемы при изучении.md: -------------------------------------------------------------------------------- 1 | # Проблемы при изучении 2 | 3 | Вот с какими проблемами сталкивался я и мои "студенты": 4 | - Отсутствие мотивации 5 | - Ничего не понимаю 6 | - Отсутствие времени 7 | - Все понимаю, но через некоторое время ничего не помню 8 | - Теряется фокус 9 | 10 | ## Искренний интерес 11 | Можно долго говорить о разнообразных подходах в самомотивации, но я нашел для себя идеальный на данный момент. 12 | 13 | #### Искренний интерес к изучаемому предмету. 14 | 15 | Звучит странно, непонятно и слишком просто, не так ли? 16 | Я сейчас поясню, так как это далеко не банальное определение, как могло показаться с первого раза. 17 | 18 | Это желание постоянно заниматься только этим. 19 | Это как желание поиграть в любиму игру. 20 | Это готовность в любой момент заняться изучением данного предмета без поиска "более комфортного места" или "состояния потока" или чего там вам еще не хватает обычно. 21 | Состояние "потока" достигается моментально. 22 | Отвлекающие факторы уже практически не работают (ну да, когда меня ребенок в десятый раз пнула меня в голову, мне это надоело). 23 | Ваши мысли постоянно возвращаются к теме изучения. 24 | Думая о том, что будете делать завтра, вы в первую очередь пытаетесь найти окно для изучения. 25 | Если вас спросить, что бы вы делали, если бы хотели отдохнуть, без вариантов – поизучать выбранную дисциплину. 26 | 27 | Все, что я описал, звучит достаточно необычно, больше похоже на фантазию, так? 28 | А если я скажу, что я это говорил о компьютерных играх? Уже похоже, правда? Мне кажется, это достаточно точная аналогия. 29 | 30 | В этом и проблема – мы все мучаемся из-за недостаточной увлеченности предметом изучения. 31 | Постоянно пытаемся найти новый лучший способ изучения, придумать, как себя заставить, найти лучшую книгу или курс, другого преподавателя, в общем, боремся с симптомами, а не с первопричиной. 32 | 33 | Давайте еще раз возьмем список из начала статьи и пройдемся по каждому пункту. 34 | - Отсутствие мотивации – ну тут понятно, я с этого и начал. 35 | - Ничего не понимаю – когда тебе жутко интересно, ты также не будешь что-либо не понимать, но ты даже не обратишь на это внимание, просто найдешь 100 и одно объяснение, чтобы дошло. И это не будет проблемой в процессе. 36 | - Отсутствие времени. На ютуб-ролики, котиков в интернетах и игрушки мы находим время обычно, тут подобной проблемы нет. Когда изучаемая область по совместительству самое интересное развлечение – время тоже найдется. 37 | - Забываю спустя какое-то время. Вы замечали, что поиграв в определенную компьютерную игру, у вас нет принципиальных проблем в запоминании того, как вы проходили определенные квесты, какое оборудование хотите купить и что вообще происходило в рейде? Не помню, чтобы кто-то жаловался на усвояемость информации в компьютерных игрушках. Я прям представляю – курсы по улучшению усвоения знаний в MMORPG... Бред? А вот для изучения чего-либо такие курсы есть. А по сути – и в изучении и в игре нам приходится что-либо изучать, понимать, действовать и создавать. 38 | - Теряется фокус – ну тут я уже говорил, но повторюсь – чтобы втихаря полчасика порезаться в игру вам не нужно собираться с силами и входить в "поток" – вас трясет, пока загружается игра и вы трясущимися ручонками быстрее запускаете новую миссию, времени-то мало, надо побольше успеть. А где вхождение в поток в течение 25 минут? 39 | 40 | ## Как вызвать искренний интерес 41 | 42 | Я опишу собственные рецепты, полученные эмпирическим способом. 43 | 44 | ##### Я сконцентрировал все свои устремления на определенной области, которая мне была интересна 45 | Тут важно понять, что это за область, что конкретно вы хотите делать. Чтобы сформулировать ответ, порой требуется большое количество времени – у меня ушло несколько месяцев постоянных размышлений и проб в направлениях, которые мне нравились без материального подтекста. 46 | Я заметил важный момент – как только начинаете думать о прибыльности и перспективности на начальном этапе, это искажает ваш выбор, поэтому нужно смотреть именно на то, что просто интересно, когда интерес идет из глубины души. 47 | Про перспективы и деньги – это потом, я опишу, как это использовать себе на пользу. 48 | 49 | ##### Вспомнил все, что вызывало у меня интерес в прошлом, и что было тематически связано с выбранной темой. 50 | Я воспроизвел те эмоции, которые испытывал будучи ребенком, беря в руки книгу, или садясь за компьютер, вспомнил чего мне хотелось, что было интересно и каким бы я хотел себя видеть. 51 | Только тогда у меня не было денег и возможностей, но теперь они у меня есть, осталось только позволить себе заниматься тем, что было интересно еще в детстве. 52 | 53 | ##### Начал строить планы, в которых выбранная мной область занимала ключевое значение. 54 | Важная заметка – планы должны быть радужными, не нужно обременять себя деструктивными мыслями, не демотивируйте себя. 55 | Но, это не значит, что реализма тут быть не должно – не нужно строить планы, которым не суждено сбыться, и не нужно думать о плохом. 56 | И вот тут можно и о материальных благах подумать. 57 | Подбодрить себя красивыми цифрами, но опять же – реальными, посмотрите, что вакансии есть, если их много – пффф, еще лучше. 58 | Делаются проекты, в которые можно поконтрибьютить? Вообще отлично. 59 | Люди проявляют интерес и что-то в этой области делают? Прекрасно, значит будет еще интереснее. 60 | 61 | ##### Поставил себе пятилетний срок на вхождение в основную область как среднего уровня специалист. 62 | Большой срок, да? Там дальше почитаете еще. А пока... 63 | Пять лет – это я про себя говорю, вам не обязательно ставить такой же. 64 | У каждого свои задачи, мои вкусы достаточно специфичны © 65 | Соответственно, и временные интервалы разные, но что нужно учитывать – сделайте себе надбавку, причем такую, чтобы внутреннее напряжение ушло окончательно. 66 | Я говорю про внутреннее напряжение, сопровождающееся неуверенностью в том, что вы успеете. 67 | Зачем вы себя вгоняете в дополнительные рамки? Чтобы мотивировать? Ок, в данной статье не о жестком подходе, тут больше для тех, кто смотрит в вечность:) 68 | 69 | ##### 30-ти летний план 70 | Что можно успеть за 30 лет осознанной деятельности (я умышленно опускаю период 18-ти летия)? 71 | Да ВСЕ! 72 | Люди делали состояния, становились отличными хирургами с огромным опытом, делали свои операционные системы, улетали в космос и становились президентами. 73 | А теперь представьте – вам, допустим, 30, ну или 36, как мне. 74 | Дай бог, чтобы мы были здоровы и судьба нас берегла, и остается еще пару раз по 30 (как минимум). 75 | То есть, я могу еще пару раз стать супер-профессионалом в любой области, абсолютно не зависящей от IT. 76 | Подумайте – я могу еще пару жизней прожить. Эгегегей! 77 | Это немыслимая тонна времени, это бесконечная бесконечность (нет). 78 | А теперь, где там эти пять лет, которые я себе поставил на вхождение в новую область? Пфф, это уже кажется песчинкой на пляже. Вообще ничто, нормальный такой отрезок времени. 79 | Важно только понимать – я все эти пять лет буду учиться. Постоянно. Систематично. Держа в голове цель. 80 | И остальные 25 лет тоже. Так же. 81 | И потом еще 30 лет. 82 | Давайте, обгоните меня на этой дистанции (буду рад встретиться и поболтать в конце:)). 83 | 84 | ##### Позволил себе отвлекаться на изучение смежных областей, которые могут усилить основную. 85 | Почувствуйте вкус свободы. 86 | Позвольте себе обучаться без рамок. 87 | Когда вы занимаетесь одной обширной областью знаний, и вы из любопытства начинаете копаться в смежных, понимая, что они косвенно могут усилить вас, позвольте себе потратить туда время, не корите себя за этот разброс. 88 | У вас много времени, а эти области усиливают вашу основную, поэтому данные действия тоже во благо. 89 | А вот если будете себя одергивать, тогда не ровен час – потеряете интерес к основной теме, ведь ваш процесс обучения будет ассоциироваться не со свободой изучения, а с рамками и ограничениями. 90 | 91 | ## Резюме 92 | Да, это про настрой. Вся наша жизнь про настрой и отношение к этой самой жизни. 93 | Нет, за пять минут себя так смотивировать не получится. Относитесь к этому как к процессу – может что-то не получаться, главное не останавливаться, когда споткнулись. 94 | У меня несколько месяцев ушло, чтобы постоянным самовнушением и диалогами с женой ввести себя в подобное состояние уверенности, гармоничности и концентрации. 95 | Мне интересно, что будет еще через годик, потом отпишусь, обязательно. 96 | 97 | 98 | -------------------------------------------------------------------------------- /General/6. Меньше думай, больше делай.md: -------------------------------------------------------------------------------- 1 | # Меньше думай, большей делай 2 | 3 | `Меньше думай о коде, больше его пиши` 4 | 5 | ## Предисловие 6 | Бывало ли что получив новую сложную или не очень задачу (ведь это все относительно), вы впадали в прострацию, обдумывая в голове ее решение, переключали свое внимание на что-то другое, потом опять возвращались к решению задачи в голове... 7 | Мне даже сложно представить что именно приводит к тому чтобы прервать эту ментальную маструбацию. 8 | Многие возразят. 9 | Да, в крупном проекте нужно продумать архитектуру, принять общие правила разработки и тп. 10 | Да, нужно понять что именно ты делаешь и продумать исключения. 11 | Никто не говорит об этих, безусловно, важных вещах. 12 | 13 | #### Я сейчас говорю не не об этом. 14 | 15 | Заметьте - данные возражения относятся к области планирования, тоесть вы собираетесь (если вы один, то собираетесь с духом), пишете план, рисуете на доске, и фиксируете соглашения к которым пришли. 16 | Если вы продумываете исключения, интерфейс, то это все тоже прорисовывается и прописывается, иначе через пять минут вы не вспомните к чему пришли, а держать одну картинку в 10 головах невозможно. 17 | 18 | #### Я говорю о... 19 | Моменте, когда вам нужно сесть и начать писать код, но вы погружены в собственные мысли, пытаясь "что-то распланировать", странно что да? 20 | Вы скажете - нужно представить код который я буду писать. 21 | А вы начните писать и все мысли которые приходят в процессе программирования, сразу и реализуйте, ну или TODO пишите чтобы не забыть. Прямо в коде, да, чтобы потом ваши "ценные" мысли мозолили вам глаза, когда вы просматриваете список TODO проекта (если не делаете это еще, попробуйте). 22 | И, если вы напишите что-то не красиво или не функционально, то сразу и исправьте, в любом случае, как показывает моя практика - это более эффективно, чем ментально маструбировать на образ кода, которого еще нет. 23 | Причем, несмотря на всю силу и размер вашего мозга, с большой долей вероятности вы все равно что-то не учтете, а работающий код покажет реальную ситуацию, реальные исключения и реальные проблемы дизайна, которые вы сразу не можете учесть. 24 | 25 | ## Послесловие 26 | Ломает этот подход очень сильно, но производительность растет, а вхождение в "поток" происходит практически моментално. 27 | Просто начните писать, а не думать... 28 | -------------------------------------------------------------------------------- /General/7. Тимлидство.md: -------------------------------------------------------------------------------- 1 | ## Немного про тимлидство 2 | 3 | ## Предисловие 4 | Сейчас речь не о тех людях, которые занимаются управлением проектами, потому что им нравится управлять проектами или командами. 5 | Мы говорим именно о тех, кто занимается программированием, но так случилось, занимается еще и управлением командой. 6 | Это обычная модель для тимлида - есть кто-то из разработчиков с хорошим опытом, который следит за работой коллег, принимает решения, разруливает проблемы и организует всех. 7 | Но он полноценный разработчик, и часто в профессиональном плане он как раз занимает верхнюю ступеньку в данной команде. 8 | И, еще раз повторюсь, это произошло вынужденно, случайно, как угодно, но у него нет цели быть именно хорошим тимлидом, его личная цель - быть хорошим разработчиком, архитектором, как угодно назовите, но он не ставил цели именно развития в тимлидской роли. 9 | Я почему так упорно разжевываю эти вводные данные. 10 | Если человек поставил себе цель быть хорошим управленцем, то и отлично. 11 | Но, я на своем пути видел огромное количество людей, отличных специалистов, которые взвалили на себя ношу тимлида не потому что у них такая цель в жизни, а потому что больше некому, денег предложили больше, или "так само собой получилось" (просто взял на себя ответственность и понеслась). 12 | Далее информация будет о таких людях и для таких людей. 13 | 14 | ## Теперь к сути 15 | 16 | Самое важное что нужно понять: 17 | #### Если вы тимлид, то вы не разработчик. 18 | Кто-то возразит что тимлид тоже программирует. 19 | Да, но это совмещение должностей - технического управленца и программиста. 20 | Работа тимлида - это не программирование. 21 | Программирование - работа программиста. 22 | Если человек управляет командой и программирует, значит он совмещает две должности. 23 | Если вы совмещаете две должности, то никак не сможете уделать достаточно внимания каждой из них. 24 | Вы будете недопрограммистом-недоуправленцем. 25 | А развитие в определенной области в рабочее время происходит тогда, когда у вас достаточно времени для этого самого развития (книжки почитать, статьи, провести исследование или эксперименты). 26 | Если вы пытаетесь сидеть одной попой на двух стульях, то скорее всего будете стоять на месте в той области, которая по сути ваша - в программировании. 27 | Вы меняете перспективы своего роста и развития на деньги. 28 | В работе тимлида вы будете разруливать проблемы проекта, организовывать людей и общаться с менеджментом, и чем хуже дела на проекте, тем меньше вы будете программировать. 29 | А отрицать это - это лишь питать себя иллюзией того, что вы все еще программист (сейчас завал пройдет и сяду покодю... хаха). 30 | Нет, вы им быть перестали, а про развитие в профессиональной области вообще забудьте. 31 | И вот так невзначай "не ваша цель" стала центром вашего существования. 32 | И, если через годы, вы поймете что вас эта ответственность задолбала, задумайтесь - а была ли у вас цель быть тимлидом, или все-таки это случайность. 33 | Случайность, которая отобрала у вас годы потенциального развития как специалиста. 34 | Возможно, вы взяли больше денег, но потеряли намного больше возможностей в будущем, если бы сосредоточились на программировании. 35 | -------------------------------------------------------------------------------- /General/8. Саморазвитие на проекте.md: -------------------------------------------------------------------------------- 1 | # Саморазвитие в горячке работы 2 | 3 | ## Вопросы самому себе 4 | Как думаете - растете ли вы, если выполняете рутинные ежедневные задачи? 5 | Вы вроде бы много полезного делаете, но узнали ли вы что-то новое сегодня? 6 | А насколько лучше бы вы стали как специалист, если бы каждый день уделяли отдельный час из рабочего графика на принудительное равитие в используемых технологиях? 7 | А принесли бы вы пользу проекту если бы каждый день узнавали как можно оптимизировать код, который пишите на проекте? 8 | Так не является ли час потраченный в рабочее время на развитие в используемых технологиях отличной инвестицией и в проект и в вас как в специалиста? 9 | Просто один час, который вы не смотря ни на что выделяете, чтобы почитать статьи, протестировать новые технологии и тд? 10 | 11 | А если вы будете тратить еще один час на рефакторинг вашего кода на основании полученных знаний? 12 | День за днем, час за часом - ваша работа будет становиться легче и быстрее, код понятнее, надежнее и быстрее. 13 | 14 | ## Резюме 15 | Если рассматривать эти вопросы с точки зрения короткой перспективы, то времени на это всегда нет, его всегда жалко, всегда потом. 16 | Но, вы же не собираетесь увольняться завтра? 17 | У вас есть еще полгода, год, два, пять, чтобы работать над текущем проектом. 18 | А теперь умножьте 1 час на количество рабочих дней в году - это огромные правильные инвестиции и в вас, и в проект, которые вы можете начать делать в любой момент. 19 | -------------------------------------------------------------------------------- /General/9. Восприятие информации.md: -------------------------------------------------------------------------------- 1 | # Про восприятие информации 2 | 3 | ### Предисловие 4 | Мы говорим о чтении книг и просмотре видеозаписей именно прикладного характера, например советы по развитию в профессии или карьере. 5 | - Программист-фанатик 6 | - Прагматичный программист 7 | - Лекции Дядюшки Боба 8 | 9 | ### К сути 10 | 11 | Любую прочитанную информацию мы воспринимаем через призму собственного опыта. 12 | Советы из книги конкретно вас могут задеть за живое, или показаться банальными. 13 | Это все индивидуальные случаи, и, возможно, вы просто не готовы к данной информации, или она для вас действительно уже является очевидной. 14 | Книга не становится от этого плохой или хорошей, отзывы в интернете - это лишь взгляды людей через призму их опыта. 15 | Поддаваясь на общественное мнение, вы можете лишить себя бриллиантов мудрости, которые могли бы изменить вашу жизнь. 16 | -------------------------------------------------------------------------------- /General/README.md: -------------------------------------------------------------------------------- 1 | ### NOTE 2 | Общие моменты, которые в данный момент не могу вынести в отдельную категорию. 3 | 4 | #### Оглавление: 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-NonCommercial-NoDerivatives 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More_considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 58 | International Public License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-NonCommercial-NoDerivatives 4.0 International Public 63 | License ("Public License"). To the extent this Public License may be 64 | interpreted as a contract, You are granted the Licensed Rights in 65 | consideration of Your acceptance of these terms and conditions, and the 66 | Licensor grants You such rights in consideration of benefits the 67 | Licensor receives from making the Licensed Material available under 68 | these terms and conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Copyright and Similar Rights means copyright and/or similar rights 84 | closely related to copyright including, without limitation, 85 | performance, broadcast, sound recording, and Sui Generis Database 86 | Rights, without regard to how the rights are labeled or 87 | categorized. For purposes of this Public License, the rights 88 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 89 | Rights. 90 | 91 | c. Effective Technological Measures means those measures that, in the 92 | absence of proper authority, may not be circumvented under laws 93 | fulfilling obligations under Article 11 of the WIPO Copyright 94 | Treaty adopted on December 20, 1996, and/or similar international 95 | agreements. 96 | 97 | d. Exceptions and Limitations means fair use, fair dealing, and/or 98 | any other exception or limitation to Copyright and Similar Rights 99 | that applies to Your use of the Licensed Material. 100 | 101 | e. Licensed Material means the artistic or literary work, database, 102 | or other material to which the Licensor applied this Public 103 | License. 104 | 105 | f. Licensed Rights means the rights granted to You subject to the 106 | terms and conditions of this Public License, which are limited to 107 | all Copyright and Similar Rights that apply to Your use of the 108 | Licensed Material and that the Licensor has authority to license. 109 | 110 | g. Licensor means the individual(s) or entity(ies) granting rights 111 | under this Public License. 112 | 113 | h. NonCommercial means not primarily intended for or directed towards 114 | commercial advantage or monetary compensation. For purposes of 115 | this Public License, the exchange of the Licensed Material for 116 | other material subject to Copyright and Similar Rights by digital 117 | file-sharing or similar means is NonCommercial provided there is 118 | no payment of monetary compensation in connection with the 119 | exchange. 120 | 121 | i. Share means to provide material to the public by any means or 122 | process that requires permission under the Licensed Rights, such 123 | as reproduction, public display, public performance, distribution, 124 | dissemination, communication, or importation, and to make material 125 | available to the public including in ways that members of the 126 | public may access the material from a place and at a time 127 | individually chosen by them. 128 | 129 | j. Sui Generis Database Rights means rights other than copyright 130 | resulting from Directive 96/9/EC of the European Parliament and of 131 | the Council of 11 March 1996 on the legal protection of databases, 132 | as amended and/or succeeded, as well as other essentially 133 | equivalent rights anywhere in the world. 134 | 135 | k. You means the individual or entity exercising the Licensed Rights 136 | under this Public License. Your has a corresponding meaning. 137 | 138 | 139 | Section 2 -- Scope. 140 | 141 | a. License grant. 142 | 143 | 1. Subject to the terms and conditions of this Public License, 144 | the Licensor hereby grants You a worldwide, royalty-free, 145 | non-sublicensable, non-exclusive, irrevocable license to 146 | exercise the Licensed Rights in the Licensed Material to: 147 | 148 | a. reproduce and Share the Licensed Material, in whole or 149 | in part, for NonCommercial purposes only; and 150 | 151 | b. produce and reproduce, but not Share, Adapted Material 152 | for NonCommercial purposes only. 153 | 154 | 2. Exceptions and Limitations. For the avoidance of doubt, where 155 | Exceptions and Limitations apply to Your use, this Public 156 | License does not apply, and You do not need to comply with 157 | its terms and conditions. 158 | 159 | 3. Term. The term of this Public License is specified in Section 160 | 6(a). 161 | 162 | 4. Media and formats; technical modifications allowed. The 163 | Licensor authorizes You to exercise the Licensed Rights in 164 | all media and formats whether now known or hereafter created, 165 | and to make technical modifications necessary to do so. The 166 | Licensor waives and/or agrees not to assert any right or 167 | authority to forbid You from making technical modifications 168 | necessary to exercise the Licensed Rights, including 169 | technical modifications necessary to circumvent Effective 170 | Technological Measures. For purposes of this Public License, 171 | simply making modifications authorized by this Section 2(a) 172 | (4) never produces Adapted Material. 173 | 174 | 5. Downstream recipients. 175 | 176 | a. Offer from the Licensor -- Licensed Material. Every 177 | recipient of the Licensed Material automatically 178 | receives an offer from the Licensor to exercise the 179 | Licensed Rights under the terms and conditions of this 180 | Public License. 181 | 182 | b. No downstream restrictions. You may not offer or impose 183 | any additional or different terms or conditions on, or 184 | apply any Effective Technological Measures to, the 185 | Licensed Material if doing so restricts exercise of the 186 | Licensed Rights by any recipient of the Licensed 187 | Material. 188 | 189 | 6. No endorsement. Nothing in this Public License constitutes or 190 | may be construed as permission to assert or imply that You 191 | are, or that Your use of the Licensed Material is, connected 192 | with, or sponsored, endorsed, or granted official status by, 193 | the Licensor or others designated to receive attribution as 194 | provided in Section 3(a)(1)(A)(i). 195 | 196 | b. Other rights. 197 | 198 | 1. Moral rights, such as the right of integrity, are not 199 | licensed under this Public License, nor are publicity, 200 | privacy, and/or other similar personality rights; however, to 201 | the extent possible, the Licensor waives and/or agrees not to 202 | assert any such rights held by the Licensor to the limited 203 | extent necessary to allow You to exercise the Licensed 204 | Rights, but not otherwise. 205 | 206 | 2. Patent and trademark rights are not licensed under this 207 | Public License. 208 | 209 | 3. To the extent possible, the Licensor waives any right to 210 | collect royalties from You for the exercise of the Licensed 211 | Rights, whether directly or through a collecting society 212 | under any voluntary or waivable statutory or compulsory 213 | licensing scheme. In all other cases the Licensor expressly 214 | reserves any right to collect such royalties, including when 215 | the Licensed Material is used other than for NonCommercial 216 | purposes. 217 | 218 | 219 | Section 3 -- License Conditions. 220 | 221 | Your exercise of the Licensed Rights is expressly made subject to the 222 | following conditions. 223 | 224 | a. Attribution. 225 | 226 | 1. If You Share the Licensed Material, You must: 227 | 228 | a. retain the following if it is supplied by the Licensor 229 | with the Licensed Material: 230 | 231 | i. identification of the creator(s) of the Licensed 232 | Material and any others designated to receive 233 | attribution, in any reasonable manner requested by 234 | the Licensor (including by pseudonym if 235 | designated); 236 | 237 | ii. a copyright notice; 238 | 239 | iii. a notice that refers to this Public License; 240 | 241 | iv. a notice that refers to the disclaimer of 242 | warranties; 243 | 244 | v. a URI or hyperlink to the Licensed Material to the 245 | extent reasonably practicable; 246 | 247 | b. indicate if You modified the Licensed Material and 248 | retain an indication of any previous modifications; and 249 | 250 | c. indicate the Licensed Material is licensed under this 251 | Public License, and include the text of, or the URI or 252 | hyperlink to, this Public License. 253 | 254 | For the avoidance of doubt, You do not have permission under 255 | this Public License to Share Adapted Material. 256 | 257 | 2. You may satisfy the conditions in Section 3(a)(1) in any 258 | reasonable manner based on the medium, means, and context in 259 | which You Share the Licensed Material. For example, it may be 260 | reasonable to satisfy the conditions by providing a URI or 261 | hyperlink to a resource that includes the required 262 | information. 263 | 264 | 3. If requested by the Licensor, You must remove any of the 265 | information required by Section 3(a)(1)(A) to the extent 266 | reasonably practicable. 267 | 268 | 269 | Section 4 -- Sui Generis Database Rights. 270 | 271 | Where the Licensed Rights include Sui Generis Database Rights that 272 | apply to Your use of the Licensed Material: 273 | 274 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 275 | to extract, reuse, reproduce, and Share all or a substantial 276 | portion of the contents of the database for NonCommercial purposes 277 | only and provided You do not Share Adapted Material; 278 | 279 | b. if You include all or a substantial portion of the database 280 | contents in a database in which You have Sui Generis Database 281 | Rights, then the database in which You have Sui Generis Database 282 | Rights (but not its individual contents) is Adapted Material; and 283 | 284 | c. You must comply with the conditions in Section 3(a) if You Share 285 | all or a substantial portion of the contents of the database. 286 | 287 | For the avoidance of doubt, this Section 4 supplements and does not 288 | replace Your obligations under this Public License where the Licensed 289 | Rights include other Copyright and Similar Rights. 290 | 291 | 292 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 293 | 294 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 295 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 296 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 297 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 298 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 299 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 300 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 301 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 302 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 303 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 304 | 305 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 306 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 307 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 308 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 309 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 310 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 311 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 312 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 313 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 314 | 315 | c. The disclaimer of warranties and limitation of liability provided 316 | above shall be interpreted in a manner that, to the extent 317 | possible, most closely approximates an absolute disclaimer and 318 | waiver of all liability. 319 | 320 | 321 | Section 6 -- Term and Termination. 322 | 323 | a. This Public License applies for the term of the Copyright and 324 | Similar Rights licensed here. However, if You fail to comply with 325 | this Public License, then Your rights under this Public License 326 | terminate automatically. 327 | 328 | b. Where Your right to use the Licensed Material has terminated under 329 | Section 6(a), it reinstates: 330 | 331 | 1. automatically as of the date the violation is cured, provided 332 | it is cured within 30 days of Your discovery of the 333 | violation; or 334 | 335 | 2. upon express reinstatement by the Licensor. 336 | 337 | For the avoidance of doubt, this Section 6(b) does not affect any 338 | right the Licensor may have to seek remedies for Your violations 339 | of this Public License. 340 | 341 | c. For the avoidance of doubt, the Licensor may also offer the 342 | Licensed Material under separate terms or conditions or stop 343 | distributing the Licensed Material at any time; however, doing so 344 | will not terminate this Public License. 345 | 346 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 347 | License. 348 | 349 | 350 | Section 7 -- Other Terms and Conditions. 351 | 352 | a. The Licensor shall not be bound by any additional or different 353 | terms or conditions communicated by You unless expressly agreed. 354 | 355 | b. Any arrangements, understandings, or agreements regarding the 356 | Licensed Material not stated herein are separate from and 357 | independent of the terms and conditions of this Public License. 358 | 359 | 360 | Section 8 -- Interpretation. 361 | 362 | a. For the avoidance of doubt, this Public License does not, and 363 | shall not be interpreted to, reduce, limit, restrict, or impose 364 | conditions on any use of the Licensed Material that could lawfully 365 | be made without permission under this Public License. 366 | 367 | b. To the extent possible, if any provision of this Public License is 368 | deemed unenforceable, it shall be automatically reformed to the 369 | minimum extent necessary to make it enforceable. If the provision 370 | cannot be reformed, it shall be severed from this Public License 371 | without affecting the enforceability of the remaining terms and 372 | conditions. 373 | 374 | c. No term or condition of this Public License will be waived and no 375 | failure to comply consented to unless expressly agreed to by the 376 | Licensor. 377 | 378 | d. Nothing in this Public License constitutes or may be interpreted 379 | as a limitation upon, or waiver of, any privileges and immunities 380 | that apply to the Licensor or You, including from the legal 381 | processes of any jurisdiction or authority. 382 | 383 | ======================================================================= 384 | 385 | Creative Commons is not a party to its public 386 | licenses. Notwithstanding, Creative Commons may elect to apply one of 387 | its public licenses to material it publishes and in those instances 388 | will be considered the “Licensor.” The text of the Creative Commons 389 | public licenses is dedicated to the public domain under the CC0 Public 390 | Domain Dedication. Except for the limited purpose of indicating that 391 | material is shared under a Creative Commons public license or as 392 | otherwise permitted by the Creative Commons policies published at 393 | creativecommons.org/policies, Creative Commons does not authorize the 394 | use of the trademark "Creative Commons" or any other trademark or logo 395 | of Creative Commons without its prior written consent including, 396 | without limitation, in connection with any unauthorized modifications 397 | to any of its public licenses or any other arrangements, 398 | understandings, or agreements concerning use of licensed material. For 399 | the avoidance of doubt, this paragraph does not form part of the 400 | public licenses. 401 | 402 | Creative Commons may be contacted at creativecommons.org. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Программист 2 | 3 | Новые посты будут добавляться на https://shfu.ru, данный репозиторий оставляю для истории. 4 | 5 | 6 | Это набор заметок из моего личного опыта работы программистом, техлидом и IT-предпринимателем. 7 | 8 | 9 | ## Лицензия и Авторские права 10 | 11 | Автор материалов данной серии книг © 2020 Nikolai Iasinskii. 12 | 13 | Лицензируется в соответствии с [Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.](https://creativecommons.org/licenses/by-nc-nd/3.0/) 14 | -------------------------------------------------------------------------------- /Recruiting/0. Заповеди нанимателя.md: -------------------------------------------------------------------------------- 1 | # 1 2 | > Ты нанимаешь человека, нанимай его так как хотел бы чтобы нанимали тебя. 3 | 4 | Прочитай, блин его резюме! Он написал ту должность, те деньги и те обязанности которые хочет выполнять. 5 | Не нужно предлагать ему иное - это банальная рассылка рекламы и спама. 6 | "Мы видели что вы интересуетесь бегом, поэтому хотим предложить вам турник. У вас ведь две руки, и вы занимаетесь спортом." 7 | 8 | # 2 9 | > Вы не будете работать с ним вечно. 10 | 11 | Когда-либо он уйдет, нужно понимать это, а не делать удивленные глаза с криками "Да как ты можешь уходить!". 12 | ... и через полгода увольнять, потому что "Ну, ситуация в бизнесе такая". 13 | 14 | # 3 15 | >Сразу обсудите комфортные для вас обоих условия его увольнения в будущем 16 | 17 | Предупредить за месяц? 18 | Не бояться попросить больше денег но через определенный срок? 19 | Научись говорить с сотрудником, это живой человек - он умеет разговаривать. 20 | 21 | # 4 22 | > Сотрудник имеет право зарабатывать столько, сколько он хочет. 23 | 24 | Слова "Ты слишком много хочешь" не этичны - сколько ему хотеть это его дело, вне зависимости от твоего мнения о его квалификации и ситуации на ранке труда. 25 | Не можешь платить столько? Скажи. Он найдет другое место работы, ты найдешь другого сотрудника. 26 | 27 | # 5 28 | > Это не всегда вопрос денег 29 | 30 | Если сотрудник хочет уволиться - повышение зарплаты не всегда основная причина. 31 | Карьера? 32 | Невозможность протолкнуть свое мнение? 33 | Нехватка более сильных специалистов? 34 | Хочется что-то новенькое (да, просто другой проект и новые люди вокруг)? 35 | Отношения в коллетиве 36 | Отсутствие роста? 37 | Хочется попробовать новую технологию. 38 | 39 | # 6 40 | > Он сам может не понимать причину ухода 41 | 42 | Помоги человеку выразить то что он действительно думает, предложи вышеозвученные варианты. 43 | Так у тебя появится пространство вариантов для диалога. 44 | 45 | # 7 46 | > Право не делать тестовое 47 | 48 | Если нанимаемый не хочет делать тестовое, а оно тебе принципиально надо, то единственный способ получить то что хочешь - это оплатить его время (если он к этому готов). 49 | В противном случае - не унижай ни себя ни его попыткой доказать ЕГО заинтересованность в данном процессе. 50 | -------------------------------------------------------------------------------- /Recruiting/1. Заповеди нанимаемого.md: -------------------------------------------------------------------------------- 1 | # Заповеди нанимаемого 2 | 3 | # 1 4 | > Не хами 5 | 6 | Тебе могут не нравиться подходы некоторых спамеров-рекрутеров, но не нужно опускаться до их уровня. 7 | Если ты уверенный в себе профессионал, странно зачем ты тратишь время даже на грубые ответы. 8 | 9 | # 2 10 | > Читай, блин, описание вакансии 11 | 12 | Не тупите, прочитайте что написано в вакансии, многие пункты там не просто так. 13 | Обязательный разговорный английский, а у вас его нет? Нахера вы туда суетесь? 14 | 15 | 16 | # 3 17 | > Вы просто не подходите 18 | 19 | Если нужен специалист с 3+ лет стажа в C++, а у вас навыки в Python, не нужно рассказывать как "я все нагуглю, и вообще у меня аналитическое мышление". Вы просто не подходите, смиритесь. 20 | 21 | # 4 22 | > Слова ничего не стоят, покажи мне код (с) 23 | 24 | - Я очень увлечен данной технологией, смогу быстро освоиться, дайте пару недель. 25 | - Нет, ни одного проекта еще не попробовал сделать. 26 | (Интерес на лицо...) 27 | 28 | # 5 29 | > Соответствуйте своим словам 30 | 31 | Откликаться на вакансию с обязательным тестовым заданием, чтобы рассказывать как "вашего уровня разработчики на это время не тратят" - слишком явно показывает ваш настоящий уровень. 32 | 33 | # 6 34 | > Покажите мне ДО, а не ОТ 35 | 36 | Вы специалист? А зачем вам знать минимальную зп на данную позицию? 37 | 38 | # 7 39 | > Знайте сколько вы стоите 40 | 41 | Даже проститутка знает сколько стоит ее час. 42 | -------------------------------------------------------------------------------- /Recruiting/2. Тупой найм.md: -------------------------------------------------------------------------------- 1 | # Тупой найм ч.1 2 | 3 | ## Предисловие 4 | Я знаю отличных рекрутеров, которые любят свою профессию и это отношение видно во все, таким HR-ам хочется рекомендовать знакомых и себя. 5 | Но, в данной заметке пойдет речь не о них... 6 | 7 | ## Очень распространено следующее явление: 8 | Рекрутер пишет человеку с предложением о работе, но технологический стек вообще мимо. 9 | Я молчу про такие мелочи как желание переезжать, знание языка, стаж работы и прочее. 10 | Создается ощущение, что рекрутер (хедхантер) вообще не читал(а) то, что написано в резюме. 11 | И еще это все разбавляется призывами порекомендовать ей знакомых, если "вам данный стек не интересен". 12 | В таком случае так и хочется сказать - да херасдва, такому бездарному рекрутеру-похуисту еще и знакомых рекомендовать. 13 | Нафига мне знакомых подставлять под дуло этих спаммеров-неумеек. 14 | 15 | Вот реальное письмо пришло мне на днях, и я решил сразу разбор по блокам сделать. 16 | Чтобы был понятен контекст и не было кривотолков. 17 | У меня давно уже не было опубликованных резюме, и вот я опубликовал новое на позицию удаленного Rust разработчика на парт-тайм (чтобы скилл наработать). 18 | 19 | И в этот же день приходит данное письмо: 20 | 21 | > Добрый день, Николай! 22 | > В настоящий момент мы работаем над проектом по поиску и подбору кандидатов на позицию "Full-stack разработчик"! 23 | 24 | Позиция в резюме была ни разу не о Full-stack, я такие позиции в резюме вообще не указывал - я обычно четко описываю направление которое мне интересно. 25 | > Возможно, Вас могла бы заинтересовать данная позиция, либо Вы могли бы мне кого-нибудь порекомендовать. 26 | 27 | Ну, тут я уже писал - рекомендовать кому-то эту тупую бездарность я никогда не буду. 28 | 29 | > Описание позиции: 30 | > Что надо будет делать: 31 | > - ... 32 | 33 | тут всякая болтовня о сложных проектах и прочей муре..... 34 | 35 | > Мы ждем от Вас: 36 | > - Знание PHP, JS, HTML, CSS с опытом от трех лет и понимание современных подходов к разработке, работу с чистым кодом без каких-либо фреймворков 37 | > - ... 38 | 39 | Как резюме системного программиста на Rust согласуется с PHP и прочей белибердой? Я на PHP последний раз году в 2011 писал. 40 | 41 | > - дальше болтовня про печеньки и профессиональный коллектив... 42 | 43 | > Ваше CV находится у нас в базе данных или взято из открытых источников, возможно оно уже не актуально. Вы может выслать мне обновленное резюме, чтобы актуализировать данные о своем опыте. 44 | 45 | Я уже понял, что мое резюме попало в вашу спам-базу (а иначе это никак не назовешь), ведь чем отличается подобное письмо от предложения купить фаллоимитатор после того, как искал скалку для теста в интернете? 46 | 47 | > Далее личные данные HR Director данной мелкой, никому не известной компании из Екатеринбурга, у которой даже нет юрадреса на сайте. 48 | 49 | Подписываться под таким говном своим личным именем... ну, я бы побрезговал. 50 | 51 | P.S. Могу предположить что они просто парсят данные с платного API hh.ru, и делают спам рассылку в случае нахождения ключевых слов в навыках. 52 | 53 | ## Резюме 54 | 55 | Подобные письма лишь указывают на непрофессионализм конторы, которая занимается поиском. 56 | Да, я понимаю что это или просто авторассылка по ключевым словам, либо тупая девочка-hr, каких много нанимают чтобы они выполняли не найм, а мартышкину работу типа обработки холодных звонков в колл-центре (мы хотим сделать вам предложение по инвестициям в нашу компанию "Кинь или пропал"). 57 | Так или иначе, у меня подобное отношение не вызывает ничего кроме брезгливости, я, будто бы двумя пальцами, морща нос выкидываю подобные письма в мусорное ведро и ставлю пометку "спам". 58 | Да, можно подумать о том что это лишь глупость, безразличие, и там могла бы крыться возможность, но мне это больше напоминает спам по типу "вам завещали мильярд, перечислите нам 100 долларов" (тут тоже есть возможность... вопрос - какая?). 59 | -------------------------------------------------------------------------------- /Recruiting/3. Страх назвать свою цену.md: -------------------------------------------------------------------------------- 1 | # Страшно сказать сколько я стою 2 | 3 | Большая часть(по моему опыту) программистов боится сказать сколько они хотят денег. 4 | Максимум что зачастую можно из них выдавить это "ну от стольки то". 5 | Лишь единицы могут сказать сколько они конкретно хотят, остальные начинают мяться и отвечать фразочками "Ну а сколько вы предложите" и тому подобными. 6 | 7 | 8 | Ну вы понимаете, да? Чтобы не продешевить. 9 | Выглядит это, мягко говоря, не профессионально, причем, замечаю все больше что это кореллируется с профессиональным уровнем. 10 | Чем профессиональнее человек, тем четче он отвечает на вопрос "сколько он хочет денег". 11 | А вот тот, кому "ну сильно нужна работа" все чаще начинает эту игру - попасть в зарплатную вилку. 12 | Ну серьезно, если ты спец и у тебя куча предложений, если вы не сходитесь по зп, ну и хрен с ним, тебе есть чем заняться. 13 | Начинаешь яйца выкручивать своими "А сколько вы предложите", "Ну смотря что делать надо". 14 | Про "смотря что делать надо" это вообще песня. 15 | Тебе платят за 40 часов работы в неделю, как кореллируется твоя зп с списком обязанностей? Это все теже 40 часов в неделю. 16 | Тебе проект или интересен, или нет, какое нахер "смотря что делать надо". 17 | Ну, не на панель идти, ты же программистом устраиваться собираешься. 18 | На панели с расценками все четко и прозрачно - там яйца тебе будут крутить только если эта услуга оплачена. 19 | Но, программисты у нас часто личности тонкие, ранимые, с рыночными отношениями не знакомые, к ним нужен особый подход, и часто рекрутеры, понимая эту игру, подыгрывают, но.... об этом уже другая заметка. -------------------------------------------------------------------------------- /Recruiting/4. Страх назвать его цену.md: -------------------------------------------------------------------------------- 1 | # А теперь к озвучиванию зарплат рекрутерами 2 | 3 | Зарплата по результатам собеседования! 4 | 5 | ### Да ладно?? 6 | 7 | Понятно, что окончательный оффер будет после собеседования, но вы скрываете самую важную для разработчика переменную. 8 | Зарплата не главное? Главное интерес? 9 | Если бы вы были Гуглом или Майкрософтом, о зарплатах которых кричит их бренд, то да, интерес. 10 | Вы не Гугл и пытаетесь сорвать человека с насиженного места? 11 | Или хотите обычной рыночной зарплатой конкурировать с другими компаниями, которые эту вилку публикуют? 12 | Или у вас такая большая зп что неприлично о ней говорить? Ага, ага. Зачем использовать такое преимущество против конкурентов, действительно... 13 | 14 | ### Серьезно? Чисто за интерес? 15 | Какой именно вы должны вызывать у человека интерес в этой конкурентной борьбе? 16 | 17 | Тоесть, если не зп, то что должно выделять вас из общей массы? 18 | Печеньки? 19 | Программисты, что по вашему, Коржик из Улицы Сезам? 20 | Красивый офис? Да сейчас большая часть разработчиков текут от удаленки, слова "красивый офис" уже, скорее, навевают грусть и печаль... опенспейсовую печаль. 21 | 22 | > ЗП это то, что заставляет проявить интерес, зацепиться глазам и понять можно ли с вами дальше что-то обсуждать. 23 | 24 | ### Причин на эту скрытность две: 25 | 1. Зарплата стандартного (не звезд) состава в вашей компании не кореллируется с опытом и навыками сотрудников. 26 | 2. Вы пытаетесь привлечь звезд, с которыми разговор отдельный. 27 | 28 | Вариант, когда вы пытаетесь заинтересовать человека своей таинственностью, хотя у вас обычные рыночные зп я не рассматриваю, это ведь тупо, да? 29 | 30 | По этим двум пунктам у меня два замечания: 31 | 1. Ну, вы тут сами себя в ловушку загоняете, ничего кроме стандартизации не порекомендую. 32 | 2. А на звезд надо отдельно охотиться, разве нет? Ну, или если хотите подхватить кого-то случайно залетевшего на рынок, сделайте еще одну вакансию, обзовите ее как-нибудь отдельно типа Lead Software Developer, и понапишите туда дополнительные требования. 33 | 34 | Удачной охоты, и помните - на лося нужно идти хитростью, иначе он убежит от вас еще до того как вы его увидите... 35 | -------------------------------------------------------------------------------- /Recruiting/5. Разбор сообщения от HR 1.md: -------------------------------------------------------------------------------- 1 | На днях мне написала HR одной аутсорс-конторы, сейчас разберем что не так на реальном примере, я специально спросил у нее разрешения дать ей рекомендации, и получив согласие сформировал список недочетов, который, думаю, будет полезен и вам. 2 | 3 | ### Сообщение: 4 | Николай, здравствуйте! 5 | Я рекрутер компании ****. Заинтересовал Ваш опыт работы JavaScript (React) Developer. Сейчас у нас открылись позиции на крупный банковский проект. 6 | Над чем предстоит работать: линейка продуктов Cash Management. Продукт корпоративного блока, предоставляющий функции управления финансовыми потоками для предприятий и корпораций с развитой филиальной сетью. 7 | Что-то из функционала уже существует, что то будет разрабатываться с нуля. Работа по Скраму, используется Confluence, Jira. 8 | В команде 4 дев, 1 аналитик, 1 ПМ. 9 | Формат работы - удаленный. Ниже прикрепляю презентацию для первичного ознакомления с компанией. 10 | Тут ссылка на классическую скучную пдф о компании. 11 | Скажите, пожалуйста, вам может быть интересно наше предложение? 12 | 13 | ### Ответ: 14 | Вот смотрите, вводные: 15 | 1. Есть специалист, вы ищете специалистов с опытом на серьезный проект, React - это тема хайповая сейчас и люди, которые в этой технологии разбираются хорошо, уже все при работе. 16 | 2. Соответственно, у вас два варианта: долбить кандидатов на «удачу», надеясь что человек еще не выставил свое резюме (хотя подумывает о поиске новой работы), и вы успеете его выловить до того как за него начнется конкурентная борьба, либо переманить его с текущего места работы. 17 | 18 | Надеюсь, вы понимаете что вы занимаетесь первым вариантом подбора? С таким сообщением как вы написали, о переманивании речь не идет в принципе. 19 | Если не понимаете - это нужно понимать, чтобы перейти ко второй части: 20 | 21 | Теперь, делаете вы это осознанно, или просто потому что так сказали, не суть - процент отклика можно увеличить, подключив вторую стратегию - переманивание кандидата. 22 | Причем эта стратегия в любом случае будет приносить пользу, поднимая ваш процент удачных отзывов, то есть вы ничем не рискуете, и вот пункты на которые стоит обратить внимание: 23 | 1. Заинтересовать человека - это именно от слов «вызвать интерес», если вы посмотрите ваше сообщение, то в нем вызвать интерес может лишь пункт про «крупный банковский проект», но этот пункт слабовато описан. 24 | 2. Больше в вашем сообщении нет ничего интересного, вообще. 25 | 3. Если вы переберете основные причины, по которым человек может сменить работу, вы найдете: интерес, соответствие потребностям (деньги, время, график и тп.). 26 | 27 | Соответственно, если вы берете два основных этих постулата, то получается: 28 | 1. Нужен интерес. Что вызывает интерес у программиста? Сложность задач (конкретно, какие вызовы будут перед ним стоять), технологии которые предполагается использовать. 29 | 2. Потребности: 30 | 1. Деньги - вы, как и все остальные, похоже практикуете анонимность в этом вопросе, но поверьте - просто обозначив максимально возможную планку, вы отсеете лишних кандидатов - которые получают больше, и не будете тратить ни свое ни их время зря. Плюс - получаете шанс вызвать интерес, если кандидат по какой то причине слишком дешево себя ценит. 31 | 2. Время - Порой деньги это не все, и возможность работать частично, совмещать работу с личными делами - это необходимое условие. 32 | 3. Карьера - Кому-то важно то, что он будет расти в тимлида, может быть он о этом думал но не решался. Плюс - дополнительный триггер воздействия. 33 | 4. Профессиональный рост - Возможность попробовать что-то новое, свобода выбора - это Плюс, который сложно переоценить. 34 | 35 | Резюмируя - у вас в сообщении нет ничего этого. Только то, что какой-то очередной банковский проект. И у вас очередная аутсорс-компания. Все. -------------------------------------------------------------------------------- /Recruiting/6. Про сумму в оффере.md: -------------------------------------------------------------------------------- 1 | ## По мотивам разбора обращения HR'а появился вопрос: 2 | 3 | > Как обозначив верхнюю планку по итогам собеседования сделать предложение кандидату заметно ниже неё? Я не стесняюсь называть сумму начиная с которой мне было бы интересно разговаривать дальше. 4 | 5 | ## Ответ: 6 | 7 | Верхняя планка - не обязывает платить кандидату именно эту сумму, она нужна лишь чтобы сопоставить его нижнюю планку с вашей верхней. 8 | 9 | Если максимальный уровень зарплат для него слишком мал, отлично, каждая из сторон не будет тратить свое время и силы. 10 | 11 | Ваши HR’ы смогут более плотно работать с теми, чьи зарплатные ожидания совпадают с вашими возможностями. 12 | 13 | Кандидаты же не будут тратить энергию и время на прохождение лишних собеседований (этих собеседований у них и так много), и не будут потом раздраженно бухтеть в соцсетях о том что «их время потратили зря». 14 | 15 | ### Если взять самые распространенные кейсы: 16 | 17 | 1. Кандидат отказался сообщать о своих зарплатных ожиданиях (это больная тема у программистов, они постоянно боятся продешевить). В этом случае называем сколько готовы ему платить, все просто. Тут расхождений с ожиданиями не должно быть.Если кандидат негативно на это реагирует, то тут два варианта: 18 | - Кандидате не понимает, что если он не говорит о своих пожеланиях, это невозможно угадать. 19 | - HR изначально не спросил(а) о его зарплатных ожиданиях, это уже недоработка HR’а. 20 | Если резюмировать - начальная планка нужна для понимания целесообразности траты времени обеими сторонами 21 | 22 | 2. Кандидат обозначил нижнюю планку (как вы, или я, тут я солидарен). Если по результатам собеседования мы понимаем, что такие деньги за его верифицированные знания и опыт мы платить не готовы, то просто отказ. Если HR грамотно выстраивает формулировки, а кандидат готов подвинуться в своей зп, о чем сам дал понять, то там есть еще одно измерение для диалога. 23 | 24 | 3. Если кандидат обозначил нижнюю планку, а HR изначально понимает что таких бюджетов у них нет, но все равно пытается затянуть кандидата на собеседование, с целью потом продавить, то это уже моветон. Чаще всего, подобная тактика ни к чему хорошему не приводит. -------------------------------------------------------------------------------- /Recruiting/7. Торги с рекрутерами. Аукцион.md: -------------------------------------------------------------------------------- 1 | # Аукцион 2 | 3 | Наиболее распространенная тактика в поведении как кандидатов, так и рекрутеров - не называть уровень вознаграждения. 4 | И в данной статье я расскажу вам о том, как можно кандидату избавиться от страха "продешевить", но не устраивать перепалку с рекрутерами о том кто должен первый приоткрыть карты. 5 | Это, правда, достаточно дешево выглядит, и, если рекрутер может опираться на "политику компании", то кандидат лишь портит впечатление о себе как о профессионале, который ценит себя. 6 | Согласитесь, слово "ценить себя" означает, что вы должны, как минимум, знать уровень этой ценности, в противном случае, она сомнительна. 7 | 8 | ## К сути 9 | Я предлагаю вам, дорогие кандидаты, проводить аукцион, где главным лотом будете ВЫ. 10 | Помните как это делается? Называется стартовая цена, а далее все заинтересованные начинают торговаться за этот ценный приз. 11 | Конечно, нам важны не только деньги, важен интерес, время и прочие вводные, но, имея уже готовые офферы на руках, намного проще принять решение. 12 | 13 | Но, есть пара требований которые нужно соблюдать для того, чтобы эта тактика работала: 14 | 15 | ### 1 16 | Первое, и самое главное - вы должны быть ГОТОВЫ работать за ту минимальную планку которую указали, более того - вас эта планка должна ПОЛНОСТЬЮ устраивать. 17 | Если, по результатам ваших переговоров, компании готовы платить вам только эту сумму, в чем проблема? Вы получили то, что хотели. 18 | Если же вас это не устраивает, значит вы нарушили первое правило - соврали сами себе, и теперь вам придется выкручиваться из ситуации когда у вас есть несколько офферов, но вы ни один не хотите. 19 | 20 | ### 2 21 | Второе правило - СКАЖИТЕ об этом, обозначьте что это сумма ОТ, и вы будете рассматривать наиболее выгодные предложения. 22 | Только не нужно, пожалуйста, делать это обозначение заносчиво, это дело пары лишних слов или интонаций, данный пункт оставляю на ваше личную ответственность, у каждого своя манера выражать мысли. 23 | 24 | ## В заключение 25 | Если вы придерживаетесь старой тактики торгов, постоянно пытаясь спорить с рекрутерами, пытаясь выбить из них вилку зарплат, то: 26 | - вызываете неприязнь 27 | - понижаете свой уровень авторитета 28 | - выматываете себя, ваш боевой настрой падает 29 | 30 | Тактика с аукционом, напротив, позволяет моментально: 31 | - Сдвинуть лед 32 | - Отсеять «не ваши» варианты 33 | - Как результат - сэкономить время и силы для «стоящих собеседований», а силы, поверьте, вам понадобятся 34 | -------------------------------------------------------------------------------- /Recruiting/8. А попрощаться?.md: -------------------------------------------------------------------------------- 1 | # А попрощаться? 2 | 3 | Мне начало приходить все больше запросов от рекрутеров с общим смыслом "супер-интересный проект, крутая компания, достойное вознаграждение, давайте созвонимся". 4 | Сегодня не разбор этой формулировки, сегодня о том что дальше. 5 | 6 | ## Мои действия 7 | Добрый день, ***, я рассматриваю предложения от *** в месяц, если мои ожидания попадают в вашу вилку, буду рад пообщаться. 8 | Я писал недавно про аукцион, как писал, так и делаю, все эти статьи не ради красного словца. 9 | 10 | ## Действия рекрутера 11 | Их нет... 12 | Никаких вообще, человек просто пропадает, даже не попрощался... 13 | 14 | ## Что не так? 15 | Подобный сценарий строится следующим образом: 16 | Берешь шаблон, вставляешь туда ФИО кандидата, и отправляешь по нужному каналу связи. 17 | Если человек не заинтересовался, ну, и, хрен с ним. 18 | 19 | НО! 20 | Этой работой и бот может заниматься. Я сомневаюсь, что компания платит деньги специалисту для того, чтобы он вручную делал рассылки. 21 | 22 | ## Что делать? 23 | 24 | Нужно понять важную роль рекрутера: 25 | 1. Рекрутер, это не спам-машина, рекрутер - это тот, кто устанавливает взаимоотношения с кандидатом. 26 | 2. У рекрутера может смениться работа, пул вакансий, зарплатная вилка для кандидатов, а вот список контактов хороших специалистов - он не резиновый, так как специалисты формируются крайне долго. 27 | 3. Попасть в черный список у этих кандидатов, означает сильно сузить свои возможности по поиску в будущем. 28 | 29 | ### Вот представьте: 30 | Вам предложили найти специалиста, а чем дороже этот специалист, тем больше денег вы как рекрутер заработаете. 31 | И, представьте себе, у вас подобные специалисты есть, более того, вы им уже писали пару лет назад. 32 | И, кандидат даже ответил вам, но, вы просто забили на это, и теперь, диалог будет выглядеть следующим образом: 33 | 34 | 21.01.2018 35 | Анна: 36 | - «супер-интересный проект, крутая компания, достойное вознаграждение, давайте созвонимся" 37 | 38 | 21.01.2018 39 | Михаил: 40 | - Добрый день, Анна, я рассматриваю предложения от *** в месяц, если мои ожидания попадают в вашу вилку, буду рад пообщаться. 41 | 42 | 21.01.2021 43 | Анна: 44 | - «супер-интересный проект, крутая компания, достойное вознаграждение, давайте созвонимся" 45 | 46 | 21.01.2021 47 | Михаил: 48 | **Контакт внесен в черный список, вы больше не будете получать от него сообщения.** 49 | 50 | Слышите этот звук? Это звук упущенных возможностей… 51 | Да, может быть, вы осчастливили бы Михаила своей супер-пупер вакансией, но это уже не важно… 52 | 53 | ## Рекомендация 54 | 55 | Попробуйте написать следующее: 56 | > Благодарю за ответ! К сожалению, на данную позицию уровень оплаты ниже, но, если в будущем у меня появятся вакансии, у которых будет достойное вас вознаграждение, я с радостью напишу. 57 | > Удачи в карьере и личных делах! 58 | 59 | Сложно? Это заняло много времени? Это вообще шаблон, вы ведь понимаете? Он вставляется копипастом за пару секунд. 60 | 61 | ### Что это дает: 62 | 1. Вы не оставляете после себя шлейф безразличия. Безразличие может ранить человека сильнее, нежели послание на три буквы. 63 | 2. Я в сообщении даже поддержал кандидата, написав «достойное вас вознаграждение» - то есть я признаю его заслуги, то что он высокооплачиваемый специалист. 64 | 3. «Удачи в карьере и личных делах!» - от души пожелал человеку всего хорошего в жизни. От меня, поверьте, не убыло. 65 | 66 | Подобное сообщение оставляет приятное послевкусие, и располагает к собеседнику. 67 | 68 | ## В заключение 69 | 70 | Все кандидаты нуждаются в рекрутерах, специалистам важно быть нужными, им важно найти лучшее место под солнцем, и рекрутеры - это, за частую, первая точка контакта. 71 | Когда же, рекрутер действует неумело и безразлично, помимо отторжения к нему лично, у кандидатов появляется нелюбовь к бренду, который данный рекрутер представляет. -------------------------------------------------------------------------------- /Recruiting/README.md: -------------------------------------------------------------------------------- 1 | # Рекрутинг 2 | 3 | Данный раздел - взгляд на найм с обеих сторон. Со стороны нанимателя, и со стороны нанимаемого. 4 | Я много лет работал на обоих фронтах (и в данный момент продолжаю участвовать в этих "баталиях"), и поэтому считаю, что мне есть что рассказать. 5 | --------------------------------------------------------------------------------