Перейти к содержимому

Javascript минин кто учился отзывы

  • автор:

Моя история в ИТ: из пищевика в JS-программисты

Привет! Меня зовут Богдан Амяга, мне 27 лет. В 2020 году погрузился в веб-разработку, а до этого трудился инженером в пищевой промышленности. Но мне это наскучило, да и личную жизнь было сложно строить из-за частых внеплановых командировок. И я вернулся в тому, что нравилось в школе — к программированию. Заново открыл для себя JavaScript, прошел несколько курсов и обучение в буткемпе Elbrus. Вот уже целый месяц я работаю фронтенд-разработчиком, в ближайший год планирую нарастить опыт в коммерческой разработке и стать уверенным мидлом.

Жизнь «до»‎

Я учился в СПбГТЭУ по специальности «‎Технология продукции и организация общественного питания». После учебы служил в армии, и в 2018 году начал работать региональным технологом в организации, которая снабжала и контролировала питание военных. В мои обязанности входило ездить по всей России и проверять соблюдение режимов, раздачу питания и прочие технологические процессы.

Поначалу работа мне нравилась: она позволяла путешествовать. За два года я успел побывать в Ростове, Ставрополе, Вольске, Тюмени, Кемерово, Туле и многих других городах. С коллективом и руководством проблем не было — работать было комфортно.

Тем не менее в начале 2020 года я стал задумываться о смене профессии. Надоел разъездной характер работы, который не давал планировать личные дела. Помню, как-то вернулся в Петербург из командировки в Ростов, был уверен, что ближайшие 2-3 недели поездок не предвидится — и купил билеты на концерт вместе с девушкой и друзьями. Но утром меня вызвали, и на следующий день я уже был в Челябинске. Получалось, что мои планы никак не учитывались, это сильно напрягало.

Почему разработка

Укрепившись в намерении сменить карьеру, я задумался, а что же мне больше всего нравится. Осознал, что разработка: вспомнил, что еще в школе, в 10-11 классе увлекался информатикой. Помню, как сверстал простейшую страницу, и это было прекрасно — будто композитор воспроизвел неизвестную мелодию, которая весь день звучала у тебя в голове.

Поскольку мой брат погружен в ИТ, он помог сориентироваться с выбором направления: я рассматривал дизайн, тестирование, веб-разработку. В итоге предпочел веб-разработку — больше всего нравилось что-то придумывать, а потом реализовывать в код. Методом проб и ошибок выбрал именно JavaScript — до этого я осваивал Python, он не так впечатлил.

Где и как учился

Я пользовался образовательной платформой Udemy. Сначала это был популярный курс Юрия Аллахвердова «‎Full Stack: веб-разработка с нуля до профессионала». Там были PHP, JavaScript, HTML, CSS и немного Python — я освоил азы, логику, синтаксис. Также проходил курс по верстке в HTML Academy — у них довольно интересный и интерактивный формат. Еще присматривался к обучающим видеороликам Владилена Минина и Алекса Лущенко. Пытался освоить и другие общедоступные онлайн-курсы — платные занятия долго не решался брать. Но как такового опыта не получал — просто повторял за кураторами, при этом не понимал, что делаю, поскольку не было обратной связи.

Работал обычно так: на одном окне браузера открывал видеокурс, а на другом — текстовый редактор, где и пытался воспроизвести код. Постоянно совершал ошибки, раз за разом пересматривал видео. Приходилось часто останавливаться, гуглить и определять логику. Но все же через пару месяца заметил, что моя скорость выросла — я начал писать наравне с куратором и даже думал наперед.

После этого я обратился к платным и зарубежным курсам.

В результате составил свою подборку материалов, которые будут полезны начинающим программистам:

Бесплатные

  1. Mosh. На этом сайте большое количество полезных роликов по JS. Особенно интересный — JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour. Он на английском, но простой и доходчивый;
  2. HTML Academy. Здесь мне понравились интерактивные курсы по HTML и CSS. Материал подается интересно, правда, без углублений — там было ни препроцессоров, ни работы со спрайтами, ни адаптивной верстки типа grid или flex;
  3. Алекс Лущенко. Это популярный YouTube-канал с множеством коротких роликов o WebDev с нуля. Очень нравится формат, все подробно и доступно объясняется. Разве что не хватает мастер-классов, где в режиме стрима показывалась бы разработка на практике;
  4. Traversy Media. На этом портале можно найти разнообразные обучающие материалы с практическим уклоном. Сложность в том, что объяснение идет довольно быстро — новичкам сложно поспеть за мыслью автора;
  5. Владилен Минин. На этом канале советую особенно внимание обратить на ролик «Полный курс 2020 JavaScript за 6 часов» — он может быть полноценным курсом по изучению и освещению всех аспектов JS. Мне кажется, что каждый фронтенд-разработчик начинал именно с этого видео.

Платные

  1. YouRa Allakhverdov. Веб разработка — с нуля до профессионала. Full Stack. Я приобрел этот курс, так как изначально думал, что изучение full-stack — наилучший вариант, потому что затрагивает и back и front. Этот курс подходит новичкам, освещает неплохой стек технологий, но если у вас есть хоть какое-то понимание JS и PHP, он покажется довольно простым;
  2. Denys Mescheryakov. EasyCode — Современный JavaScript + Vue с нуля на реальных проектах. На мой взгляд, это лучший и при этом недооцененный курс в СНГ. Рекомендую всем — там дается много вопросов и тестов для самоконтроля, освещаются абсолютно все темы по JS, рассказывается о разработке интересных практических приложений. Бонусом идет курс по Vue. Тем более на Udemy постоянные акции, и даже такой полноценный курс можно купить примерно за 1 000 вместо 10 000 рублей;
  3. Filip Jerga. Electron & React JS: Build a Native Chat App with Javascript. Этот курс я купил уже во время обучения в буткемпе. Сильный материал с интересной подачей, а главное — показано, как создавать хорошее приложение для портфолио.

Выбор буткемпа

Со временем стал искать другие форматы — хотелось чувствовать отдачу и взаимодействие. Брат предложил присмотреться к офлайн-занятиям в группах. Я рассматривал занятия от Geekbrains, но там в офлайне было только первое занятие, а остальные проводились в сети.

Потом наткнулся на Elbrus Bootcamp — школу программирования, в которой айтишников готовят по «солдатской» усиленной методике. Увидел много положительных отзывов, да и условия мне сразу понравились. Организаторы написали в соцсети о дне открытых дверей в Питере, и я решился пойти.

Правда, поначалу казалось, что трех месяцев обучения будет недостаточно. Но сейчас понимаю, что при грамотном подборе программы и преподавателей этого хватает для изучения азов и поиска работы.

