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>22 сен 2021</li>
2
<ul><li>22 сен 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Бывший фотограф из Калининграда рассказал, как перешёл во фронтенд, почему GitHub важнее сайта-портфолио, а в резюме лучше не писать слово "junior".</p>
4
</ul><p>Бывший фотограф из Калининграда рассказал, как перешёл во фронтенд, почему GitHub важнее сайта-портфолио, а в резюме лучше не писать слово "junior".</p>
5
<p>OlyaSnow для Skillbox Media</p>
5
<p>OlyaSnow для Skillbox Media</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7
<p><strong>об эксперте</strong></p>
7
<p><strong>об эксперте</strong></p>
8
<p>Живёт в Калининграде, в 37 лет бросил фотографию и освоил веб-вёрстку, JavaScript, Vue.js и React. Получил сотни отказов на HeadHunter, но в итоге устроился фронтенд-разработчиком.</p>
8
<p>Живёт в Калининграде, в 37 лет бросил фотографию и освоил веб-вёрстку, JavaScript, Vue.js и React. Получил сотни отказов на HeadHunter, но в итоге устроился фронтенд-разработчиком.</p>
9
<p>Раньше я занимался фотографией, а недавно перешёл во фронтенд-разработку. Учился с помощью онлайн-тренажёров, бесплатных уроков на YouTube и курсов на торрентах, а сейчас продолжаю учиться на Udemy. Расскажу, как всё произошло.</p>
9
<p>Раньше я занимался фотографией, а недавно перешёл во фронтенд-разработку. Учился с помощью онлайн-тренажёров, бесплатных уроков на YouTube и курсов на торрентах, а сейчас продолжаю учиться на Udemy. Расскажу, как всё произошло.</p>
10
<p>В основе статьи -<a>тред</a>автора в Twitter.</p>
10
<p>В основе статьи -<a>тред</a>автора в Twitter.</p>
11
<p>Я родился и вырос в Калининграде. В колледже изучал государственное и муниципальное управление, работал ночным администратором компьютерного клуба, продавал пиратские диски в магазине. Два раза бросал университет, поэтому остался без высшего образования.</p>
11
<p>Я родился и вырос в Калининграде. В колледже изучал государственное и муниципальное управление, работал ночным администратором компьютерного клуба, продавал пиратские диски в магазине. Два раза бросал университет, поэтому остался без высшего образования.</p>
12
<p>В Калининграде дела шли плохо. Я увлекался фотографией, даже открыл убыточную студию. Работал где придётся, в том числе кассиром на рыночной парковке.</p>
12
<p>В Калининграде дела шли плохо. Я увлекался фотографией, даже открыл убыточную студию. Работал где придётся, в том числе кассиром на рыночной парковке.</p>
13
<p>В 27 лет решил переехать к подруге во Владивосток - мы общались давно и всё друг о друге знали. Я продал свои вещи, купил ноутбук и взял билет в одну сторону. Весь скарб поместился в чемодан и рюкзак. Никаких планов я не строил и вообще не представлял, что меня ждёт. Было страшно, но радостно.</p>
13
<p>В 27 лет решил переехать к подруге во Владивосток - мы общались давно и всё друг о друге знали. Я продал свои вещи, купил ноутбук и взял билет в одну сторону. Весь скарб поместился в чемодан и рюкзак. Никаких планов я не строил и вообще не представлял, что меня ждёт. Было страшно, но радостно.</p>
14
<p>Поначалу Владивосток меня очаровал: наверное, так повлияли перемены. С подругой мы съехались - она занималась татуировками, а я пытался фотографировать, проколол уши и сменил причёску.</p>
14
<p>Поначалу Владивосток меня очаровал: наверное, так повлияли перемены. С подругой мы съехались - она занималась татуировками, а я пытался фотографировать, проколол уши и сменил причёску.</p>
15
<p>Во Владивостоке я фотографировал за деньги и просто так, неплохо прокачался в плане композиции и цвета, но люди раздражали всё больше. Город достал плохой инфраструктурой, мне было неприятно выходить из дома. Общение с людьми стало очень напрягать, и я задумался о том, как его минимизировать.</p>
15
<p>Во Владивостоке я фотографировал за деньги и просто так, неплохо прокачался в плане композиции и цвета, но люди раздражали всё больше. Город достал плохой инфраструктурой, мне было неприятно выходить из дома. Общение с людьми стало очень напрягать, и я задумался о том, как его минимизировать.</p>
16
<p>Я вспомнил, что когда-то интересовался вебом, но дальше забав с HTML-тегами дело не пошло. Вскоре наткнулся на бесплатные тренажёры HTML Academy - часами проходил их и громко матерился на заданиях, где вёрстка должна была совпасть с образцом пиксель в пиксель. Потом я купил подписку и прошёл все тренажёры по вёрстке.</p>
16
<p>Я вспомнил, что когда-то интересовался вебом, но дальше забав с HTML-тегами дело не пошло. Вскоре наткнулся на бесплатные тренажёры HTML Academy - часами проходил их и громко матерился на заданиях, где вёрстка должна была совпасть с образцом пиксель в пиксель. Потом я купил подписку и прошёл все тренажёры по вёрстке.</p>
17
<p>Уходить в IT я не собирался - сначала хотел сделать сайт тату-салона и фотостудии. Но мне понравилось, что фронтендер сразу видит результат своего труда: бах - и кнопка покрасилась. А ещё подкупило, что можно работать из дома.</p>
17
<p>Уходить в IT я не собирался - сначала хотел сделать сайт тату-салона и фотостудии. Но мне понравилось, что фронтендер сразу видит результат своего труда: бах - и кнопка покрасилась. А ещё подкупило, что можно работать из дома.</p>
18
<p>В конце концов я понял, что за IT будущее. Я работал продавцом, таскал тяжести, крутил гайки на заводе, фотографировал неприятных клиентов - вся эта деятельность была тупиковой. А в IT много направлений, в которых можно развиваться: если заскучал, несложно сменить работу и язык программирования - такого я не встречал ни в одной другой индустрии.</p>
18
<p>В конце концов я понял, что за IT будущее. Я работал продавцом, таскал тяжести, крутил гайки на заводе, фотографировал неприятных клиентов - вся эта деятельность была тупиковой. А в IT много направлений, в которых можно развиваться: если заскучал, несложно сменить работу и язык программирования - такого я не встречал ни в одной другой индустрии.</p>
19
<p>На прежних работах я постоянно боялся, что заболею, меня уволят и я не смогу платить за квартиру. Что мои ботинки порвутся и надо будет делать выбор между едой и новой обувью. Страх гнал меня на эту ненавистную каторгу.</p>
19
<p>На прежних работах я постоянно боялся, что заболею, меня уволят и я не смогу платить за квартиру. Что мои ботинки порвутся и надо будет делать выбор между едой и новой обувью. Страх гнал меня на эту ненавистную каторгу.</p>
20
<p>Большую часть своей жизни я находился в эмоциональной заднице - и закончить жизнь в той же заднице я не хочу. Но и IT я выбрал вовсе не из-за денег - мне и правда было интересно. Вёрсткой я могу заниматься, забывая поспать и поесть. Это ли не счастье? А вот работа только ради зарплаты - путь в никуда.</p>
20
<p>Большую часть своей жизни я находился в эмоциональной заднице - и закончить жизнь в той же заднице я не хочу. Но и IT я выбрал вовсе не из-за денег - мне и правда было интересно. Вёрсткой я могу заниматься, забывая поспать и поесть. Это ли не счастье? А вот работа только ради зарплаты - путь в никуда.</p>
21
Фото: предоставлено Олегом Кокошинским<p>Я начал изучать фронтенд, когда начиналась пандемия. В это время я то работал, то нет, поэтому денег на курсы не было и я тырил с торрентов всё, что мог найти. Иногда занимался весь день, иногда только пару часов. Верстал лендинги, погрузился в JavaScript на уровне обработчиков событий и всплывающих окон. И даже попробовал учить jQuery - правда, мне не понравилось. Про взрослые фреймворки вроде Vue.js и React я ещё не знал.</p>
21
Фото: предоставлено Олегом Кокошинским<p>Я начал изучать фронтенд, когда начиналась пандемия. В это время я то работал, то нет, поэтому денег на курсы не было и я тырил с торрентов всё, что мог найти. Иногда занимался весь день, иногда только пару часов. Верстал лендинги, погрузился в JavaScript на уровне обработчиков событий и всплывающих окон. И даже попробовал учить jQuery - правда, мне не понравилось. Про взрослые фреймворки вроде Vue.js и React я ещё не знал.</p>
22
<p>С таким подходом мне очень не хватало общения, поэтому я завёл<a>аккаунт в Instagram*</a>, подписался на многих ребят из индустрии и начал рассказывать о себе. Очень быстро появились знакомые и я понял, как развиваться дальше.</p>
22
<p>С таким подходом мне очень не хватало общения, поэтому я завёл<a>аккаунт в Instagram*</a>, подписался на многих ребят из индустрии и начал рассказывать о себе. Очень быстро появились знакомые и я понял, как развиваться дальше.</p>
23
<p>Поначалу я обходился без JS-фреймворков и сборщиков - пользовался плагинами Live Server и Live Sass Compiler для редактора Visual Studio Code.</p>
23
<p>Поначалу я обходился без JS-фреймворков и сборщиков - пользовался плагинами Live Server и Live Sass Compiler для редактора Visual Studio Code.</p>
24
<p>В какой-то момент я записался на бесплатный курс в RS School. Это был интересный опыт, но до конца я так и не дошёл, потому что все вебинары и челленджи пролетали мимо меня: их проводили примерно в 20:00 по Москве - во Владивостоке в это время было три часа ночи.</p>
24
<p>В какой-то момент я записался на бесплатный курс в RS School. Это был интересный опыт, но до конца я так и не дошёл, потому что все вебинары и челленджи пролетали мимо меня: их проводили примерно в 20:00 по Москве - во Владивостоке в это время было три часа ночи.</p>
25
<p>В Instagram* я познакомился с Сашей Белькевичем - фронтендером, который работает на Vue.js. У него есть Patreon-сообщество, где он за небольшие деньги даёт задания с обратной связью. Конечно, я присоединился.</p>
25
<p>В Instagram* я познакомился с Сашей Белькевичем - фронтендером, который работает на Vue.js. У него есть Patreon-сообщество, где он за небольшие деньги даёт задания с обратной связью. Конечно, я присоединился.</p>
26
<p>Русскоязычные курсы по Vue.js мне не понравились, но Саша предложил поискать<a>уроки от Максимилиана Шварцмюллера</a> - самоучки, который сам освоил фронтенд и бэкенд, а потом сделал курсы и обучил полтора миллиона человек.</p>
26
<p>Русскоязычные курсы по Vue.js мне не понравились, но Саша предложил поискать<a>уроки от Максимилиана Шварцмюллера</a> - самоучки, который сам освоил фронтенд и бэкенд, а потом сделал курсы и обучил полтора миллиона человек.</p>
27
<p>Эти уроки я скачал с торрента. Переживал из-за своего плохого английского, но там были субтитры, и первое время я выписывал незнакомые слова в тетрадь. Зато сейчас уже всё воспринимаю на слух. Спустя некоторое время я удалил торренты и купил курс Максимилиана на Udemy.</p>
27
<p>Эти уроки я скачал с торрента. Переживал из-за своего плохого английского, но там были субтитры, и первое время я выписывал незнакомые слова в тетрадь. Зато сейчас уже всё воспринимаю на слух. Спустя некоторое время я удалил торренты и купил курс Максимилиана на Udemy.</p>
28
<p>Теперь моё портфолио пополнилось проектами от RS School и Саши, я более-менее научился верстать и использовать препроцессор, немного разбирался в Bootstrap, JavaScript и основах Vue.js.</p>
28
<p>Теперь моё портфолио пополнилось проектами от RS School и Саши, я более-менее научился верстать и использовать препроцессор, немного разбирался в Bootstrap, JavaScript и основах Vue.js.</p>
29
<p>Я завёл<a>аккаунт на LinkedIn</a>, оформил профиль, подтвердил несколько навыков и начал наращивать сеть контактов. В комментариях к какому-то посту мне предложили пройти собеседование: в итоге меня интервьюировали, когда я копал картошку у тёщи. Стоя с лопатой посреди сорняков, я отвечал на вопросы о promise и this, bind и reduce. Интервьюер сказал, что мне стоит подтянуть, и посоветовал изучить React. Я уже был готов на всё, поэтому пошёл на Udemy и купил очередной курс.</p>
29
<p>Я завёл<a>аккаунт на LinkedIn</a>, оформил профиль, подтвердил несколько навыков и начал наращивать сеть контактов. В комментариях к какому-то посту мне предложили пройти собеседование: в итоге меня интервьюировали, когда я копал картошку у тёщи. Стоя с лопатой посреди сорняков, я отвечал на вопросы о promise и this, bind и reduce. Интервьюер сказал, что мне стоит подтянуть, и посоветовал изучить React. Я уже был готов на всё, поэтому пошёл на Udemy и купил очередной курс.</p>
30
<p>React мне понравился - у него есть нормальная документация. Не знаю, почему все говорят, что Vue.js намного проще.</p>
30
<p>React мне понравился - у него есть нормальная документация. Не знаю, почему все говорят, что Vue.js намного проще.</p>
31
<p>Во время учёбы я понял, что главное - это практика. Неважно, где вы берёте знания: это могут быть книги, курсы или что угодно ещё. Пробуйте что-то делать и заливайте на GitHub - потом эти работы можно показать на собеседовании, да и проще будет освежить память и переиспользовать какие-то удачные приёмы.</p>
31
<p>Во время учёбы я понял, что главное - это практика. Неважно, где вы берёте знания: это могут быть книги, курсы или что угодно ещё. Пробуйте что-то делать и заливайте на GitHub - потом эти работы можно показать на собеседовании, да и проще будет освежить память и переиспользовать какие-то удачные приёмы.</p>
32
<p>Мне было 36 лет, ноль опыта, только<a>резюме</a>и <a>несколько проектов на GitHub</a>. Я искал работу больше полугода: за это время было несколько сотен отказов и проигнорированных откликов на HeadHunter.</p>
32
<p>Мне было 36 лет, ноль опыта, только<a>резюме</a>и <a>несколько проектов на GitHub</a>. Я искал работу больше полугода: за это время было несколько сотен отказов и проигнорированных откликов на HeadHunter.</p>
33
<p>Во Владивостоке мало вакансий по фронтенду, а джуниорские появляются совсем редко. Я мониторил HeadHunter и FarPost - дальневосточный Avito. Хотел устроиться в офис, чтобы было у кого учиться. Да и удалёнка не подходила из-за большой разницы в часовых поясах - всё-таки +7 к Москве. Так себе ситуация: ты работаешь, а команда спит.</p>
33
<p>Во Владивостоке мало вакансий по фронтенду, а джуниорские появляются совсем редко. Я мониторил HeadHunter и FarPost - дальневосточный Avito. Хотел устроиться в офис, чтобы было у кого учиться. Да и удалёнка не подходила из-за большой разницы в часовых поясах - всё-таки +7 к Москве. Так себе ситуация: ты работаешь, а команда спит.</p>
34
<p>Я сделал резюме на HeadHunter и начал робко откликаться на вакансии. Тщательно выбирал одну-две в день, искал только такие, которым полностью соответствовал. Это неправильно, но поначалу так многие делают. Привирать в резюме не стал - хотя некоторые ребята советуют указать побольше опыта и технологий.</p>
34
<p>Я сделал резюме на HeadHunter и начал робко откликаться на вакансии. Тщательно выбирал одну-две в день, искал только такие, которым полностью соответствовал. Это неправильно, но поначалу так многие делают. Привирать в резюме не стал - хотя некоторые ребята советуют указать побольше опыта и технологий.</p>
35
<p>В сопроводительных писал что-то вроде: "Заинтересовала вакансия. Пожалуйста, рассмотрите мою кандидатуру". В основном никто не отвечал или я получал стандартное "Мы внимательно ознакомились с резюме, но…".</p>
35
<p>В сопроводительных писал что-то вроде: "Заинтересовала вакансия. Пожалуйста, рассмотрите мою кандидатуру". В основном никто не отвечал или я получал стандартное "Мы внимательно ознакомились с резюме, но…".</p>
36
<p>В резюме не стоит писать, что вы ищете позицию джуна. Вместо Junior Frontend Developer оставьте Frontend Developer - так резюме будут смотреть намного чаще. Пусть грейд определяют сами HR-специалисты.</p>
36
<p>В резюме не стоит писать, что вы ищете позицию джуна. Вместо Junior Frontend Developer оставьте Frontend Developer - так резюме будут смотреть намного чаще. Пусть грейд определяют сами HR-специалисты.</p>
37
<p>Про свой опыт рассказывать сложно. Например, нерелевантный на первый взгляд опыт может быть ценным - если вы работали в продажах, то предполагается, что у вас развиты софт-скиллы. С ноября 2019-го по октябрь 2020-го я занимался удалённым ручным тестированием в "Яндексе", и это стало неплохой строчкой в резюме.</p>
37
<p>Про свой опыт рассказывать сложно. Например, нерелевантный на первый взгляд опыт может быть ценным - если вы работали в продажах, то предполагается, что у вас развиты софт-скиллы. С ноября 2019-го по октябрь 2020-го я занимался удалённым ручным тестированием в "Яндексе", и это стало неплохой строчкой в резюме.</p>
38
<p>В опыт можно вписать и обучение: какие проекты делали, какие задачи решали, какие технологии использовали. Не помешают и ссылки на красиво оформленные проекты на GitHub.</p>
38
<p>В опыт можно вписать и обучение: какие проекты делали, какие задачи решали, какие технологии использовали. Не помешают и ссылки на красиво оформленные проекты на GitHub.</p>
39
<p>Как-то я набрёл на <a>чат джуниоров и мидлов</a>и познакомился с его администратором<a>Наташей Давыдовой</a>. Она подсказала, как улучшить резюме и даже какую фотографию поставить. Я безмерно ей благодарен.</p>
39
<p>Как-то я набрёл на <a>чат джуниоров и мидлов</a>и познакомился с его администратором<a>Наташей Давыдовой</a>. Она подсказала, как улучшить резюме и даже какую фотографию поставить. Я безмерно ей благодарен.</p>
40
<p>А вот сайт-портфолио я делать не стал. Может быть, он нужен фрилансерам, но я хотел устроиться в офис. Уверен, что лучше завести и оформить нормальный профиль на GitHub. Забегая вперёд, скажу: именно он и помог мне найти работу.</p>
40
<p>А вот сайт-портфолио я делать не стал. Может быть, он нужен фрилансерам, но я хотел устроиться в офис. Уверен, что лучше завести и оформить нормальный профиль на GitHub. Забегая вперёд, скажу: именно он и помог мне найти работу.</p>
41
Фото: предоставлено Олегом Кокошинским<p>Я продолжал рассылать резюме, и однажды мне дали первое тестовое задание - сверстать для гадалки лендинг на Bootstrap. Я разволновался, сделал его за пару дней, отправил, но не получил фидбэка.</p>
41
Фото: предоставлено Олегом Кокошинским<p>Я продолжал рассылать резюме, и однажды мне дали первое тестовое задание - сверстать для гадалки лендинг на Bootstrap. Я разволновался, сделал его за пару дней, отправил, но не получил фидбэка.</p>
42
<p>Тестовые обычно не оплачивают, но взамен компания должна дать обратную связь. Если её нет, кандидата обманули. У меня такое было раз десять. Усилия часто уходят в никуда, и это грустно.</p>
42
<p>Тестовые обычно не оплачивают, но взамен компания должна дать обратную связь. Если её нет, кандидата обманули. У меня такое было раз десять. Усилия часто уходят в никуда, и это грустно.</p>
43
<p>Многие тестовые не приносят пользы, поэтому они должны быть компактными и не занимать много времени. Цель тестового - выявить ваши знания и пробелы. Если требуют сделать готовый проект, на кандидате тупо хотят заработать. Верстать десять страниц не нужно - достаточно одной.</p>
43
<p>Многие тестовые не приносят пользы, поэтому они должны быть компактными и не занимать много времени. Цель тестового - выявить ваши знания и пробелы. Если требуют сделать готовый проект, на кандидате тупо хотят заработать. Верстать десять страниц не нужно - достаточно одной.</p>
44
<p>Чтобы избежать проблем, я всегда спрашиваю HR, когда моё тестовое рассмотрят и можно ли опубликовать выполненное задание у себя на GitHub. Если не отвечают - это плохой знак. Рассчитывать на такого работодателя не стоит.</p>
44
<p>Чтобы избежать проблем, я всегда спрашиваю HR, когда моё тестовое рассмотрят и можно ли опубликовать выполненное задание у себя на GitHub. Если не отвечают - это плохой знак. Рассчитывать на такого работодателя не стоит.</p>
45
<p>На первое собеседование меня позвали, когда я сделал<a>таблицу</a>, в которой данные подгружаются из JSON-файла, а строки можно сортировать. Наверное, кого-то удивит XMLHttpRequest, зато задание было выполнено и всё заработало (про Fetch API и библиотеку Axios я тогда не знал). К этому моменту я уже несколько месяцев рассылал резюме и делал тестовые.</p>
45
<p>На первое собеседование меня позвали, когда я сделал<a>таблицу</a>, в которой данные подгружаются из JSON-файла, а строки можно сортировать. Наверное, кого-то удивит XMLHttpRequest, зато задание было выполнено и всё заработало (про Fetch API и библиотеку Axios я тогда не знал). К этому моменту я уже несколько месяцев рассылал резюме и делал тестовые.</p>
46
<p>Перед собеседованием я разложил на столе все свои записи, открыл справочники, проверил камеру с микрофоном и стал ждать. Я три раза прыгал с парашютом, но ожидание интервью было намного страшнее :)</p>
46
<p>Перед собеседованием я разложил на столе все свои записи, открыл справочники, проверил камеру с микрофоном и стал ждать. Я три раза прыгал с парашютом, но ожидание интервью было намного страшнее :)</p>
47
<p>И вот в кадре появились трое и похвалили моё тестовое. Правда, я поплыл, когда приступили к техническим вопросам, - на какие-то ответил, но умудрился засыпаться на теме про document.createElement. Меня спросили, как создать элемент, а я начал что-то бормотать про innerHTML, хотя уже не раз создавал элементы. В тот момент я понял, что не нужно скрывать своё волнение: на той стороне тоже люди, и у них тоже когда-то было первое собеседование.</p>
47
<p>И вот в кадре появились трое и похвалили моё тестовое. Правда, я поплыл, когда приступили к техническим вопросам, - на какие-то ответил, но умудрился засыпаться на теме про document.createElement. Меня спросили, как создать элемент, а я начал что-то бормотать про innerHTML, хотя уже не раз создавал элементы. В тот момент я понял, что не нужно скрывать своё волнение: на той стороне тоже люди, и у них тоже когда-то было первое собеседование.</p>
48
<p>Меня не взяли, потому что нашёлся кандидат, которому не пришлось бы работать по ночам из-за временного сдвига. Зато волнение полностью пропало. Отказ - не конец света, а просто ещё одна попытка.</p>
48
<p>Меня не взяли, потому что нашёлся кандидат, которому не пришлось бы работать по ночам из-за временного сдвига. Зато волнение полностью пропало. Отказ - не конец света, а просто ещё одна попытка.</p>
49
<p>Иногда мне предлагали странные тестовые - например, за два месяца сделать большой личный кабинет на Vue.js или сверстать полноценный сайт и отдать его через GitHub.</p>
49
<p>Иногда мне предлагали странные тестовые - например, за два месяца сделать большой личный кабинет на Vue.js или сверстать полноценный сайт и отдать его через GitHub.</p>
50
<p>Однажды дали<a>простое задание</a> - сделать плитку с изображениями и подписями. После этого было собеседование, где предложили второе тестовое - полностью сверстать лендинг со слайдерами и анимациями. Убеждали, что я плохо отвечал на собеседовании и это обязательное задание. Когда я отказался, спросили о причинах "такого поведения". После этого я просто перестал им отвечать.</p>
50
<p>Однажды дали<a>простое задание</a> - сделать плитку с изображениями и подписями. После этого было собеседование, где предложили второе тестовое - полностью сверстать лендинг со слайдерами и анимациями. Убеждали, что я плохо отвечал на собеседовании и это обязательное задание. Когда я отказался, спросили о причинах "такого поведения". После этого я просто перестал им отвечать.</p>
51
Простое тестовое задание, после которого меня пытались нагрузить. Скриншот: Skillbox Media<p>С "Хабр Карьеры" я получил другое<a>тестовое</a> - сверстать лендинг по подбору авто. Фидбэк на него был грубоватый, с выражениями вроде: "top: 30vh? Серьёзно". Я позиционировал модальное окно через position: fixed; и top: 30vh;. Их смутило, что вместо пикселей я использовал относительные единицы Viewport Height. Сказали, что "адаптив просто ужасный", хотя в ТЗ его и не было.</p>
51
Простое тестовое задание, после которого меня пытались нагрузить. Скриншот: Skillbox Media<p>С "Хабр Карьеры" я получил другое<a>тестовое</a> - сверстать лендинг по подбору авто. Фидбэк на него был грубоватый, с выражениями вроде: "top: 30vh? Серьёзно". Я позиционировал модальное окно через position: fixed; и top: 30vh;. Их смутило, что вместо пикселей я использовал относительные единицы Viewport Height. Сказали, что "адаптив просто ужасный", хотя в ТЗ его и не было.</p>
52
Тестовый лендинг о лизинге авто. Скриншот: Skillbox Media<p>Работу не мог найти уже 8 месяцев, поэтому попросил Сашу Белькевича посмотреть мой аккаунт на GitHub. Он ответил, что я крепкий джун, а моя беда в часовом поясе. Но деваться было некуда - мы с женой не могли переехать по семейным обстоятельствам.</p>
52
Тестовый лендинг о лизинге авто. Скриншот: Skillbox Media<p>Работу не мог найти уже 8 месяцев, поэтому попросил Сашу Белькевича посмотреть мой аккаунт на GitHub. Он ответил, что я крепкий джун, а моя беда в часовом поясе. Но деваться было некуда - мы с женой не могли переехать по семейным обстоятельствам.</p>
53
<p>Я продолжал учиться и рассылать отклики. Иногда менял что-то в резюме, экспериментировал с сопроводительными письмами и делал тестовые. Собеседований было мало - меньше десяти.</p>
53
<p>Я продолжал учиться и рассылать отклики. Иногда менял что-то в резюме, экспериментировал с сопроводительными письмами и делал тестовые. Собеседований было мало - меньше десяти.</p>
54
<p>Потом я закидал откликами местную компанию по продаже бытовой техники, и они скинули<a>тестовое задание на Vue.js</a>. Я его сделал, меня позвали на собеседование. Ехал из пригорода, поэтому на дорогу ушло три часа. Приехал вовремя, но меня заставили полчаса ждать в фойе - сначала искали переговорку, а потом лида и разработчиков.</p>
54
<p>Потом я закидал откликами местную компанию по продаже бытовой техники, и они скинули<a>тестовое задание на Vue.js</a>. Я его сделал, меня позвали на собеседование. Ехал из пригорода, поэтому на дорогу ушло три часа. Приехал вовремя, но меня заставили полчаса ждать в фойе - сначала искали переговорку, а потом лида и разработчиков.</p>
55
Тестовое на Vue.js - каталог акций для магазина бытовой техники. Скриншот: Skillbox Media<p>Технических вопросов почти не было, зато обсудили моё тестовое - сказали, что title великоват, однако не спросили, смогу ли я это поправить. После задали глупый вопрос, могу ли работать с DOM, хотя тестовое я делал на Vue.js. Фидбэк получился коротким: "Мы ждали большего опыта". Я пришёл домой, за две секунды поправил title и сказал себе, что больше не стану искать варианты во Владивостоке.</p>
55
Тестовое на Vue.js - каталог акций для магазина бытовой техники. Скриншот: Skillbox Media<p>Технических вопросов почти не было, зато обсудили моё тестовое - сказали, что title великоват, однако не спросили, смогу ли я это поправить. После задали глупый вопрос, могу ли работать с DOM, хотя тестовое я делал на Vue.js. Фидбэк получился коротким: "Мы ждали большего опыта". Я пришёл домой, за две секунды поправил title и сказал себе, что больше не стану искать варианты во Владивостоке.</p>
56
<p>Пока я искал работу программистом, рассматривал и временные варианты не из IT. Удалось устроиться в агентство недвижимости на восемь месяцев на очень маленькую зарплату. Зато хватало времени верстать какие-то свои проекты и я урывками решал задачи из RS School. Но каждый день меня ждал вынос мозга, а по утрам понедельника хотелось плакать - иногда я так и делал.</p>
56
<p>Пока я искал работу программистом, рассматривал и временные варианты не из IT. Удалось устроиться в агентство недвижимости на восемь месяцев на очень маленькую зарплату. Зато хватало времени верстать какие-то свои проекты и я урывками решал задачи из RS School. Но каждый день меня ждал вынос мозга, а по утрам понедельника хотелось плакать - иногда я так и делал.</p>
57
<p>Когда начальница совсем задолбала и попыталась меня оскорбить, я рассмеялся ей в лицо, хлопнул дверью и больше в офис не возвращался.</p>
57
<p>Когда начальница совсем задолбала и попыталась меня оскорбить, я рассмеялся ей в лицо, хлопнул дверью и больше в офис не возвращался.</p>
58
<p>По одной из вакансий вроде оператора ПК меня позвали на собеседование. Я ехал до места с двумя пересадками, а вместо офиса там оказался цех с паяльниками и шуруповёртами. Меня встретил директор по производству и сказал, что здесь собирают электросчётчики. Я покивал, хотя ничего не знаю про счётчики. Оператором ПК там и не пахло.</p>
58
<p>По одной из вакансий вроде оператора ПК меня позвали на собеседование. Я ехал до места с двумя пересадками, а вместо офиса там оказался цех с паяльниками и шуруповёртами. Меня встретил директор по производству и сказал, что здесь собирают электросчётчики. Я покивал, хотя ничего не знаю про счётчики. Оператором ПК там и не пахло.</p>
59
<p>Зарплата устроила, оформляли официально - работа с 9 до 18, час на обед, перекуры. Я подписал бумаги и вышел уже на следующий день. Решил, что днём буду собирать счётчики на заводе, а дома буду учить React.</p>
59
<p>Зарплата устроила, оформляли официально - работа с 9 до 18, час на обед, перекуры. Я подписал бумаги и вышел уже на следующий день. Решил, что днём буду собирать счётчики на заводе, а дома буду учить React.</p>
60
<p>В первый же день мне дали задание - нарезать 3000 кусков проволоки по 3 сантиметра. Если вы когда-нибудь делали что-то подобное, наверняка поймёте меня. В конце дня я уходил с работы с ощущением, что меня жестоко избили. Но самое страшное ждало меня дома после двух пересадок на автобусе.</p>
60
<p>В первый же день мне дали задание - нарезать 3000 кусков проволоки по 3 сантиметра. Если вы когда-нибудь делали что-то подобное, наверняка поймёте меня. В конце дня я уходил с работы с ощущением, что меня жестоко избили. Но самое страшное ждало меня дома после двух пересадок на автобусе.</p>
61
<p>Я поел, включил лекцию по React и понял, что ничего не соображаю. Попробовал писать код, но вышло так себе. Понадеялся, что через день-два привыкну. На работе я научился паять, крутил пластиковые гайки - делал одно и то же по восемь часов подряд. Мозг и пальцы уже не справлялись.</p>
61
<p>Я поел, включил лекцию по React и понял, что ничего не соображаю. Попробовал писать код, но вышло так себе. Понадеялся, что через день-два привыкну. На работе я научился паять, крутил пластиковые гайки - делал одно и то же по восемь часов подряд. Мозг и пальцы уже не справлялись.</p>
62
<p>Хоть я и не таскал тяжести, зато прекрасно понял тех, кто пьёт пиво у подъезда, отключается перед телевизором и больше ничего не хочет. Из такой задницы трудно выбраться.</p>
62
<p>Хоть я и не таскал тяжести, зато прекрасно понял тех, кто пьёт пиво у подъезда, отключается перед телевизором и больше ничего не хочет. Из такой задницы трудно выбраться.</p>
63
<p>Я проработал на заводе неделю, когда мне в Telegram написал начальник местного маркетингового агентства. Он сказал, что ищет фронтендера. Я уже ни на что не надеялся, но договорился созвониться с ним после смены.</p>
63
<p>Я проработал на заводе неделю, когда мне в Telegram написал начальник местного маркетингового агентства. Он сказал, что ищет фронтендера. Я уже ни на что не надеялся, но договорился созвониться с ним после смены.</p>
64
<p>Лайфхак: оставляйте контакты прямо в теле резюме. Начальник порадовался, что ему не пришлось платить деньги HeadHunter, чтобы узнать мой номер телефона.</p>
64
<p>Лайфхак: оставляйте контакты прямо в теле резюме. Начальник порадовался, что ему не пришлось платить деньги HeadHunter, чтобы узнать мой номер телефона.</p>
65
<p>Оказалось, что я уже откликался на их вакансию, но тогда не подошёл. А теперь им снова понадобился программист на Vue.js. Я рассказал о своём опыте, и мне предложили оплачиваемое<a>тестовое задание</a> - сверстать лендинг для застройщика. Пообещал, что сделаю его за выходные.</p>
65
<p>Оказалось, что я уже откликался на их вакансию, но тогда не подошёл. А теперь им снова понадобился программист на Vue.js. Я рассказал о своём опыте, и мне предложили оплачиваемое<a>тестовое задание</a> - сверстать лендинг для застройщика. Пообещал, что сделаю его за выходные.</p>
66
Тестовый лендинг для застройщика, после которого меня взяли на работу в агентство. Скриншот: Skillbox Media<p>Целиком лендинг сверстать не успел, но показал промежуточный этап. Сказали, что всё в порядке, но хотят посмотреть адаптивную версию. Я её сделал, и мне пообещали дать фидбэк.</p>
66
Тестовый лендинг для застройщика, после которого меня взяли на работу в агентство. Скриншот: Skillbox Media<p>Целиком лендинг сверстать не успел, но показал промежуточный этап. Сказали, что всё в порядке, но хотят посмотреть адаптивную версию. Я её сделал, и мне пообещали дать фидбэк.</p>
67
<p>Через два дня мне позвонили и предложили работу. Что-то говорили о зарплате и компенсации курсов, но это было неважно, потому что я медленно сползал по стене на пол. Ответил, что уволюсь с завода и скажу, когда смогу выйти. Разговор закончился, а я лёг на пол и заплакал.</p>
67
<p>Через два дня мне позвонили и предложили работу. Что-то говорили о зарплате и компенсации курсов, но это было неважно, потому что я медленно сползал по стене на пол. Ответил, что уволюсь с завода и скажу, когда смогу выйти. Разговор закончился, а я лёг на пол и заплакал.</p>
68
<p>На заводе отрабатывать две недели не заставили, а просто дали расчёт и отпустили. Было стыдно, потому что я обещал, что устраиваюсь надолго. Но поступить иначе не мог.</p>
68
<p>На заводе отрабатывать две недели не заставили, а просто дали расчёт и отпустили. Было стыдно, потому что я обещал, что устраиваюсь надолго. Но поступить иначе не мог.</p>
69
<p>На следующий день пришёл в агентство - со всеми познакомился, мне показали офис, дали компьютер. Начальник сказал, что договор заключим позже, зарплата серая, но можно просить компенсацию в 50% от стоимости курсов.</p>
69
<p>На следующий день пришёл в агентство - со всеми познакомился, мне показали офис, дали компьютер. Начальник сказал, что договор заключим позже, зарплата серая, но можно просить компенсацию в 50% от стоимости курсов.</p>
70
<p>Я сразу залогинился в GitHub, установил Telegram и Visual Studio Code. Меня добавили в Trello, GitLab и "Битрикс24", завели почту и дали несколько небольших задач. Я скопировал проекты себе и начал в них разбираться. Меня ждали сюрпризы.</p>
70
<p>Я сразу залогинился в GitHub, установил Telegram и Visual Studio Code. Меня добавили в Trello, GitLab и "Битрикс24", завели почту и дали несколько небольших задач. Я скопировал проекты себе и начал в них разбираться. Меня ждали сюрпризы.</p>
71
<p>Как только вы куда-то устроились, сразу напишите об этом на HeadHunter, в LinkedIn, "Хабр Карьере", Djinni и везде, где можно указать место работы. С этого момента вы в IT и вам капает опыт.</p>
71
<p>Как только вы куда-то устроились, сразу напишите об этом на HeadHunter, в LinkedIn, "Хабр Карьере", Djinni и везде, где можно указать место работы. С этого момента вы в IT и вам капает опыт.</p>
72
<p>Проектов было несколько - сайт агентства на Nuxt.js (тогда я впервые услышал об этом фреймворке), интернет-магазин булочной и сайт застройщика с расчётом смет, вакансиями и калькуляторами.</p>
72
<p>Проектов было несколько - сайт агентства на Nuxt.js (тогда я впервые услышал об этом фреймворке), интернет-магазин булочной и сайт застройщика с расчётом смет, вакансиями и калькуляторами.</p>
73
<p>Иногда я спрашивал фронтендера, как работает тот или иной кусок кода, но он чаще всего отвечал: "Хрен его знает". Сюрприз был в том, что единственный фронтендер в агентстве увольнялся через пять дней и я оставался на проектах один.</p>
73
<p>Иногда я спрашивал фронтендера, как работает тот или иной кусок кода, но он чаще всего отвечал: "Хрен его знает". Сюрприз был в том, что единственный фронтендер в агентстве увольнялся через пять дней и я оставался на проектах один.</p>
74
<p>Приходили и рекламные лендинги, которые агентство заказывало на аутсорсе. Я заливал их на хостинг, иногда немного правил. В первые три дня я возненавидел Pug - он там был везде, как кинза в кавказских блюдах.</p>
74
<p>Приходили и рекламные лендинги, которые агентство заказывало на аутсорсе. Я заливал их на хостинг, иногда немного правил. В первые три дня я возненавидел Pug - он там был везде, как кинза в кавказских блюдах.</p>
75
<p>Самым сложным оказался сайт застройщика - код был просто адский. Никакого Vue CLI и Vuex, а Vue.js использовался как jQuery. Так я узнал о существовании Event Bus.</p>
75
<p>Самым сложным оказался сайт застройщика - код был просто адский. Никакого Vue CLI и Vuex, а Vue.js использовался как jQuery. Так я узнал о существовании Event Bus.</p>
76
<p>С большинством задач я не справлялся. В панике написал Наташе, администратору чата для джунов-фронтендеров. Она сказала, что так быть не должно.</p>
76
<p>С большинством задач я не справлялся. В панике написал Наташе, администратору чата для джунов-фронтендеров. Она сказала, что так быть не должно.</p>
77
<p>Работа не была похожа на сказку. Я правил вёрстку по замечаниям из Trello - большинство комментариев получал в стиле: "Отступ меньше!" Когда я уточнял, насколько меньше, в ответ присылали скриншот с подписью: "Как здесь".</p>
77
<p>Работа не была похожа на сказку. Я правил вёрстку по замечаниям из Trello - большинство комментариев получал в стиле: "Отступ меньше!" Когда я уточнял, насколько меньше, в ответ присылали скриншот с подписью: "Как здесь".</p>
78
<p>Я остался на проекте один с пыхтящим менеджером, но пока ничего другого не оставалось. При всех минусах агентство было лучше завода.</p>
78
<p>Я остался на проекте один с пыхтящим менеджером, но пока ничего другого не оставалось. При всех минусах агентство было лучше завода.</p>
79
<p>Позже мне снова написали в Telegram - компания из Кисловодска нашла мой аккаунт на GitHub, где сказано, что меня не пугают сдвиг часового пояса и удалёнка, у меня нет игровой приставки, а на ноутбуке стоит Linux.</p>
79
<p>Позже мне снова написали в Telegram - компания из Кисловодска нашла мой аккаунт на GitHub, где сказано, что меня не пугают сдвиг часового пояса и удалёнка, у меня нет игровой приставки, а на ноутбуке стоит Linux.</p>
80
<p>Человек спросил, сколько лет я работаю с Vue.js (нисколько), знаю ли Vuex (нет). Я скинул ему тестовое, которое делал для магазина техники, и меня взяли. На всё ушёл один телефонный звонок.</p>
80
<p>Человек спросил, сколько лет я работаю с Vue.js (нисколько), знаю ли Vuex (нет). Я скинул ему тестовое, которое делал для магазина техники, и меня взяли. На всё ушёл один телефонный звонок.</p>
81
<p>Я сказал, что сперва должен уволиться из агентства, и он предложил первое время совмещать обе работы. В тот же вечер мне дали доступы и сказали изучать документацию.</p>
81
<p>Я сказал, что сперва должен уволиться из агентства, и он предложил первое время совмещать обе работы. В тот же вечер мне дали доступы и сказали изучать документацию.</p>
82
<p>В агентстве я пообщался с начальником и сказал, что мне не нравится команда и процессы и я точно ухожу. В ответ услышал, что это "плевок в лицо" и я обязан отработать две недели, хотя договор мы ещё не подписывали. Я боялся, что не получу зарплату, и потому согласился.</p>
82
<p>В агентстве я пообщался с начальником и сказал, что мне не нравится команда и процессы и я точно ухожу. В ответ услышал, что это "плевок в лицо" и я обязан отработать две недели, хотя договор мы ещё не подписывали. Я боялся, что не получу зарплату, и потому согласился.</p>
83
<p>Дальше я работал в агентстве до 19:00, час добирался домой, а потом до 2:00 делал задачи для новой компании. Спать по четыре часа было трудно, так что я постоянно пилил начальника, чтобы он быстрее искал замену. В итоге меня отпустили на неделю раньше и даже выдали всю зарплату.</p>
83
<p>Дальше я работал в агентстве до 19:00, час добирался домой, а потом до 2:00 делал задачи для новой компании. Спать по четыре часа было трудно, так что я постоянно пилил начальника, чтобы он быстрее искал замену. В итоге меня отпустили на неделю раньше и даже выдали всю зарплату.</p>
84
<p>На новой работе тоже были странности - например, перед выходными старший фронтендер сказал разбираться с Vuex и BootstrapVue, а в понедельник уже уволился. Целую неделю я учил документацию, на дейли писал, что жду задач. В итоге пришёл новый человек и меня отдали ему.</p>
84
<p>На новой работе тоже были странности - например, перед выходными старший фронтендер сказал разбираться с Vuex и BootstrapVue, а в понедельник уже уволился. Целую неделю я учил документацию, на дейли писал, что жду задач. В итоге пришёл новый человек и меня отдали ему.</p>
85
<p>В личке общаться запретили - если у меня были вопросы к тимлиду, задавать их можно было только в общем чате. Ощущение, что стоишь без штанов на площади. В итоге выяснилось, что я должен работать над CRM. Выдали задачу: верстать один из разделов и разбить базовую структуру на компоненты. Последним как раз занимаюсь до сих пор.</p>
85
<p>В личке общаться запретили - если у меня были вопросы к тимлиду, задавать их можно было только в общем чате. Ощущение, что стоишь без штанов на площади. В итоге выяснилось, что я должен работать над CRM. Выдали задачу: верстать один из разделов и разбить базовую структуру на компоненты. Последним как раз занимаюсь до сих пор.</p>
86
<p>Когда я уволился из агентства и ушёл на вторую работу, то перестал общаться с людьми, а из дома выходил только в магазин. И меня это устраивало. Общих интересов с женой почти не осталось, поэтому мы поговорили по душам и решили развестись. Хотя было непросто, мы всё решили миром.</p>
86
<p>Когда я уволился из агентства и ушёл на вторую работу, то перестал общаться с людьми, а из дома выходил только в магазин. И меня это устраивало. Общих интересов с женой почти не осталось, поэтому мы поговорили по душам и решили развестись. Хотя было непросто, мы всё решили миром.</p>
87
<p>В новой компании я работаю удалённо, как и вся команда, поэтому после развода меня уже ничто не держало во Владивостоке. Я прилетел в Калининград 14 августа с тем же чемоданом, с которым улетал десять лет назад.</p>
87
<p>В новой компании я работаю удалённо, как и вся команда, поэтому после развода меня уже ничто не держало во Владивостоке. Я прилетел в Калининград 14 августа с тем же чемоданом, с которым улетал десять лет назад.</p>
88
<p>Сейчас в работе тоже есть моменты, которые меня не очень устраивают, - хочется более интересных условий и развития в профессии. Поэтому, скорее всего, буду потихоньку присматривать другие варианты. А скоро пройду новый курс по JavaScript, окончу курс по Vue.js, попробую разобраться в TypeScript. Параллельно буду делать задачи с Codewars или LeetCode. А потом, может, и вовсе уйду в бэкенд.</p>
88
<p>Сейчас в работе тоже есть моменты, которые меня не очень устраивают, - хочется более интересных условий и развития в профессии. Поэтому, скорее всего, буду потихоньку присматривать другие варианты. А скоро пройду новый курс по JavaScript, окончу курс по Vue.js, попробую разобраться в TypeScript. Параллельно буду делать задачи с Codewars или LeetCode. А потом, может, и вовсе уйду в бэкенд.</p>
89
<p>В конце рассказа я хочу поделиться полезными ссылками, которые в своё время помогли мне:</p>
89
<p>В конце рассказа я хочу поделиться полезными ссылками, которые в своё время помогли мне:</p>
90
<ul><li><a>HTML Academy</a> - русскоязычные тренажёры по HTML, CSS, JavaScript и PHP.</li>
90
<ul><li><a>HTML Academy</a> - русскоязычные тренажёры по HTML, CSS, JavaScript и PHP.</li>
91
<li><a>freeCodeCamp</a> - полностью бесплатные курсы на английском.</li>
91
<li><a>freeCodeCamp</a> - полностью бесплатные курсы на английском.</li>
92
<li><a>Glo Academy</a> - YouTube-канал с уроками по Bootstrap, jQuery и WordPress.</li>
92
<li><a>Glo Academy</a> - YouTube-канал с уроками по Bootstrap, jQuery и WordPress.</li>
93
<li>"<a>Фрилансер по жизни</a>" - канал о том, как начать карьеру в IT.</li>
93
<li>"<a>Фрилансер по жизни</a>" - канал о том, как начать карьеру в IT.</li>
94
<li><a>Чат джуниоров и мидлов</a> - место, где общаются начинающие и опытные фронтендеры. Ещё у них есть<a>записи лекций</a>.</li>
94
<li><a>Чат джуниоров и мидлов</a> - место, где общаются начинающие и опытные фронтендеры. Ещё у них есть<a>записи лекций</a>.</li>
95
<li>Александр Белькевич - Instagram-профиль** фронтендера Саши, где он делится опытом.</li>
95
<li>Александр Белькевич - Instagram-профиль** фронтендера Саши, где он делится опытом.</li>
96
<li><a>Hexlet.io</a> - здесь много бесплатных материалов.</li>
96
<li><a>Hexlet.io</a> - здесь много бесплатных материалов.</li>
97
<li><a>RS School</a> - бесплатные курсы по фронтенду, машинному обучению, iOS- и Android-разработке.</li>
97
<li><a>RS School</a> - бесплатные курсы по фронтенду, машинному обучению, iOS- и Android-разработке.</li>
98
<li><a>JavaScript</a>,<a>React</a>и <a>Vue.js</a> - три курса от Максимилиана Шварцмюллера и <a>курс на Udemy по JS</a>.</li>
98
<li><a>JavaScript</a>,<a>React</a>и <a>Vue.js</a> - три курса от Максимилиана Шварцмюллера и <a>курс на Udemy по JS</a>.</li>
99
</ul><p>Если вам нужна помощь или поддержка,<a>пишите мне</a>. Я и сам в начале пути, поэтому понимаю, насколько важно, чтобы в тебя верили и давали понять, что ты не хуже других. Всё получится, главное - не сдаваться и не слушать тех, кто тянет вниз.</p>
99
</ul><p>Если вам нужна помощь или поддержка,<a>пишите мне</a>. Я и сам в начале пути, поэтому понимаю, насколько важно, чтобы в тебя верили и давали понять, что ты не хуже других. Всё получится, главное - не сдаваться и не слушать тех, кто тянет вниз.</p>
100
<p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности".</p>
100
<p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности".</p>
101
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
101
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>