HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>4 май 2022</li>
2 <ul><li>4 май 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Ту-ту-ту-у-у. Уважаемый рекрутер и нанимающий IT-специалист, проследуйте в направлении задницы со своими тестовыми. Повторяю...</p>
4 </ul><p>Ту-ту-ту-у-у. Уважаемый рекрутер и нанимающий IT-специалист, проследуйте в направлении задницы со своими тестовыми. Повторяю...</p>
5 <p>Кадр: фильм "Репродукция"</p>
5 <p>Кадр: фильм "Репродукция"</p>
6 <p>Переводчик, начинающий UI/UX-дизайнер и UX-редактор. Интересуется новыми технологиями, любит путешествовать. Увлекается баскетболом во всех его проявлениях.</p>
6 <p>Переводчик, начинающий UI/UX-дизайнер и UX-редактор. Интересуется новыми технологиями, любит путешествовать. Увлекается баскетболом во всех его проявлениях.</p>
7 <p><strong>Об авторе</strong></p>
7 <p><strong>Об авторе</strong></p>
8 <p>Пишет о стартапах, занимается программированием, ведёт блог о карьере в технологическом секторе, интересуется образовательной деятельностью.</p>
8 <p>Пишет о стартапах, занимается программированием, ведёт блог о карьере в технологическом секторе, интересуется образовательной деятельностью.</p>
9 <p>С недавних пор IT-отрасль массово ополчилась против whiteboard-собеседований, когда перед кандидатом ставят маркерную доску или дают лист бумаги и просят написать код на них.<a>Такие собеседования сопряжены с огромным стрессом</a> - собственно, это признают представители индустрии. Кроме того, применяющие подобный подход компании нередко отсеивают действительно талантливых кандидатов; например,<a>известен случай, когда Google</a>отказала Максу Хауэллу, создателю Homebrew, который не смог выполнить задание вовремя.</p>
9 <p>С недавних пор IT-отрасль массово ополчилась против whiteboard-собеседований, когда перед кандидатом ставят маркерную доску или дают лист бумаги и просят написать код на них.<a>Такие собеседования сопряжены с огромным стрессом</a> - собственно, это признают представители индустрии. Кроме того, применяющие подобный подход компании нередко отсеивают действительно талантливых кандидатов; например,<a>известен случай, когда Google</a>отказала Максу Хауэллу, создателю Homebrew, который не смог выполнить задание вовремя.</p>
10 <p>Альтернативой такому лайвкодингу считают coding assignments - то есть тестовые задания. Многие расценивают их как универсальное средство оценки любых программистских навыков.</p>
10 <p>Альтернативой такому лайвкодингу считают coding assignments - то есть тестовые задания. Многие расценивают их как универсальное средство оценки любых программистских навыков.</p>
11 <p>Некоторые старшие разработчики буквально мечтают об удалённых тестовых заданиях - особенно на фоне страшного слова "лайвкодинг".</p>
11 <p>Некоторые старшие разработчики буквально мечтают об удалённых тестовых заданиях - особенно на фоне страшного слова "лайвкодинг".</p>
12 <p>Преимущества тестовых вроде бы очевидны:</p>
12 <p>Преимущества тестовых вроде бы очевидны:</p>
13 <ul><li>Их делают дома, что фактически исключает стресс, связанный с whiteboard-собеседованиями и лайвкодинг-сессиями, когда кандидат пишет код в присутствии потенциального работодателя.</li>
13 <ul><li>Их делают дома, что фактически исключает стресс, связанный с whiteboard-собеседованиями и лайвкодинг-сессиями, когда кандидат пишет код в присутствии потенциального работодателя.</li>
14 <li>Выполнение рассчитано на более продолжительный срок (обычно на неделю), что позволяет протестировать кандидата на владение значительно большим количеством навыков, чем привычные for-loops, зазубренные методы оптимизации и размышления вслух.</li>
14 <li>Выполнение рассчитано на более продолжительный срок (обычно на неделю), что позволяет протестировать кандидата на владение значительно большим количеством навыков, чем привычные for-loops, зазубренные методы оптимизации и размышления вслух.</li>
15 <li>Не надо никуда ехать. Кандидату можно не брать на работе отгул, а потенциальному работодателю - его оплачивать.</li>
15 <li>Не надо никуда ехать. Кандидату можно не брать на работе отгул, а потенциальному работодателю - его оплачивать.</li>
16 </ul><p>Кандидаты, особенно некоторые сеньоры, буквально мечтают об удалённых тестовых заданиях от понравившихся им компаний. Ещё бы - ведь они охватывают все этапы разработки ПО: UI, бизнес-логику, управление базами данных, взаимодействие и тестирование. Кроме того, на их выполнение предоставляется почти бесконечное количество времени.</p>
16 </ul><p>Кандидаты, особенно некоторые сеньоры, буквально мечтают об удалённых тестовых заданиях от понравившихся им компаний. Ещё бы - ведь они охватывают все этапы разработки ПО: UI, бизнес-логику, управление базами данных, взаимодействие и тестирование. Кроме того, на их выполнение предоставляется почти бесконечное количество времени.</p>
17 <p>Мотивация в таких случаях запредельная: есть ли шанс ещё нагляднее продемонстрировать сразу все свои умения? И разве можно потерпеть неудачу при столь благоприятном раскладе?</p>
17 <p>Мотивация в таких случаях запредельная: есть ли шанс ещё нагляднее продемонстрировать сразу все свои умения? И разве можно потерпеть неудачу при столь благоприятном раскладе?</p>
18 <p>Не спешите: ловушка где-то рядом. Давайте последовательно рассмотрим все недостатки тестовых заданий.</p>
18 <p>Не спешите: ловушка где-то рядом. Давайте последовательно рассмотрим все недостатки тестовых заданий.</p>
19 <p>Во время whiteboard-собеседований вам предлагают задания, требующие быстрого решения: отсортировать массив, найти кратчайший путь и так далее. Сотрудники, проводящие собеседование, хотят увидеть, как вы анализируете проблему в реальном времени, и готовы ответить на любые вопросы: они тоже дорожат своим временем. Обмен информацией происходит линейно: вам дают вводные - вы предлагаете решение.</p>
19 <p>Во время whiteboard-собеседований вам предлагают задания, требующие быстрого решения: отсортировать массив, найти кратчайший путь и так далее. Сотрудники, проводящие собеседование, хотят увидеть, как вы анализируете проблему в реальном времени, и готовы ответить на любые вопросы: они тоже дорожат своим временем. Обмен информацией происходит линейно: вам дают вводные - вы предлагаете решение.</p>
20 <p>Если решение верно, это даёт вам преимущество; если вы ошиблись, но всё же продемонстрировали ход ваших мыслей, это также может добавить вам очков - при условии, что другим кандидатам это не удалось. Вы должны вести себя как основной поток (main thread), который всегда реагирует на запросы: отмалчиваться нельзя, но и вы вольны задавать вопросы, на которые должны ответить те, кто проводит собеседование.</p>
20 <p>Если решение верно, это даёт вам преимущество; если вы ошиблись, но всё же продемонстрировали ход ваших мыслей, это также может добавить вам очков - при условии, что другим кандидатам это не удалось. Вы должны вести себя как основной поток (main thread), который всегда реагирует на запросы: отмалчиваться нельзя, но и вы вольны задавать вопросы, на которые должны ответить те, кто проводит собеседование.</p>
21 <p>В случае с тестовыми заданиями, которые выполняются дома, всё совершенно иначе. Вы должны вести себя как рабочий поток (worker thread), получающий задачу. Основной поток (сотрудник, проводящий собеседование) больше не проявляет себя после того, как направил вам тест. Он, конечно, может запросить от вас информацию о ходе работы и результатах, но другой обратной связи или новых данных вы, скорее всего, не получите.</p>
21 <p>В случае с тестовыми заданиями, которые выполняются дома, всё совершенно иначе. Вы должны вести себя как рабочий поток (worker thread), получающий задачу. Основной поток (сотрудник, проводящий собеседование) больше не проявляет себя после того, как направил вам тест. Он, конечно, может запросить от вас информацию о ходе работы и результатах, но другой обратной связи или новых данных вы, скорее всего, не получите.</p>
22 <p>Да, вы можете отправить запрос по электронной почте, но ответ в большинстве случаев будет непонятным или несвоевременным. Какая-либо техническая документация, как правило, тоже отсутствует.</p>
22 <p>Да, вы можете отправить запрос по электронной почте, но ответ в большинстве случаев будет непонятным или несвоевременным. Какая-либо техническая документация, как правило, тоже отсутствует.</p>
23 <em>Кадр: фильм "Сигнал"</em><p>В большинстве случаев тестовые задания - это одна строчка. Например: "Разработайте самую эффективную систему управления воздушным движением". Всё остальное находится в зоне ответственности кандидата. И хотя требования могут быть длиннее - 5-6 строчек, - этого часто также бывает недостаточно. Они кажутся довольно несуразными и заставляют кандидата полностью погружаться в них. А после того, как вы сдаёте выполненное задание, вас очень часто ждёт отказ.</p>
23 <em>Кадр: фильм "Сигнал"</em><p>В большинстве случаев тестовые задания - это одна строчка. Например: "Разработайте самую эффективную систему управления воздушным движением". Всё остальное находится в зоне ответственности кандидата. И хотя требования могут быть длиннее - 5-6 строчек, - этого часто также бывает недостаточно. Они кажутся довольно несуразными и заставляют кандидата полностью погружаться в них. А после того, как вы сдаёте выполненное задание, вас очень часто ждёт отказ.</p>
24 <p>"Без требований или дизайна программирование - это искусство добавлять баги в пустой текстовый файл", - говорит Луи Сригли.</p>
24 <p>"Без требований или дизайна программирование - это искусство добавлять баги в пустой текстовый файл", - говорит Луи Сригли.</p>
25 <p>Проблема здесь в следующем: идеальный ответ, по мнению проводящего собеседование, представляет то, что он видел на <a>TopCoder</a>или где-то ещё, а не то, что сделали вы. Иными словами, ваши экзаменаторы всегда будут предполагать, что вы просто повторите уже знакомое им готовое решение или, так уж и быть, превзойдёте его. Если же вам это не удастся, то вы потерпите неудачу.</p>
25 <p>Проблема здесь в следующем: идеальный ответ, по мнению проводящего собеседование, представляет то, что он видел на <a>TopCoder</a>или где-то ещё, а не то, что сделали вы. Иными словами, ваши экзаменаторы всегда будут предполагать, что вы просто повторите уже знакомое им готовое решение или, так уж и быть, превзойдёте его. Если же вам это не удастся, то вы потерпите неудачу.</p>
26 <p>Во время whiteboard-собеседований ваши способности тестируются лишь символически. Если вы способны показать модульный подход к программированию в одном месте, то этого вовсе не ожидают от вас в любом фрагменте кода. Чистый код означает "продемонстрированную" способность.</p>
26 <p>Во время whiteboard-собеседований ваши способности тестируются лишь символически. Если вы способны показать модульный подход к программированию в одном месте, то этого вовсе не ожидают от вас в любом фрагменте кода. Чистый код означает "продемонстрированную" способность.</p>
27 <p>В случае с тестовым заданием, которое необходимо выполнить дома, вы должны показать всю последовательность своих действий. Чистый код в таких условиях не означает ту самую "продемонстрированную" способность. Вы обязаны не только один раз показать такую способность, но и делать это на протяжении всего кода из тестового задания - потому что сотрудник, который будет оценивать вашу работу, может иметь совершенно отличный от вашего взгляд на проблему.</p>
27 <p>В случае с тестовым заданием, которое необходимо выполнить дома, вы должны показать всю последовательность своих действий. Чистый код в таких условиях не означает ту самую "продемонстрированную" способность. Вы обязаны не только один раз показать такую способность, но и делать это на протяжении всего кода из тестового задания - потому что сотрудник, который будет оценивать вашу работу, может иметь совершенно отличный от вашего взгляд на проблему.</p>
28 <em>Кадр: сериал "Мистический квест"</em><p>Если вы выберете одну определённую концепцию для решения проблемы, то может показаться, что вы не разбираетесь в других. Если бы идеальное решение тестового задания по программированию можно было описать с помощью модели разработки, то это было бы дерево с бесконечным количеством веток.</p>
28 <em>Кадр: сериал "Мистический квест"</em><p>Если вы выберете одну определённую концепцию для решения проблемы, то может показаться, что вы не разбираетесь в других. Если бы идеальное решение тестового задания по программированию можно было описать с помощью модели разработки, то это было бы дерево с бесконечным количеством веток.</p>
29 <p>Если вы выберете подход, направленный на достижение цели, то будете недостаточно функциональны, и наоборот. Никаких вопросов, никаких преждевременных ожиданий, никаких вторых шансов. Просто отказ!</p>
29 <p>Если вы выберете подход, направленный на достижение цели, то будете недостаточно функциональны, и наоборот. Никаких вопросов, никаких преждевременных ожиданий, никаких вторых шансов. Просто отказ!</p>
30 <p>Предположения считаются частью поставленной перед вами задачи, и от вас требуется правильно их формулировать. Сотрудники, проводящие собеседование, также будут формулировать их в процессе оценки вашей работы.</p>
30 <p>Предположения считаются частью поставленной перед вами задачи, и от вас требуется правильно их формулировать. Сотрудники, проводящие собеседование, также будут формулировать их в процессе оценки вашей работы.</p>
31 <p>Вам могут пообещать, что если вы сможете правильно сформулировать предположения, то победите. Но это всего лишь обещание. Не стоит задавать лишних вопросов, но если вы всё же соберётесь это сделать - знайте, что вас могут оценивать и по ним.</p>
31 <p>Вам могут пообещать, что если вы сможете правильно сформулировать предположения, то победите. Но это всего лишь обещание. Не стоит задавать лишних вопросов, но если вы всё же соберётесь это сделать - знайте, что вас могут оценивать и по ним.</p>
32 <p>Речь не об объёме задания, а о спектре необходимых для его выполнения навыков. Требование заключается в том, чтобы разработать миниатюрную систему, а не отдельный компонент. Это означает, что вы должны спроектировать и разработать UI, модели, сервисы (сетевые взаимодействия / файловую систему / управление базами данных) и всё остальное.</p>
32 <p>Речь не об объёме задания, а о спектре необходимых для его выполнения навыков. Требование заключается в том, чтобы разработать миниатюрную систему, а не отдельный компонент. Это означает, что вы должны спроектировать и разработать UI, модели, сервисы (сетевые взаимодействия / файловую систему / управление базами данных) и всё остальное.</p>
33 <p>Помните треугольник "содержание - сроки - стоимость"? Если вы увеличите одну из сторон, то несомненно вдруг появятся и две оставшиеся. Однако никто не платит вам за выполнение тестового задания по программированию, и никто кроме вас не пострадает, если вы сорвёте сроки.</p>
33 <p>Помните треугольник "содержание - сроки - стоимость"? Если вы увеличите одну из сторон, то несомненно вдруг появятся и две оставшиеся. Однако никто не платит вам за выполнение тестового задания по программированию, и никто кроме вас не пострадает, если вы сорвёте сроки.</p>
34 <em>Инфографика: Skillbox Media</em><p>Любой старший разработчик может сказать, что такая миниатюрная система вполне может служить шаблоном, который очень легко монетизируется. Некоторые недобросовестные работодатели могут воспользоваться вашей работой в коммерческих целях, ведь спектр используемых в ней фич очень широк. Чем более качественно будет выполнено ваше задание, тем выше вероятность того, что его скопируют и используют.</p>
34 <em>Инфографика: Skillbox Media</em><p>Любой старший разработчик может сказать, что такая миниатюрная система вполне может служить шаблоном, который очень легко монетизируется. Некоторые недобросовестные работодатели могут воспользоваться вашей работой в коммерческих целях, ведь спектр используемых в ней фич очень широк. Чем более качественно будет выполнено ваше задание, тем выше вероятность того, что его скопируют и используют.</p>
35 <p>Вы вполне можете выполнить задание в кратчайшие сроки, но не сразу отправить результаты своей работы на проверку.</p>
35 <p>Вы вполне можете выполнить задание в кратчайшие сроки, но не сразу отправить результаты своей работы на проверку.</p>
36 <p>Тем не менее 99% работодателей честны. Большинство тестовых заданий по программированию предполагают, что вы уже занимались решением подобной проблемы, ну, или хотя бы имели дело с подобными компонентами. Нет смысла<em>пытаться справиться</em>с проблемой, с который вы не пытались справиться до этого. Единственный путь к успеху - показать потенциальному работодателю то, чего он от вас ждёт, но сделать это будет затруднительно, если вы не обладаете даром чтения чужих мыслей. И даже после отказа вы вряд ли услышите правду.</p>
36 <p>Тем не менее 99% работодателей честны. Большинство тестовых заданий по программированию предполагают, что вы уже занимались решением подобной проблемы, ну, или хотя бы имели дело с подобными компонентами. Нет смысла<em>пытаться справиться</em>с проблемой, с который вы не пытались справиться до этого. Единственный путь к успеху - показать потенциальному работодателю то, чего он от вас ждёт, но сделать это будет затруднительно, если вы не обладаете даром чтения чужих мыслей. И даже после отказа вы вряд ли услышите правду.</p>
37 <p>Формально выполнение задания не должно занимать более 2-4 часов вашего времени, но редко когда получается завершить его даже за выходные, если ранее вы не сталкивались с чем-то подобным в своей деятельности.</p>
37 <p>Формально выполнение задания не должно занимать более 2-4 часов вашего времени, но редко когда получается завершить его даже за выходные, если ранее вы не сталкивались с чем-то подобным в своей деятельности.</p>
38 <p>И виноват в этом не потенциальный работодатель, а вы: вы вполне можете выполнить задачу в кратчайшие сроки, но не сразу отправить результаты своей работы на проверку из-за страха отказа - вам может казаться, что код, вероятно, ещё слишком грязный.</p>
38 <p>И виноват в этом не потенциальный работодатель, а вы: вы вполне можете выполнить задачу в кратчайшие сроки, но не сразу отправить результаты своей работы на проверку из-за страха отказа - вам может казаться, что код, вероятно, ещё слишком грязный.</p>
39 <p>Ваш страх получить отказ вряд ли позволит вам признать, что выполнение задачи заняло больше времени. Если вы не увидели чего-то, что увидел ваш потенциальный работодатель, то вы упустили нечто действительно важное. Если же вам удалось увидеть то, что скрылось от его глаз, то вы сделали больше, чем от вас требовалось.</p>
39 <p>Ваш страх получить отказ вряд ли позволит вам признать, что выполнение задачи заняло больше времени. Если вы не увидели чего-то, что увидел ваш потенциальный работодатель, то вы упустили нечто действительно важное. Если же вам удалось увидеть то, что скрылось от его глаз, то вы сделали больше, чем от вас требовалось.</p>
40 <p>Это самый важный вопрос.</p>
40 <p>Это самый важный вопрос.</p>
41 <p>Если работодатель не может ответить каждому кандидату, то, очевидно, он совершил ошибку при первоначальном отборе резюме. Он выполнил свою задачу далеко не на 100%! Неужели в этом виноват кандидат-сеньор?</p>
41 <p>Если работодатель не может ответить каждому кандидату, то, очевидно, он совершил ошибку при первоначальном отборе резюме. Он выполнил свою задачу далеко не на 100%! Неужели в этом виноват кандидат-сеньор?</p>
42 <p>Коммуникация после получения отказа позволяет понять: действительно ли вам не хватило определённых навыков или потенциальный работодатель просто тратил ваше время и эмоции?</p>
42 <p>Коммуникация после получения отказа позволяет понять: действительно ли вам не хватило определённых навыков или потенциальный работодатель просто тратил ваше время и эмоции?</p>
43 <p>Даже если код кандидата ужасен, рекрутер всё равно должен лаконично объяснить ему причины отказа, а не ограничиваться шаблонным письмом. К сожалению, такой подход широко распространён.</p>
43 <p>Даже если код кандидата ужасен, рекрутер всё равно должен лаконично объяснить ему причины отказа, а не ограничиваться шаблонным письмом. К сожалению, такой подход широко распространён.</p>
44 <p>Многие технологические компании напрямую не сообщают о причинах отказа, а делают это через кадровые агентства, чтобы избежать ненужных разбирательств. Если вам повезёт, вы получите замысловатый отказ, в котором будут запутанно сформулированы ваши слабые места. Если вам захочется получить более подробную информацию, вы не получите никакого ответа.</p>
44 <p>Многие технологические компании напрямую не сообщают о причинах отказа, а делают это через кадровые агентства, чтобы избежать ненужных разбирательств. Если вам повезёт, вы получите замысловатый отказ, в котором будут запутанно сформулированы ваши слабые места. Если вам захочется получить более подробную информацию, вы не получите никакого ответа.</p>
45 <p>И если в случае с младшими разработчиками подобное поведение можно объяснить наличием огромного пула кандидатов и зачастую плохим качеством предоставляемого ими кода, то в случае со старшими разработчиками такой подход не имеет абсолютно никаких оснований.</p>
45 <p>И если в случае с младшими разработчиками подобное поведение можно объяснить наличием огромного пула кандидатов и зачастую плохим качеством предоставляемого ими кода, то в случае со старшими разработчиками такой подход не имеет абсолютно никаких оснований.</p>
46 <p>Вследствие крайне субъективных критериев отбора тестовые задания становятся мощным орудием в руках IT-команд с расистскими и сексистскими взглядами, а также предвзятым отношением к людям, и вам точно не удастся исправить ситуацию, так как подобное отношение к кандидатам невозможно доказать.</p>
46 <p>Вследствие крайне субъективных критериев отбора тестовые задания становятся мощным орудием в руках IT-команд с расистскими и сексистскими взглядами, а также предвзятым отношением к людям, и вам точно не удастся исправить ситуацию, так как подобное отношение к кандидатам невозможно доказать.</p>
47 <p>Старшие разработчики играют гораздо более важную роль в будущем IT-компаний, которая не сводится к банальному написанию кода. Один такой сотрудник с чётким пониманием продукта более ценен, нежели пять младших разработчиков, которым надо постоянно давать указания.</p>
47 <p>Старшие разработчики играют гораздо более важную роль в будущем IT-компаний, которая не сводится к банальному написанию кода. Один такой сотрудник с чётким пониманием продукта более ценен, нежели пять младших разработчиков, которым надо постоянно давать указания.</p>
48 <p>Предварительная оценка потенциальных сотрудников на основании их профиля на GitHub и портфолио позволит сократить объём кода, необходимого для выявления подходящих кандидатов, или вовсе избавиться от подобного тестирования.</p>
48 <p>Предварительная оценка потенциальных сотрудников на основании их профиля на GitHub и портфолио позволит сократить объём кода, необходимого для выявления подходящих кандидатов, или вовсе избавиться от подобного тестирования.</p>
49 <p>Тестовые задания по программированию можно заменить на одну или несколько личных бесед о карьерных достижениях кандидата и направлении, в котором движется компания. Это отличный способ удостовериться, что заявленный опыт соответствует действительности и кандидат изъясняется чётко - а ведь это и есть самый важный навык для сеньора.</p>
49 <p>Тестовые задания по программированию можно заменить на одну или несколько личных бесед о карьерных достижениях кандидата и направлении, в котором движется компания. Это отличный способ удостовериться, что заявленный опыт соответствует действительности и кандидат изъясняется чётко - а ведь это и есть самый важный навык для сеньора.</p>
50 <p>Так что перестаньте превращать людей в машины для написания кода.</p>
50 <p>Так что перестаньте превращать людей в машины для написания кода.</p>
51 <p>Сами компании вряд ли придут к этому (как это и происходит в большинстве случаев), поэтому сеньорам нужно заранее отказываться от любых видов удалённого тестирования.</p>
51 <p>Сами компании вряд ли придут к этому (как это и происходит в большинстве случаев), поэтому сеньорам нужно заранее отказываться от любых видов удалённого тестирования.</p>
52 <p>Исключением может быть тестирование, которое на самом деле займёт<a>4-6 часов вашего времени</a>.</p>
52 <p>Исключением может быть тестирование, которое на самом деле займёт<a>4-6 часов вашего времени</a>.</p>
53 <p>Выделять более продолжительный отрезок времени на выполнение такого задания можно только в том случае, если вам удастся монетизировать его даже после отказа в трудоустройстве: например, проект можно будет добавить в ваше портфолио на GitHub или превратить в подработку.</p>
53 <p>Выделять более продолжительный отрезок времени на выполнение такого задания можно только в том случае, если вам удастся монетизировать его даже после отказа в трудоустройстве: например, проект можно будет добавить в ваше портфолио на GitHub или превратить в подработку.</p>
54 <p>В общем, перестаньте тратить своё время на те компании, которые не уважают труд кандидатов. Уважайте себя.</p>
54 <p>В общем, перестаньте тратить своё время на те компании, которые не уважают труд кандидатов. Уважайте себя.</p>
55 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
55 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>