Насколько было трудно

Учиться в буткемпе сложно. Я проходил интенсивные курсы: три недели мы изучали азы JS, следующий месяц — бэкенд, а потом — фронтенд. Нулевая фаза не в счет — она связана с простейшей версткой и логикой. А вот первые три дня первой фазы были переломными: с 9 до 12 часов шла теория, а остальное время мы программировали и разбирали задачи. Фишка в том, что ты учишься по принципу «здесь и сейчас» — знания сразу применяешь в реальном задании. Это непросто — если не успел или недопонял, никто ждать не будет.

Поначалу я даже думал, что такой мощный формат не для меня, но старался привыкнуть к темпу. В этом мне очень помогали сокурсники. Со временем все встало на свои места, а после двух-трех недель я и вовсе втянулся.

Советую тем, кто намерен пройти этот курс, высыпаться как следует. А еще постарайтесь открываться людям и общаться, даже если вы интроверты — soft skills очень важны, и в команде обучение проходит интереснее, веселее и продуктивнее.

Что дала учеба

Мне очень запомнились пятничные проекты, когда собиралась вся группа — в течение всего дня мы трудились над общей задачей, обменивались опытом. Командная работа вообще один из основных навыков, которые приобретаешь в буткемпе. Однажды у нас было парное программирование: я готовил один компонент, а коллега — другой. При том, что у нас все было идентично, у нее код работал, а у меня — нет. Вместе с преподавателем мы проверяли каждую строку, каждый символ. В какой-то момент даже захотелось все бросить. Дело было в одном маленьком символе, из-за которого решение не «оживало». Вместе мы решили проблему. И так во всем процессе обучения: когда у кого-то что-то получается, он не перейдет к следующей задаче, пока не поможет остальным.

Атмосфера в Elbrus Bootcamp заслуживает отдельного внимания. Учеба выстроена так, что коллектив за время обучения становится настоящей семьей, где каждого поддержат. Когда мы сидели в баре после выпуска, то признались друг другу, что стоимость курса — это даже не четверть и не одна десятая того, что мы приобрели. Когда ты не просто получаешь знания и возможности, а еще и находишь единомышленников — это многого стоит.

Выпускники моего потока продолжают поддерживать общение — мы собираемся по пятницам, созваниваемся, переписываемся в общих чатах. Играем в Among Us, «Это ты!», Knowledge is Power (Фира, тебе отдельный привет!).

Чем занимаюсь сейчас и что планирую

После буткемпа я устроился фронтенд-разработчиком в SOKOLOV, интернет-магазин ювелирных изделий. До них прошел около пяти технических собеседований — поэтому на интервью знал, что говорить, и чувствовал себя уверенно, несмотря на то, что было несколько этапов, вопросы по верстке и задачи по JS.

Чтобы твердо стоять на ногах на встрече с потенциальным работодателем, нужно определиться с собственными приоритетами. Для меня важна команда, с которой комфортно работать, а также интересный проект, в котором можно было использовать новые подходы и технологии.

Сейчас я занимаюсь клиентской частью стора, разработкой frontend-части сайта sokolov.ru и смежных сервисов. В мои обязанности также входят развитие функционала сайта и участие в планировании проектов и работой над B2B проектами компании внутри команд. Планирую набраться опыта и вырасти до middle-уровня в ближайшее время.

В теперь уже моей профессии веб-разработчика мне больше всего нравится творческий, визуальный подход и возможность сразу видеть результат своей работы. У меня есть мечта — сделать серьезное, сильное приложение, которое будет приносить людям пользу.

Помните, что никогда не поздно начать. И не бойтесь рисковать — живите по принципу «why not». А тем, кто уже учится, советую набивать руку и не сдаваться — тогда все станет легко и просто, и начнете получать удовольствие от работы.

Продвинутый JavaScript. Создаем Excel

Но учили его самостоятельно или недостаточно углубились в тему. Хотите закрепить знания и научиться более сложным темам, чтобы повысить уровень до middle.

Работаете на позиции Junior Frontend-разработчика

И сталкиваетесь со сложностями в текущих проектах. Вам не хватает более предметных знаний. Вы уже готовы брать на себя полную ответственность за задачи и хотите начать путь к уровню middle.

Хотите пополнить портфолио

У вас есть теоретические знания, но до сих пор нет портфолио и готовых проектов. А если вы еще не изучали JavaScript, то сделайте это на первой ступени курса «Профессия Джуниор Frontend-разработчик». Изучить программу курса для начинающих

Мы учим не первый год

План обучения построен так, что вы поэтапно
пройдете полный цикл создания любого приложения.

Так вы сможете научиться выстраивать процесс разработки и самостоятельно напишете приложение по принципу Excel от нуля до последних функций.

Шаг за шагом вы будете изучать методики и способы решения задач, а вместе с тем — перенимать эффективный и системный образ мышления разработчика.

В итоге вы научитесь с нуля создавать проекты и выйдете на новый уровень.

Ваши результаты

ваш код до курса

Вы увидите свой прогресс

Сейчас: вы еще не умеете автоматизировать процессы и не знаете, как выйти за рамки стандартных функций. Когда хотите усложнить приложение, сталкиваетесь с ошибками.

ваш код после курса

Курс «Продвинутый JavaScript» приведёт вас к новому уровню Frontend-разработки

После курса: повысите уровень своего кода. Узнаете новые шаблоны и паттерны написания кода, которые внедрите в свою работу.

Больше умеете, лучше работаете

Сложнее проекты, больше предложений

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

vacancy

Список вакансий, на которые вы сможете претендовать, если выполните все задания и усвоите курс «Продвинутый JavaScript»

Чему именно вы научитесь на курсе «Продвинутый JavaScript»

# Системность # Автоматизация

  • Тестирование с Jest Научимся писать юнит тесты, чтобы увеличить надежность приложения
  • Анализ кода с ESLint Научимся настраивать ESLint для того, чтобы код был всегда в чистоте
  • Транспиляция с Babel Настроим Babel для того, чтобы использовать новейшие возможности языка JavaScript, не ожидая их полной поддержки в браузерах
  • Настройка Webpack Создадим Webpack-конфигурацию с двумя режимами сборки, подключим к ней ESLint, Babel, Sass и другие технологии

# Структура # Архитектура

  • Data Layer Научитесь работать со слоем данных в приложении. Поймете, что нужно там хранить и как им управлять
  • State Managers Поймете, как работать с инструментами для управления состоянием приложения, создадим свой Redux
  • ООП на JavaScript Узнаете, как строить приложения, опираясь на парадигму ООП
  • Шаблоны проектирования На практике внедрите паттерны проектирования такие как Observer, Facade

# Оптимизация # Эффективность

  • Работа с Git Будете создавать и объединять ветки, делать Pull Request, работать с репозиторием на GitHub и в целом работать с системой контроля версий
  • Продвинутый JS Поработаете с интересными аспектами JavaScript, такими как классы, замыкания, стрелочные функции, контекст и др.
  • Вёрстка на SASS Попрактикуетесь в верстке приложения с использованием препроцессора Sass
  • И многое другое С подробной программой курса можете ознакомиться ниже

Для обучения вам нужен средний уровень JavaScript

Вы умеете верстать лендинги (HTML и CSS), понимаете, что такое «промисы» и как работают объекты, знаете основы асинхронности, свободно работаете с функциями и классами

HTML>

charset="utf-8">

CODE

Код программы

const checkParent = (src, dest) =>  

while (src != null)

if (src.tagName == dest) return src

src = src.parentElement

>

return null

>

Если вы понимаете этот код, то справитесь с обучением и прокачаете свой навык до уровня middle.

Если нет — изучите JavaScript с нуля на курсе «Профессия Джуниор Frontend-разработчик»

Что включено в курс

175 уроков в HD

от 3 до 15 минут

23 задачи на практике

Доступ навсегда

Служба заботы

Онлайн-доступ

Программа обучения

Модуль 1 - Настройка среды

Настроите рабочее окружение для проекта на Webpack. Готовая сборка с использованием Babel, Sass, ESlint и др.

1. Что и как будем делать

2. Настройка Git

3. Базовая настройка Webpack

4. Добавление плагинов

5. Добавление лоадеров

6. Режимы сборки

7. Настройка DevServer

8. Настройка ESlint

Модуль 2 - Верстка

Поймете принципы правильного создания макета приложения, а также принципы верстки и препроцессоров

1. Планирование верстки

2. Создание структуры

3. Стили для Header

4. Стили для Toolbar

5. Стили для Formula

6. Верстка таблицы

7. Верстка главной страницы

Модуль 3 - Создание фреймворка

Создадите свой фреймворк и поймете принцип работы существующих инструментов. После этого блока ООП перестанет быть магией

1. Планирование структуры ООП

2. Создание структуры класса

3. Вывод шаблонов компонента

4. Формирование верстки

5. Класс для работы с DOM

6. Подготовка структуры для событий

7. Добавление прослушки событий

8. Удаление слушателей

9. Создание таблицы. Заголовки

10. Создание таблицы. Ячейки

Модуль 4 - Ресайз таблицы

Узнаете, как оптимизировать приложение, бороться с утечками памяти и реализовать логику по изменению размеров элемента без библиотек. Сможете решать большое количество UI задач

1. Про алгоритм действия и события

2. Создаем элемент для ресайза

3. Определяем элементы для ресайза

4. Изменяем размер колонок

5. Проблема с производительностью

6. Оптимизация + Performance

8. Утилита для работы со стилями

9. Существенная оптимизация

Модуль 5 - Логика Excel

Будете работать с ООП, различными паттернами проектирования (например с Observer и Facade). Напишете логику для асинхронного взаимодействия между компонентами. Поработаете с событиями и оптимизацией.

1. Как делать выделение

2. Выделение ячейки

3. Выбор другой ячейки

4. Выбор группы элементов

5. Навигация кнопками

6. Как работает Observer Pattern

7. Реализация Observer

8. Взаимодействие между компонентами

9. Улучшение фреймворка

10. Создание интерактива

Модуль 6 - Состояние приложения

Узнаете, что такое Redux, Vuex, Mobx, зачем они нужны, и как они работают. Напишете свой Redux

1. Что такое состояние и зачем оно нужно

2. Создание Store

3. Связывание Store и UI

4. Создание состояния колонок

5. Сохранение состояния

6. Рендер состояния

7. Размер строчек

8. Сохранение состояния ячеек

9. Оптимизация логики подписок

10. Создание Toolbar

11. Компонент с состоянием

12. Определение стилей ячейки

13. Изменение стилей через store

14. Сохранение стилей

15. Изменение названия таблицы

16. Оптимизация с Debounce

17. Парсинг ячеек

Модуль 7 - Роутинг и новые страницы

Дополните свой фреймворк функционалом, позволяющим добавлять новые динамические страницы. SPA (Single Page Application) перестанет быть проблемой

1. Что будем делать

2. Создание роутера

3. Рефакторинг со страницами

4. Смена страниц

5. Создание главной страницы

6. Создание разных моделей страниц

7. Оживление кнопки навигации

8. Добавление даты открытия

9. Ещё про окружение

Модуль 8 - Тестирование

Настроите окружение, чтобы писать юнит тесты с использованием Jest. Будете уметь автоматически тестировать свой код. Увидите, как применять принципы SOLID, и как они помогают писать расширяемый и профессиональный код

1. Настройка окружения

2. Тестирование Store

3. Тестирование роутера

5. Применение SOLID

Получить доступ к курсу

Продвинутый JavaScript

  • Набор технологий, который не знает junior-разработчик
  • Полноценное приложение с нуля до последних функций
  • Сильный проект в ваше портфолио
  • 4 бонуса, которые помогут в поиске работы

На курсе вы создадите приложение Excel без фреймворков. При этом улучшите навыки JS и поймете устройство фреймворков.

Простыми словами — научитесь выполнять проекты уровня middle, уменьшив количество строчек кода.

Доступ к курсу открывается сразу после оплаты

Вернем деньги, если вам не понравится курс в первые 3 дня

Автор обучения

Владилен Минин

Senior Frontend Developer

  • Более 8 лет опыта
  • Тимлид для команд разработки более 10 человек
  • Более 6 лет обучает JavaScript
  • Опыт коммерческой разработки более 7 лет
  • 40 000 тысяч студентов онлайн
  • Автор YouTube канала более чем с 281 000 подписчиками

Часто задаваемые вопросы

Какие еще есть варианты оплаты?

Мы готовы предложить вам рассрочку. Все обязательства по выплате процентов мы берем на себя, для вас стоимость курса не поменяется. Более того, знания, полученные на курсе, возможно, помогут вам устроиться на высокооплачиваемую работу и закрыть рассрочку еще до конца обучения.

Есть ли рассрочка?

Да, есть рассрочка на 6 месяцев. Подробнее по условиям можно уточнить в отделе заботы, оставив заявку.

Получу ли я сертификат после обучения?

Каждый студент получает сертификат от Result о прохождении курса, при условии, что выполнены все задания и итоговая работа. Любое задание считается выполненным, если его приняли.

Заключается ли договор?

Безусловно. Мы работаем честно, открыто и официально. На сайте можно найти ИНН и ОГРНИП, вы можете проверить информацию на официальном сайте ФНС, а при оформлении в рассрочку, есть договор с банком. Мы дорожим своей репутацией. Наши соцсети всегда можно найти тут: VK Result School YouTube Result School YouTube Владилена Минина

Где лучше работать: на фрилансе или в найме?

Обычно проще получить оффер в компании. Рынок фриланса сильно перегрет предложениями, но и там можно реализовать себя. Самое главное — иметь багаж нужных знаний.

Что надо знать для старта курса?

Базовый стек junior frontend-разработчика: HTML&CSS и JavaScript. Эти знания помогут вам быстро влиться в учебный процесс и усвоить всю необходимую информацию.

Сколько времени нужно уделять учебе?

Разным людям необходимо разное количество времени. Диапазон времени, который уходит на обучение у наших студентов — от 1,5 часов в день до 5. Так как студенты приходят с разной базой. Кто-то имеет представление об основах веб-разработки и уже что-то знает из JavaScript. Другая часть — уже практикующие junior-разработчики. Вы можете учиться сколько потребуется, доступ к курсу неограничен.

Остались вопросы?

Мы считаем, что практическое образование — ключ к результативному обучению. Данный курс также наследует этот принцип.

Вы можете получить бесплатную консультацию: отдел заботы ответит на любые вопросы.
Получить консультацию

Почему мы этим занимаемся

Доказываем, что попасть в IT реально.

В основе курса — актуальные данные. Обучаем на практике и без воды.

Даем реальные задачи, над которыми работают
в IT-компаниях прямо сейчас.

Помогаем найти работу, сделать качество жизни лучше и начать карьеру в разработке.

Информация

Направления

Подпишитесь

  • ИП Минин В. И.;
  • ИНН 781714316555;
  • ОГРНИП 317784700113455

Любое использование материалов с данного сайта допускается не иначе как с письменного разрешения его правообладателя — 781714316555 ИНН/ОГРНИП номер от 317784700113455. Использование материала с сайта и нарушение авторских и смежных прав правообладателя наказывается в соответствии со ст. 146 УК РФ. Вся информация, предоставленная на сайте, ни при каких условиях не является публичной офертой, определяемой положениями ст. 437 (2) ГК РФ.

Мы используем cookie. Продолжая использовать сайт, Вы даете свое согласие на использование cookie для хранения данных. Подробнее.

Как стать фронтенд-разработчиком? Пошаговый гид в мир фронтенда

Приветствую всех! Меня зовут Пучнина Анастасия, я ведущий разработчик в компании ДомКлик, занимаюсь фронтендом Витрины объявлений. Сегодня я хотела бы поделиться с вами своим мнением на тему того, что важно знать фронтенд-разработчику. Эта статья будет полезна тем, кто только начинает свой путь в разработке, или имеет опыт программирования в другой области и решил перейти на сторону фронтенда.

Содержание:

  1. Кто такой фронтендер и чем он занимается?
  2. С чего начать и что читать? Чек-лист обучения
  3. Какие трудности могут быть? Ошибки в начале пути
  4. Подготовка к собеседованию на Junior-разработчика

Кто такой фронтендер и чем он занимается?

Допустим, вы хотите арендовать квартиру: у вас есть компьютер с выходом в Интернет, вы знаете адрес другого, более мощного компьютера, который хранит огромное множество объявлений. Если представить, что привычных сайтов не существует и вы не можете, например, посмотреть объявления на карте, отфильтровать ненужные, заполнив удобную форму, вам придётся самим составлять сетевой запрос и разбираться в том, как и куда отправлять данные.

К счастью, инженеры придумали браузеры, а веб-технологии развиваются, и вам достаточно лишь воспользоваться удобным интерфейсом, который предоставляют разработчики разных компаний. Осталось сделать пару кликов, и нужная информация найдена.

Фронтенд-разработчиками называют программистов, которые отвечают за создание такой внешней стороны (англ. front end) веб-сайтов. Это клиентская часть сайта, с которой пользователь непосредственно взаимодействует на своем компьютере или телефоне (клиенте).

Многим известно, что сайты включают в себя разметку и стили, которые необходимы, чтобы обеспечить понятную структуру страницы и дизайн, однако фронтенд-разработка этим не ограничивается. Большинство сайтов, которыми мы постоянно пользуемся, это полноценные веб-приложения: почта, онлайн-банк, онлайн-кинотеатры, редакторы фото, заметки. Чтобы такие приложения работали, фронтенд-разработчики добавляют программный код, который выполняется в браузере, реализует нужную функциональность и, при необходимости, взаимодействует с сервером, динамически получая нужную информацию.

  • создает пользовательский интерфейс, добавляет разметку и стили страниц сайта;
  • программирует логику, которая выполняется на клиентском устройстве, разрабатывает архитектуру клиентского приложения;
  • оптимизирует производительность фронтенда, чтобы проект быстро загружался, поисковики поднимали сайт в рейтинге выдачи, а пользователи не чувствовали задержки при навигации и взаимодействии с интерфейсом;
  • тестирует разработанную функциональность и пишет автоматические тесты, чтобы обеспечить высокое качество и не допустить ошибок при изменении кода;
  • настраивает сборку проекта, что позволяет автоматизировать дополнительную обработку кода и файлов перед запуском приложения;
  • выполняет развёртывание приложения: выкладывает на сервер, чтобы приложение было доступно в сети и пользователи могли им воспользоваться;
  • следит за возникающими ошибками с помощью средств для мониторинга и вовремя их устраняет 🙂
  • Разрабатывают клиентскую часть веб-приложения для бизнеса (то, что видят конечные пользователи, когда пользуются различными онлайн-услугами).
  • Разрабатывают библиотеку компонентов интерфейса: отдельные блоки, которые другие разработчики используют в своих проектах (например, кнопки, всплывающие окна, поля форм или элементы для графиков). Это могут быть библиотеки с открытым исходным кодом, которые подключают разработчики по всему миру, или внутренняя библиотека компонентов компании с определенным дизайном.
  • Создают технические инструменты для улучшения архитектуры приложений. Инструменты, которыми сейчас пользуются всё сообщество фронтендеров, когда-то создали другие фронтенд-разработчики, чтобы улучшить пользовательский опыт при использовании сайтов и сам процесс разработки. Вы можете стать одним из таких разработчиков!

С чего начать и что читать? Чек-лист обучения

Вне зависимости от того, в какой области вы захотите работать и какие решения создавать, есть определенная база, которую, на мой взгляд, должен знать любой разработчик фронтенда.

В начале пути некоторых пугает список технологий, названий и аббревиатур во фронтенде. Их огромное множество. Но даже опытный разработчик не знает, да и не должен знать абсолютно все технологии и библиотеки, которые только существуют (ходят слухи, что каждую секунду в мире фронтенда выпускается новая библиотека:)

Три кита разработки под браузеры — это HTML, CSS и JavaScript, с которых и стоит начать.

Если у вас нет опыта в разработке и вам сложно обучаться самостоятельно, хорошим решением будет пойти на курсы фронтенд-разработчика с наставником в одной из известных школ программирования. Также хорошие курсы по вёрстке и фронтенд-разработке можно найти на Udemy и Coursera. Однако это совсем не обязательно, в интернете много бесплатных материалов и источников по необходимым темам.

Чтобы помочь вам сориентироваться, я составила пошаговый чек-лист для получения знаний, которых будет достаточно для прохождения собеседования на начинающего фронтенд-разработчика. Также прикрепила ссылки на материалы и источники на русском и английском языке, которые могут быть вам полезны.

Сохраняйте в закладки и пользуйтесь.

1. Как работает Веб

Прежде чем начать разрабатывать сайты, необходимо иметь представление о том, что происходит при открытии сайта в браузере, как работает клиент-серверная модель и что такое HTTP-протокол.

  • How the Web Works: A Primer for Newcomers to Web Development or anyone really (FreeCodeCamp);
  • Как работает Веб — Mozilla (MDN);
  • Всё, что нужно знать про HTTP.
2. Среда разработки

Писать код и разметку можно даже в блокноте, но удобнее использовать специальные редакторы. Наиболее популярные среди фронтендеров:

  • VSCode — бесплатный быстрый редактор с большим количеством дополнений для разработки;
  • JetBrains WebStorm — полноценная IDE, есть пробный период и возможность получить доступ по студенческой лицензии;
  • Если у вас возникает потребность отправить другому человеку фрагмент кода, быстро проверить или сохранить код в сети, можно воспользоваться онлайн-редактором, например, Codepen.
3. Основы HTML

Изучите структуру HTML-документа, что такое теги и какие они есть, мета-теги, атрибуты, как добавлять изображения, создавать формы. Важными моментами в верстке является семантика и доступность.

  • Руководство по HTML — Mozilla (MDN);
  • Справочник по HTML, уроки по HTML и CSS — Webref;
  • FreeCodeCamp — Learn to code at home — очень полезный источник для практического изучения HTML, CSS, JS и др. (пошаговые задачи в интерактивном режиме обучения);
  • Введение в Chrome DevTools. Панель Elements для просмотра HTML-элементов сайта;
  • Семантика (HTML5 Semantic Tags: What Are They and How To Use Them!, рус. перевод);
  • Доступность (Writing HTML with accessibility in mind, рус. перевод).
4. CSS

Добавление стилей для элементов страницы. Изучаем блочную модель, позиционирование, каскадирование стилей, специфичность селекторов, псевдоэлементы, адаптивную верстку (для компьютеров, планшетов и телефонов). Учимся верстать современные макеты с помощью Flexbox и Grid.

  • CSS и CSS3. Свойства для форматирования HTML элементов — Html5Book;
  • Cascading Style Sheets (CSS) — Mozilla (MDN);
  • Справочник по CSS — Webref;
  • Инструменты разработчика Chrome DevTools для просмотра стилей;
  • Вёрстка на Flexbox в CSS. Полный справочник (перевод и оригинал на CSS Tricks);
  • 10 modern layouts in 1 line of CSS от Google;
  • БЭМ Методология;
  • БЭМ для начинающих. Очевидные и неочевидные вопросы верстки.
5. Система контроля версий Git

Git поможет вам выйти на новый уровень в процессе написания кода. Это незаменимый инструмент для разработчиков, который позволяет поэтапно сохранять информацию обо всех изменениях в коде, возвращаться к разному состоянию, и многое другое. Желательно научиться работать с Git в терминале, а также попрактиковаться: создать репозиторий на Github или Gitlab и опробовать основные возможности Git на своём тестовом репозитории.

  • Интерактивный тур по GIT для начинающих — GitHowTo;
  • Github — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки.
Практика. Практика. Практика!

На этом этапе я предлагаю побольше попрактиковаться и сделать свой небольшой проект, чтобы запомнить пройденный материал. Необязательно самостоятельно придумывать дизайн сайта, вы можете взять готовый макет. Создайте landing page или, например, сверстайте сайт-портфолио, сохраняйте код на Github в процессе разработки и попробуйте разместить сайт на бесплатном хостинге для статических сайтов — Github Pages. Если вам недостаточно практики, попробуйте посмотреть, как верстают другие, и повторить. На YouTube достаточно видеоуроков на эту тему (например, по запросу «верстка сайта по макету figma»).

Если вы глубоко изучили HTML и CSS, то после прохождения предыдущих пунктов сможете стать верстальщиком сайтов. Но чтобы научиться писать интерактивные веб-приложения и стать профессиональным фронтенд-разработчиком, нужно продолжить свой путь в мире фронтенда и погрузиться в программирование.

6. Язык программирования JavaScript

Не путайте JavaScript с Java. Изучите основы языка: переменные, объекты, типы данных, функции, контекст и замыкания, классы. Сравните отличия спецификаций EcmaScript старых и новых версий. После понимания основ переходите к более сложным вещам: тонкостям асинхронного программирования (коллбеки, промисы, async-await) и выполнению запросов на сервер (XmlHttpRequest, Ajax, Fetch, Cookie).

  • Современный учебник JavaScript — отличный источник с множеством примеров;
  • Серия книг «Вы не знаете JS» — подробный гид по основным механизмам языка (каждая книга подробно разбирает часть языка);
  • Не забывайте про уже упомянутый FreeCodeCamp с задачками для практики JS;
  • Онлайн-курс по JavaScript для начинающих в виде рассылки писем от Дэна Абрамова (разработчик из Facebook, создатель Redux и Create React App);
  • Chrome Dev Tools. Отладка JavaScript кода.
7. DOM (Document Object Model)

DOM — это объектная модель документа, дерево, которое строит браузер, чтобы отрисовать вашу страницу на экране. Научившись работать с DOM, вы сможете с помощью JavaScript создавать или изменять элементы на странице, реагировать на клики пользователей и многое другое. Работе с DOM и событиям в браузере посвящена отдельная часть LearnJavascript.

Подробно тема DOM также описана в книге «Выразительный JavaScript», автор Марейн Хавербек.

8. Node.js, NPM

Благодаря программной платформе Node.js язык JavaScript можно использовать не только в браузере. С помощью этого инструмента можно написать консольную программу или серверную часть приложения.

Попробуйте написать свой собственный небольшой сервер.

В своих JavaScript-программах вы можете использовать модули, написанные другими разработчиками. Ознакомьтесь с онлайн-хранилищем пакетов NPM.

9. Babel

Babel Js — компилятор JavaScript-кода, который позволяет использовать последние возможности языка, например, стрелочные функции, классы, optional chaining, не дожидаясь их полной поддержки браузерами. Вам необходимо лишь правильно сконфигурировать Babel под нужную версию EcmaScript или список поддерживаемых вами браузеров, исходный код будет преобразован автоматически.

Попробуйте воспользоваться онлайн-компилятором кода на официальном сайте, чтобы посмотреть, во что превращаются современные конструкции JavaScript. Настройте компиляцию кода для небольшого JavaScript-приложения, подключив Babel как NPM-пакет.

10. Сборщики модулей, Webpack

При создании приложений разработчики делят код на части (модули), подключают дополнительные обработчики кода, настраивают приложения для различных окружений (development и production). Чтобы это было возможным, а нам не пришлось вручную подключать модули в HTML-файле в нужном порядке и следить за изменениями, в приложениях используются сборщики модулей (бандлеры).

Сборщики подключают и комбинируют модули и их зависимости в один или несколько файлов в правильном порядке, а также позволяют дополнительно преобразовывать код.

Webpack — один из самых популярных сборщиков модулей. Это помощник разработчиков, несмотря на то, что по началу он может показаться достаточно сложным. Его гибкость позволяет настроить сборку с использованием огромного множества плагинов и загрузчиков (пре- и пост- процессоров CSS и HTML, Babel и др.), оптимизировать ресурсы, быстро подгружать изменения в процессе разработки с помощью hot module replacement, и многое другое.

  • Скринкаст по Webpack на LearnJavascript;
  • Webpack. Полный курс 2020 (Владилен Минин).
11. Препроцессоры CSS

CSS-препроцессор — это надстройка над CSS, которая предоставляет удобные новые синтаксические конструкции для разработчика, добавляя новые возможности, которые позволяют упростить и ускорить разработку и поддержку стилей.

Наиболее популярные препроцессоры:

  • Sass (SCSS);
  • Stylus;
  • Less.
  • Модульность. Вы сможете создавать CSS-код в разных файлах и импортировать стили при необходимости.
  • Вложенность. Вкладывайте селекторы друг в друга для компактности и логичной структуры кода. Это улучшит читабельность и уменьшит дублирование (будет особенно удобно, если вы станете использовать BEM-методологию для написания CSS).
  • Использование CSS-переменных и функций (миксинов).
  • Вы можете выбрать препроцессор с удобным для вас синтаксисом (например, CSS-код без фигурных скобок и точек с запятой).
12. Препроцессоры HTML (Шаблонизаторы)

Препроцессоры HTML имеют те же преимущества, что и CSS-препроцессоры. Они позволяют более эффективно писать HTML-разметку, разбивать код на модули, а также использовать условия, циклы, миксины, наследование.

  • Pug (ранее Jade);
  • Handlebars.
13. Стиль кода и линтеры

Стиль кода (code style) — набор правил, который позволяет сделать код единообразным, максимально удобным для восприятия и читаемым для вас и других разработчиков. Такие правила описывают, где и какие отступы и скобки должны быть, максимальную длину строк, названия переменных, позволяют определить слишком запутанный или лишний код и множество других аспектов.

Некоторые компании придумывают свой стиль кода. Одним из известных наборов правил во фронтенде является стандарт компании Airbnb, советую ознакомиться с ним для повышения качества своего кода.

Существуют специальные инструменты, которые могут проверять ваш код автоматически и позволяют легко поддерживать код в определенном стиле, настроив конфигурацию проекта один раз:

  • Prettier;
  • ESLint;
  • EditorConfig;
  • Husky.
14. Изучение фреймворка/UI-библиотеки

React, Angular или Vue? На 2020 год основная борьба идет между этими библиотеками. Вы можете выбрать любую из них. Если вам симпатизирует какая-то конкретная компания, в которой вы хотели бы работать, можете выбрать используемый ими фреймворк.

Я бы советовала начать с React — он имеет огромную популярность среди разработчиков и компаний, продолжает развиваться, прост для понимания начинающими фронтендерами, вокруг него сложилось множество других инструментов и большое сообщество.

Начните изучать React с официальной документации, она достаточно подробная. Если её вам покажется недостаточно, можно найти на Udemy полноценный курс (например, Modern React and Redux — на английском языке, с очень понятным и подробным объяснением для начинающих, практическими заданиями и всем необходимым материалом по React и библиотекам).

Уделите внимание описанию типов входных параметров для React-компонентов (проверка типов с помощью PropTypes), а также написанию комментариев по стандарту JSDoc (цикл статей по использованию JSDoc).

По мере вашего продвижения необходимо будет научиться управлять состоянием приложения. Библиотеки, которые помогают в этом: Redux и Mobx. Начать рекомендую с Redux — это наиболее популярная библиотека в связке с React. Ознакомьтесь с официальной документацией или переводом. Также советую курс от одного из авторов библиотеки (Getting Started with Redux от Дэна Абрамова).

Затем приступайте к изучению библиотеки для удобного выполнения асинхронных действий (например, запросов к серверу). Самая простая библиотека, с которой стоит начать — Redux Thunk (документация).

15. Автоматическое тестирование

Тестирование — это процесс оценки того, что все модули приложения ведут себя так, как ожидалось. Благодаря тестированию можно избежать большого количества ошибок, которые вы могли бы не заметить. Изучите, что такое тестирование и какие виды бывают (Тестирование для «чайников»). Научитесь писать модульные тесты к вашему коду, используя одну из библиотек для тестирования, например, Jest.

16. Углубленное
  • Как браузеры рендерят сайт (Ryan Seddon: So how does the browser actually render a website | JSConf EU 2015);
  • Как работают браузеры — Html5Rocks;
  • Филипп Робертс: Что за чертовщина такая event loop? | JSConf EU 2014;
  • CSS-модули (статья Glen Maddern);
  • Оптимизация производительности фронтенда;
  • Вводный курс по VSCode для JS разработчиков (Владилен Минин);
  • Руководство для начинающих по HTTP и REST;
  • Что такое CORS;
  • Паттерны проектирования (книга Javascript Design Patterns);
  • Progressive Web Applications;
  • Redux-Saga для продвинутого управления состоянием React-приложения.

Какие трудности могут быть? Ошибки в начале пути

Изучение фреймворков вместо базовых знаний

Иногда будет казаться, что лучше сразу изучать какой-нибудь популярный фреймворк или библиотеку. Это достаточно частая ошибка, особенно во фронтенде: люди начинают изучать React или верстают с помощью Bootstrap и Material UI, не разобравшись в основах и не получив достаточных знаний по HTML, CSS и JavaScript. Можно использовать такой подход, если вы «бежите на короткую дистанцию» и вам нужно быстро сделать какой-нибудь проект. Но если вы планируете стать разработчиком, это не принесет нужного результата.

Нет необходимости знать наизусть абсолютно все CSS-свойства или методы в JS, вы сможете поискать их, если забудете. Важно понимание основных концепций и тонкостей: это то, что будет вашим крепким фундаментом во фронтенд-разработке.

Обучение — это труд, самодисциплина и много практики

Ошибочно ожидать, что вы разберетесь со всем материалом за неделю или выучите JS за один день. Количество времени, которое вам будет необходимо, это очень индивидуальный вопрос, и, скорее всего, процесс займёт не один месяц.

Не пугайтесь, изучайте пошагово и постепенно, больше практикуйтесь — так вы сможете быстрее продвинуться в обучении. Всем нужно какое-то время, чтобы научиться новому.

Определитесь, зачем и почему вы хотите стать фронтенд-разработчиком. Фронтенд — это область, в которой можно реализовать интересные решения и работать над проектами, которыми будет пользоваться огромное количество людей по всему миру! В добавок к этому, чем больше вы наберете знаний и опыта, тем выше будет оплачиваться ваш труд.

Вспоминайте о мотивирующих именно вас моментах, когда ваш код не будет работать, а очередной блок не будет выравниваться так, как вы этого хотите 🙂 Если вам нравится видеть результат своей работы, изучайте материал через практические задачи или создание своего проекта, так вы будете быстрее получать отдачу.

Копирование чужого кода

Если вы столкнетесь с проблемами и ошибками, которые не сможете решить, то не стесняйтесь искать помощи в Google. Учитесь пользоваться поиском и находить причину возникшей проблемы, но не копируйте чужой код вслепую.

Обязательно разберитесь, что происходит в найденном решении, и почему именно так. Это будет дольше и затратнее, но, если не разобраться, вы с большей вероятностью столкнетесь с похожей проблемой и опять не сможете решить её самостоятельно, а ваш код превратится в лапшу с разными стилями из-за копирования чужого кода.

Не доверяйте на 100% коду, который вы находите

Другие люди тоже могут ошибаться или иметь недостаточно опыта. Если вы находите видеоурок от магистра JavaScript или вёрстки, это не всегда значит, что преподносимое — идеальное решение и лучший возможный код.

Смотрите разные источники и критически относитесь ко всему, что находите. По мере того, как вы будете набираться опыта, вы поймете, какой код и подходы лучше, а что только усложняет ваше приложение и добавляет костылей, об которые вы потом споткнетесь.

Подготовка к собеседованию на Junior-разработчика

Собеседования в разные компании могут проходить совершенно по-разному, я бы хотела рассказать о необходимых знаниях, основываясь на своём опыте.

Направления, по которым чаще всего собеседуют на должность фронтенд-разработчика — это вёрстка, JavaScript, в частности, асинхронность и знание одного из фронтенд-фреймворка или библиотеки. На позицию Junior больше внимания уделяется именно вёрстке и JavaScript.

Вопросы могут быть как теоретические, так и практические, на решение небольших задач.

Сообщество разработчиков составило примерный список вопросов для интервью. Пройдитесь по всем вопросам и попробуйте дать ответ. Если вы не смогли на что-то ответить, это сигнал к повторению темы.

В подготовке к решению задач на JavaScript могут помочь сайты с задачами по программированию, на которых вы можете попрактиковаться онлайн и проверить свои навыки (начинайте с раздела с простыми задачами). Особенно популярными задачами являются задачи на применение методов работы с массивами. Пример таких задач: проверка на палиндром или анаграмму.

Сайты с задачами по программированию:
  • LeetCode;
  • HackerRank;
  • CodeWars.

Задачи на применение действительно сложных алгоритмов и знание таких структур данных, как деревья и графы, практически нигде не даются при собеседовании на должность Junior фронтенд-разработчика. Так что не бойтесь: даже если прохождение собеседования кажется вам очень страшным, на самом деле, если вы смогли ответить на все вопросы выше, то с большой вероятностью сможете пройти собеседование.

Маленький совет: если вы не уверены в своих силах, всё равно пройдите собеседование в какой-нибудь компании. И даже если вам не сделают предложение, вы поймете свои слабые места. К следующему собеседованию сможете подготовиться еще лучше!

Спасибо, что дочитали до конца. Надеюсь, статья была вам полезна. Если знаете, что она может быть полезна кому-то другому, то поделитесь.

Желаю удачи в покорении новых вершин!

  • разработка
  • react
  • javascript
  • frontend
  • junior frontend developer

Отзыв о том, как я учился в ИТМО (design.ifmo.ru) на “Frontend-разработчика”

К слову сказать, я много на каких курсах побывал (LoftSchool, HTML-академия, GeekBrains, Дмитрий Лаврик, Нетология, уч. центр “Статус”, подкасты и каналы на YouTube и т.д.) и, думаю, имею более-менее достаточное представление о рынке образовательных услуг в Веб-индустрии, потому надеюсь, что мой отзыв будет достаточно объективным.

В первую очередь меня завлекли 4 важных момента:
0️⃣ это ВУЗ. Проблемы 90% коммерческих курсов в том, что там преподают специалисты (сильные), но без какого-либо педагогического не то, что образования, а вообще представления, как подавать свой материал (исключение составляют Дима Лаврик и Владилен Минин – это преподаватели с большой буквы ). А тут ВУЗ (еще и ИТМО) – методологии, подача материала, пошаговое обучение и вот это вот всё;
1️⃣ количество часов. Ну не возможно разобраться в JavaScript за 40 ак. часов, как бы вас не уверяли некоторые уч. заведения в своих рекламках, а тут их 380 (5 месяцев ванильного JS) ��
2️⃣ программа…ну она правда сильная! Чего только стоит метапрограммирование, написание модульных тестов, рефлексия, прокси, ловушки и куча других страшных, но притягивающих слов. От одного только чтения уже предвкушаешь звание Seniorа-помидора;
3️⃣ диплом государственного образца о проф. переподготовке (да, опыт важнее, но такие бумажки греют душу).

Если в двух словах – мне понравилось. В моей голове до этого курса была полная мешанина относительно джаваскрипта и мне предстояла большая работа по разгребанию этого �� В этом курс мне помог на 100%. Именно последовательное освоение материала, методический переход от простого к сложному, подкрепление всего практическими заданиями – это правда было круто и такой подход наконец структурировал все мои знания. Ставка на ВУЗ сыграла!

У меня правда на обучение ушло заявленных в курсе 5 месяцев (дистанционная форма). При том, что я не филонил, а по честному день через день учился, читал много попутного материала из других источников, сам для себя находил задачки по некоторым темам.

Если вы уже обладаете определенным набором знаний JavaScript, но чувствуете, что этому набору нужна систематизация, то я бы рекомендовал этот курс. Он покрывает если не все, то многие базовые кейсы ЯП.

Но не спешите с выводами, у меня есть n-ое количество ложек с дёгтем для этой бочки смузи ��

Безусловно, никаким Senior’ом вы не выйдите после этих курсов, не нужно иллюзий. Senior – это годы, потраченные на получение практических знаний, а как можно назвать человека сеньором, если на каждую тему он решил всего одну задачу (в 80% случаев на этом курсе). По окончанию я бы больше оценивал свой уровень, как Middle. И то потому, что в той или иной степени я имел уже опыт работы с Javascript на уровне “JS для верстальщика” + Vue. Так что будьте готовы к этому.

Но больше всего вопросов у меня возникло именно к организации обучения. Сразу оговорюсь, что эта информация актуальна на момент моего обучения. Может быть (и это будет здорово) к моменту вашей учебы эти недочеты будут исправлены. Теперь ближе к делу:

�� В одном из первых заданий написано следующее:

узнать на сайте javascript.ru в чем отличие «undefined» от «not defined»

Я не шёл в ИТМО, чтобы искать пояснения по темам на сторонних источниках. Даже если этим заданием вы меня знакомите с какими-то ресурсами, то уж лучше ссылаться на более современную версию ресурса Ильи Кантора – learn.javascript.ru. Не понял я этого маневра в общем. В любом случае, я считаю, что именно преподаватель должен объяснять материал.

�� Для организации обучения предлагается установить Ubuntu. Не очень понял, чем это поможет мне в освоении JS. Хотя может я не осведомлён в этом вопросе и в этом правда есть какой-то профит.

�� В личном кабинете существует форум, где все ученики отправляют свои задания и преподаватель с ними общается. Так вот я видел нерабочие примеры выполненных заданий, которые были зачтены…WTF?

�� не ожидайте прям вот большого участия от преподавателя. В основном он только ставит отметку. Более того, когда человек не понимает материала, преподаватель может просто ознакомить его с решением. Это вот прям совсем не хорошо. Ученик должен с помощью преподавателя понять, в чем заключается решение, а не получить его на блюдечке.

�� Встречались битые ссылки на примеры, необходимые для понимания материала. Или, например, в задании указано, что решить его нужно с помощью jQuery, а при переходе в песочницу написано, что его решение должно формироваться с помощью декларативного Handlebars-шаблона без использования jQuery …

☹ В программе присутствует тема для изучения – Использование JavaScript-фреймворков. Реактивное программирование. Так вот обзор фреймворков состоит из двух-трёх абзацев на каждый из них. Например (обратите внимание на год в последнем предложении, сейчас середина 2020):

Возможно ли после ознакомления с таким обзором заявить, что ты знаешь о фреймворках чего-то больше, чем их название … ? Не знаю, ну хочется по подробнее что ли, какие-то юзаджи может, “Hello, world’ы” наконец. В общем тяжело говорить о полезности подобной информации.
Справедливости ради я замечу, что далее тема раскрывается на 2-х фреймворках – React и Vue, по ним даются обзорные пояснения и не сложные домашние задания в целях ознакомления.

�� Информация по популярности библиотек, фреймворков, статистика, методические пособия в основном даны с отсылкой к середине 2018 году (видимо, тогда готовился курс). Камон, ну серьёзно, это же не та наука, информация о которой актуальна десятилетиями. Веб-отрасль развивается очень быстро и часть информации на курсе уже deprecated. Ты только выучил Vue, а тебе уже про Svelte рассказывают. В общем информацию каждый год нужно актуализировать, на мой взгляд.

�� Фидбек на домашки можно ожидать 3-5 дней (порою и дольше). То есть ты уже ушел в учебе на 2-3 темы вперед, а всё ещё не знаешь, как ты справился с предыдущими заданиями и стоит ли уделить им больше времени. Более того, ты уже и забыл, чего ты там накодил. Будь ответы оперативнее, хотя бы в течении 1, максимум 2-х дней – было бы гораздо лучше.

�� Материал в методичках для меня лично описан трудновато. Часто приходилось пользоваться сторонними источниками, чтобы в нём разобраться.

�� Практический совет по выбору используемых технологий для написания диплома. Обязательно уточните у преподавателя, есть ли у него опыт работы с той или иной технологией. Совет звучит глупо, согласен. Однако, как выяснилось в процессе работы над дипломом, с Firebase от гугла никто на кафедре не знаком (в практическом смысле), а значит помощи вам ждать не откуда.

Возможно, всё это мелочи и для кого-то покажется совсем не существенным. Так и хорошо, в таком случае можете смело записываться. Для меня, как человека занудного и требовательного до тех услуг, за которые я заплатил, это показалось важным. В конце концов 55 тыс. руб. за курс и сам статус ИТМО обязывает его более ответственно относится к обучению и подготовке материала. Скажу честно, я ожидал большего. За программу ставлю “пять”, а за реализацию – “три с плюсом”))

Тем не менее, вопреки всем минусам я получил от курсов всё, что хотел, а именно разложение по полочкам имеющихся знаний, практику и осознание моментов, которые ранее были сложны.

Я познакомился с отличной библиотекой moment.js – просто маст хев для тех, кто работает с датами.

Больше всего мне зашел блок “Событийно-ориентированное программирование”. Понравились домашки, выполнял с большим удовольствием. Впервые для себя реализовал drug-n-drop на примере корзины заказов – это был очень интересный и полезный опыт.

До обучения боялся даже взглянуть в сторону написания тестов. Теперь я в теме )))

Так что смотрите сами. Моя оценка этим курсам такова – я больше советую их, чем отговариваю…�� Но это при условии, что вы будете помимо учебного материала заглядывать на сторонние ресурсы (того же Ильи Кантора) и действительно по честному решать задачки и практиковаться.

Желаю успехов! Всем ДжэЭс!

2 комментария

  1. Константин 04.03.2021 at 09:53

Спасибо! Содержательный пост! Как раз рассматриваю две программы по JS на базе ИТМО. Сравниваю курсы с теми что в Политехе.

  • Sergey 07.03.2021 at 19:53

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *