Телеграм-канал основателя Checkroi — Вани Буявца

Посмотреть →
Агрегатор онлайн-курсов Checkroi.ru Блог Курсы по программированию Как освоить программирование: высшее образование, онлайн-курсы, литература, приложения и веб-ресурсы

Как освоить программирование: высшее образование, онлайн-курсы, литература, приложения и веб-ресурсы

Опубликовано: Страница обновлена: 1866 просмотров Время прочтения: 37 минут
Одобрено экспертом Андрей Котов
Фронтенд-разработчик с опытом 6 лет

Согласно исследованию hh.ru, спрос на программистов растёт за счёт того, что к вакансиям от непосредственно IT-компаний добавляются вакансии от компаний из других секторов: финансового, торгового, телекома и др. И проследив динамику спроса, можно увидеть, что это не разовый скачок, а ровная тенденция. Поэтому быть программистом — это востребованность и стабильный заработок сегодня и гарантия занятости на будущее. Кроме того, это возможность удовлетворить амбиции, проявить себя и свою смекалку, работать в интересных проектах и зарубежных компаниях.

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

Андрей Котов
#комментирует_эксперт
Фронтенд-разработчик с опытом 6 лет

Я, безусловно, доволен принятым решением. Я пришёл в программирование из маркетинга, а именно — из поисковой оптимизации. В маркетинге и в поисковой оптимизации в частности меня смущало отсутствие чётких критериев того, что работает и что — нет. Многое делается по интуиции и на глаз.

В программировании всё гораздо более конкретно: код либо работает либо нет. При этом есть пространство для творчества. Это ближе мне по складу ума.


В общем, мой рабочий день программиста мне больше нравится, чем мой рабочий день маркетолога.


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

Курсы, представленные в подборке

Курс
Школа
Стоимость со скидкой
В рассрочку
Длительность
Профессия «Java-разработчик» от Skypro
Перейти на сайт курса
Skypro
126 786 ₽
4237 ₽/мес.
11 месяцев
Профессия «Разработчик на Python» от Skypro
Перейти на сайт курса
Skypro
111 248 ₽
4074 ₽/мес.
10 месяцев
Профессия «Веб-разработчик» от Skypro
Перейти на сайт курса
Skypro
115 173 ₽
4095 ₽/мес.
12 месяцев
Телеграм-канал Вани Буявца

Как выучиться на программиста

Независимое издание о технологиях и бизнесе Rusbase опросило представителей IT-компаний по поводу образования соискателей, приемлемого для получения должности программиста в их компании. Мы сделали краткую тезисную выжимку и получили любопытные выводы.

Высшее образование необязательно

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

Можно начать с самообучения

В отдельных случаях работу в веб-разработке могут получить и программисты-самоучки, но им надо быть готовыми к более низким стартовым позициям. Работодатели рекомендуют хотя бы в процессе работы начинать восполнять недостаток системного образования. Некоторые из них могут с этим помочь — оплатить полностью или частично обучение сотрудника. Здесь всё зависит от политики компании и умения самого сотрудника объяснить работодателю целесообразность такой инвестиции.

#комментирует_эксперт
Фронтенд-разработчик с опытом 6 лет

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

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

Важны навыки и практический опыт

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

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

Мы осветим все варианты, чтобы вы могли выбрать исходя из ваших стремлений и возможностей. Для каждого варианта обучения — высшего образования, онлайн-курсов и самообучения — мы приготовили оптимальные решения. Сохраняйте страницу в закладки, она пригодится вам ещё не раз, потому что программисту никогда не стоит переставать учиться.

Как мы проверяли варианты обучения и подбирали материалы

При подборе вузов, онлайн-курсов и материалов для самообучения мы задействовали информацию из открытых источников и проверяли её через:

  • мнение приглашённого эксперта-разработчика уровня senior,
  • рекомендации топ-менеджеров и техлидов IT-компаний из интервью Rusbase,
  • образовательный агрегатор ucheba.ru,
  • свою пятилетнюю экспертизу в онлайн-образовании,
  • авторитетные профильные ресурсы habr.com и tproger.ru

Где получить высшее образование

Из восьми сотен российских вузов треть предлагает программы в области информатики.

В вузах есть программы специалитета, бакалавриата и магистратуры по направлениям:

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

Для поступления в любой из вузов нужно сдать ЕГЭ, набор предметов разнится от вуза к вузу, но складывается в разных сочетаниях из информатики, математики, физики и русского. Проходной балл начинается от 46–50 в непрофильных автодорожных, медицинских и геологических вузах и доходит до 90+ баллов в национальных исследовательских институтах и технических университетах.

Среди самых востребованных в дипломах соискателей вузов представители IT-компаний, опрошенные Rusbase, называют:

  • Москва — МГУ, МФТИ, НИТУ МИСиС, МИФИ, МГТУ им. Баумана и МАИ;
  • Санкт-Петербург — ИТМО, СПбПУ и ЛЭТИ;
  • Казань — КФУ и КХТИ;
  • Новосибирск — НГУ.

Какие онлайн-курсы по программированию выбрать

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

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

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

Профессия «Java-разработчик» от Skypro

Записаться на Профессия «Java-разработчик» от Skypro
Длительность
11 месяцев
Уровень
Новичкам
Для кого подходит
Бэкенд-разработчикам, Фулстек-разработчикам
Формат
Вебинары, Записанные видеоуроки
Преимущества
Быстрая обратная связь, Воркшопы, Диплом, Закрытая группа в мессенджере, Карьерные консультации, Командная работа над проектом, Курс от практикующих специалистов, Работы для портфолио
Итоги
Диплом школы
Гарантия трудоустройства
Помощь
Цена
  • Финальная цена - 126 786₽
  • В рассрочку — 4237₽/мес.

Профессия «Веб-разработчик» от Skypro

Записаться на Профессия «Веб-разработчик» от Skypro
Длительность
12 месяцев
Уровень
Новичкам
Для кого подходит
Бэкенд-разработчикам, Веб-разработчикам, Фулстек-разработчикам
Формат
Вебинары, Записанные видеоуроки
Преимущества
Быстрая обратная связь, Воркшопы, Диплом, Закрытая группа в мессенджере, Карьерные консультации, Курс от практикующих специалистов, Работы для портфолио
Итоги
Диплом школы
Гарантия трудоустройства
Помощь
Цена
  • Финальная цена - 115 173₽
  • В рассрочку — 4095₽/мес.

Профессия «Разработчик на Python» от Skypro

Записаться на Профессия «Разработчик на Python» от Skypro
Длительность
10 месяцев
Уровень
Новичкам, Опытным
Для кого подходит
Бэкенд-разработчикам, Веб-разработчикам, Фронтенд-разработчикам, Фулстек-разработчикам
Формат
Вебинары, Записанные видеоуроки
Преимущества
Быстрая обратная связь, Воркшопы, Диплом, Карьерные консультации, Курс в подарок, Курс от практикующих специалистов, Работы для портфолио
Итоги
Диплом школы
Гарантия трудоустройства
Помощь
Цена
  • Финальная цена - 111 248₽
  • В рассрочку — 4074₽/мес.
Выбор редакции
Лучший курс по разработке фронтенда сайтов и веб-приложений
Новичкам
О курсе

Курс подойдёт абсолютным новичкам в программировании. Вы освоите фронтенд-разработку, а на каком уровне — можете выбрать сами: джуниор-разработчика за год, мидл-разработчика за 2 года или продвинутого уровня за 3 года

Программа
1. Веб-вёрстка — освоите HTML и CSS и узнаете, как создавать макеты в Figma и верстать адаптивные кросс-браузерные страницы
2. Frontend-разработка — научитесь программировать на JavaScript и применять фреймворк Vue.js и инструменты сборки проектов
3. Библиотека ReactJS и основы backend-разработки — узнаете, как создавать одностраничные и мобильные приложения
4. Разработка от идеи до релиза — разберётесь в основах языка TypeScript и всём, что нужно для командной работы: концепции непрерывной разработки и интеграции CI/CD, видении продукта и ТЗ, гибких методологиях разработки Agile, Scrum и Kanban и тестировании. А ещё курсы, для которых вы можете сами выбрать дату старта — по базам данных, Linux и работе на фрилансе
Что в итоге
5 работ в портфолио + диплом гособразца + трудоустройство
Бонусы
  • гарантия трудоустройства
  • опыт командной разработки
  • можно выбрать программу по длительности и наполненности
  • есть рассрочка
Длительность
12 месяцев
#комментирует_эксперт
Фронтенд-разработчик с опытом 6 лет

Всё основное и необходимое для работы в программе вижу. Кажется, что некоторым темам стоило уделить в 1,5–2 раза больше времени: вёрстке, например. Есть разделение на 3 пакета: годовой, двухгодичный и трёхгодичный. Но заниматься образованием 3 года на курсах я бы не стал. Года вполне достаточно, чтобы дорасти до первой работы, а начиная с неё — больше времени уделять самой работе и самообразование строить в первую очередь вокруг рабочих задач.

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


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


Курс подойдёт новичку, который хочет войти в сферу веб-разработки, а тому, кто уже работает — вряд ли

Выбор редакции
Лучший курс по разработке серверной части веб-приложений и сайтов
Новичкам
О курсе

Если хотите стать универсальным специалистом — приходите на этот курс. Вы освоите язык Java на продвинутом уровне и сможете разрабатывать разное ПО: от веб-приложений до инфраструктурных и промышленных решений

Программа
1.   Уровень 1: Java-разработчик — вы научитесь программировать на Java, освоите принципы ООП, многопоточность и работу с базами данных и узнаете, как организовывать распределённые хранилища для вычисления больших данных
2.   Уровень 2: Java-разработчик — вы освоите фреймворк Spring и сможете разрабатывать интерактивные динамичные сайты и приложения по модели MVC
3.   Уровень 3: разработчик Java Enterprise — вы узнаете, как организовывать инфраструктуру для сложных высоконагруженных и корпоративных приложений
4.   Дипломные проекты — в составе команды разработаете соцсеть и ещё 2 проекта индивидуально: движок для блога и книжный интернет-магазин
Что в итоге
3 проекта в портфолио + диплом + трудоустройство
Бонусы
  • гарантия трудоустройства
  • офлайн-воркшопы
  • опыт командной разработки
  • доступ навсегда
  • год английского в подарок
  • можно не платить за уже пройденные курсы
  • есть рассрочка
  • первый платёж через полгода
Длительность
24 месяца
Выбор редакции
Лучший курс, если вы не определились со специализацией в веб-разработке
Новичкам
О курсе

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

Программа
1.   Введение в веб-разработку — вы освоите основные понятия и процессы, научитесь верстать страницы на HTML и CSS, разрабатывать бэкенд на PHP и фронтенд на JavaScript на базовом уровне
2.   Выбор специализации
●     Frontend-разработчик — вы освоите продвинутую адаптивную вёрстку, создание анимированных интерфейсов и фреймворк React
●     Backend-разработчик — вы научитесь работать с базами данных, проектировать архитектуру приложений и администрировать их и освоите фреймворк Laravel
Что в итоге
портфолио + диплом
Бонусы
  • помощь с трудоустройством
  • опыт командной разработки
  • тренажёры
  • сертификат на английском по запросу
  • есть рассрочка
Длительность
12 месяцев
Выбор редакции
Лучший курс по мобильной разработке
Новичкам
О курсе

Перед прохождением курса вы сможете выбрать специализацию и сосредоточиться на разработке под iOS или Android и научитесь разрабатывать приложения для смартфонов и «умных» устройств: часов, бытовой техники и др.

Программа
1.   Профессия iOS-разработчик — вы научитесь разрабатывать и тестировать iOS-приложения на языке Swift
2.   Профессия Android-разработчик — вы узнаете, как создавать и тестировать Android-приложения на Kotlin
3.   Дополнительные курсы — по системе контроля версий кода Git, SQL для работы с базами данных, прототипировании интерфейса в Figma, ручному тестированию и английскому
Что в итоге
проекты в портфолио + диплом + трудоустройство
Бонусы
  • гарантия трудоустройства
  • опыт командной разработки
  • специализация на iOS или Android на выбор
  • год английского в подарок
  • есть рассрочка
  • первый платёж через полгода
Длительность
12 месяцев
Выбор редакции
Лучший курс по разработке игр
Новичкам
О курсе

Если вы хотите создавать игры — приходите на этот курс и научитесь разрабатывать игровые проекты на движке Unreal Engine 4: от простых до мультиплеерных

Программа
1.  Делаем простой арканоид на Blueprints — узнаете, как собирать игры из готовых визуальных компонентов без программирования
2.  Усложняем задачу: пишем арканоид на С++ — научитесь базово программировать на примере игры-змейки
3.  Делаем шутер с видом сверху (TDS) — разберётесь, как прочитать дизайн-документ, разработать архитектуру проекта и настроить его под конкретный жанр игры
4.  Создаём окружение — научитесь создавать ландшафт и анимировать персонажей
5.  Разбираемся с основными классами и методами — узнаете, как настроить логику и навигацию игры
6.  Настраиваем звук и спецэффекты — научитесь создавать анимацию и спецэффекты и настраивать звуковую систему
7.  Улучшаем игру — поймёте, как проработать физику, добавить дисплей игрока и виджеты и запрограммировать неигровых персонажей
8.  Делаем сетевую игру — разберётесь, как реализовать игру на выделенном или локальном сервере
9.  Собираем мобильный прототип игры — узнаете об ограничениях мобильных платформ и как отладить и протестировать мобильную версию проекта
10.  Работа в команде — освоите принципы, методы и инструменты командной постановки задач и разработки
Что в итоге
5 проектов в портфолио + диплом + трудоустройство
Бонусы
  • гарантия трудоустройства
  • командная разработка
  • нетворкинг и геймдев-комьюнити
  • год английского в подарок
  • есть рассрочка
Длительность
12 месяцев
Выбор редакции
Лучший курс, чтобы войти в разработку искусственного интеллекта
Новичкам
О курсе

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

Программа
1.   Программирование — освоите ОС Linux, SQL, Python и его библиотеки для дата-сайенса: Numpy, Pandas, Matplotlib и SciKit-Learn
2.   Сбор данных и статистическое исследование — научитесь собирать данные из интернета и анализировать их по методам теории вероятностей и математической статистики.
3.   Математика для data scientist — углубитесь в математическую основу и логику алгоритмов.
4.   Машинное обучение — узнаете, как решать задачи прогнозирования, поиска похожих объектов, рекомендации и автоматизации
5.   Нейронные сети — разберётесь, как научить нейросеть распознавать лица, видео и изображения
6.   Задачи искусственного интеллекта — поймёте, как обучить нейросеть распознавать и анализировать текст и речь
7.   Предметы с индивидуальным выбором даты старта — по высшей математике, алгоритмам и структурам данных, анализу и визуализации данных и др.
Что в итоге
14 работ в портфолио + диплом гособразца + соревнование на площадке Kaggle + трудоустройство
Бонусы
  • гарантия трудоустройства
  • наставник
  • нетворкинг
  • программа актуализирована
  • можно купить курс в записи
  • есть подготовительные курсы по математике, программированию и др.
Длительность
18 месяцев
Выбор редакции
Лучший курс по тестированию программного обеспечения
Новичкам
О курсе

На этом курсе вы освоите ручное и автоматизированное тестирование, научитесь давать актуальную и полную информацию о качестве продукта и сможете развивать сайты и приложения

Программа
1.   Основы ручного тестирования — узнаете, как разработать тест-кейсы, организовать тестирование и задокументировать обнаруженные недочёты
2.   Тестирование веб-приложений — научитесь тестировать работу сети, подключение к другим сервисам и оптимизированность кода
3.   Автоматизация тестирования — разберётесь, как автоматизировать тестирование на языке Java и запускать юнит-тесты на фреймворке JUnit
4.   Командная работа — научитесь работать по гибким методологиям и поучаствуете в тестировании реального продукта
5.   Предметы с индивидуальным выбором даты старта — по компьютерным сетям и прохождению собеседований
6.   Дополнительные курсы от компаний-партнёров — по сбору логов и безопасности веб-приложений
Что в итоге
5 проектов в портфолио + диплом гособразца + трудоустройство
Бонусы
  • гарантия трудоустройства
  • работа в команде
  • наставник
  • нетворкинг
  • программа актуализирована
  • дополнительные курсы
  • английский на LinguaLeo в подарок
  • бесплатный доступ к средствам разработки JetBrains
  • антивирус «Касперского» на 3 месяца
  • можно выбрать глубину обучения
  • есть рассрочка
Длительность
12 месяцев

Как учиться программировать бесплатно

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

  • Введение в программирование — курс помогает сориентироваться в IT — за 4 часа вы познакомитесь с устройством компьютера, направлениями разработки, базовыми терминами, принципами написания кода и популярными языками. В конце сможете пройти тест на профориентацию и подобрать наиболее подходящее вам направление программирования;
  • Курс по архитектуре компьютеров и операционных систем — вы узнаете, как функционирует компьютер и выполняются программы. С одной стороны, разберётесь в «железе», теле компьютера — процессорах и других электронных деталях, с другой — в «мозге»: операционных системах, устройстве памяти и вычислительных операциях. В программе есть тесты и интерактивные задачи для закрепления;
  • Основы командной строки — пригодятся вам, чтобы взаимодействовать с операционной системой, настраивать её параметры и расширять её функции, управлять программами для разработки и автоматизировать процессы. Теорию вы закрепите на тестах и упражнениях, а доступ к пройденным урокам останется навсегда;
  • Объектно-ориентированное программирование — самая распространённая парадигма программирования разобрана на примере языка C#, но эти же принципы вы сможете применять и в других языках. Выполнив все задания, вы создадите игру «Змейка» и получите сертификат о прохождении курса;
  • Введение в математическую логику — теоретический курс поможет разобраться в базовых вопросах математической логики, на которых строится информатика и вычисления в программах. Курс подкреплён дополнительными материалами, а записи можно пересматривать в любое время;
  • Введение в веб-разработку — всё, что вам нужно знать, прежде чем начать изучать программирование для веб-разработки. Вы разберётесь в терминах, процессах внутри сайтов и веб-приложений и инструментах разработки. Уроки, посвящённые технологиям, подкреплены тестами, а дополнительные материалы помогут глубже изучить тему;
  • Вводные уроки и туториалы для новичков — на платформе собрано много отдельных видеоуроков и курсов по разным языкам и фреймворкам — используйте фильтр слева, чтобы найти нужную вам технологию или направление разработки. Большинство уроков на английском, но снабжены субтитрами;
  • Тренажёры языков программирования для начинающих — удобный формат для практики без скачивания дополнительных программ: краткая теория, задание, редактор кода и автоматическая проверка вашей работы — всё это прямо в браузере. Если возник вопрос — можно вынести его на обсуждение с техподдержкой и другими пользователями. Всего для занятий доступны 13 языков: CSS и HTML, Python, C, C#, Java, JavaScript и др.;
  • Разработка iOS-приложений — вы с нуля разберётесь в устройстве iOS, шаблонах проектирования приложений и программировании на Objective-C, узнаете, как собрать анимированный интерфейс, организовать хранение и управление файлами, подключить интернет и возможность воспроизведения мультимедиа файлов. В конце у вас должно получиться готовое приложение, а университет выдаст сертификат;
  • Разработка android-приложений — браться за курс стоит, когда уже разберётесь в основных терминах и попробуете свои силы в написании кода на любом языке. Вы узнаете, как разрабатывать многооконные приложения с распознаванием жестов пользователя, геолокацией, анимациями и базами данных, добавите в портфолио игру и получите сертификат;
  • Задачи для тренировки перед собеседованием — разбор реальных задач с технических собеседований в IT-компании с подробными объяснениями.

Какие книги читают программисты

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

«Код. Тайный язык информатики», Чарльз Петцольд — книга раскрывает основы компьютерных технологий: историю возникновения компьютеров, концепции информационных технологий, принципы кодирования информации и работы процессора и др. Читать и ориентироваться легко: язык живой, понятный и ироничный, много иллюстраций, есть предметный указатель.

«Паттерны проектирования», Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес — культовая книга, авторы которой известны в профессиональной среде как «банда четырёх». В книге описаны оптимальные решения типовых задач объектно-ориентированного программирования. Паттерны позволяют повысить гибкость программ и использовать код повторно. В книге они оформлены в виде каталога и вы сможете применять их как в начале карьеры, так и впоследствии.

«Чистый код: создание, анализ и рефакторинг», Роберт Мартин — автор рассказывает, как писать «чистый» код, который легче поддерживать и использовать в проектах. Вы на примерах разберётесь в признаках проблемного и хорошего кода и узнаете, как преобразовать первый во второй.

«Совершенный код: практическое руководство», Стив Макконнелл — обновлённое издание книги, которая считается одним из главных практических руководств по программированию. Здесь и академические исследования, и практический опыт разработки программного обеспечения — вне зависимости от вашего опыта, сложности проекта и используемых средств разработки вы найдёте для себя эффективные методики и принципы.

«Не заставляйте меня думать. Веб-юзабилити и здравый смысл», Стив Круг — на примерах и иллюстрациях автор кратко и доступно объясняет принципы юзабилити сайтов и приложений. Интуитивно понятная навигация и информативный дизайн, основанные на практичности и здравом смысле — вот тема и цель этой книги.

«Мифический человеко-месяц», Фредерик Брукс — книга про управление проектами разработки ПО затрагивает вопросы, характерные для любого крупного программного проекта: как грамотно распределить ресурсы и рассчитать сроки, запланировать релиз, организовать командную работу, повысить производительность разработчиков и обеспечить соответствие графику выпуска фичей и обновлений.

«Идеальный программист», Роберт Мартин — экспертный взгляд на профессиональный подход к программированию. Книга освещает методы, инструменты и практики оценки проекта, написания кода, его запуска в работу и тестирования.

«Карьера программиста», Гейл Лакман Макдауэлл — книга поможет подготовиться к собеседованию. Она основана на опыте множества собеседований в крупных мировых компаниях: Google, Microsoft, Apple, Amazon и др. Из сотен интервью и тысячи технических вопросов и задач автор отобрал 189 наиболее нетривиальных и значимых и добавил к ним типичные ошибки кандидатов и способы подготовиться к собеседованию.

Где тренировать навыки программирования

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

Браузерные ресурсы

Онлайн-игры для тренировки навыков — игровой формат этих тренажёров программирования поможет вам поддерживать мотивацию в освоении языка.

Codewars — ресурс пригодится вам, когда появятся хотя бы минимальные навыки программирования — вы сможете их прокачивать, решая реальные задачи совместно с другими программистами. Сервис поддерживает 29 языков: Python, JavaScript, C, C#, Java и др.

Приложения

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

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

Encode: learn to code — помогает прокачивать навыки программирования на Python, JavaScript, HTML и CSS и подходит для начинающих. Приложение платное, на английском, есть офлайн-режим.

Grasshopper: learn to code на iOS и Android — бесплатное англоязычное приложение от Google для обучения программированию на JavaScript. Формат игр, тренажёров и тестов подойдёт новичкам и даже детям.

Enki на iOS и Android — англоязычное приложение для начинающих и опытных программистов. Помимо тренировки навыков программирования на Python, JavaScript, SQL и CSS здесь есть уроки по технологиям дата-сайенса, блокчейна и кибербезопасности, системе контроля версий Git, ОС Linux и др. Приложение персонализирует контент под каждого пользователя и составляет ежедневные пятиминутные тренировки. Есть бесплатная версия, а по подписке — больше контента и никакой рекламы.

Codeacademy Go на iOS и Android — англоязычное приложение для начинающих охватывает веб-разработку и дата-сайенс, языки Python, SQL, HTML, CSS, Java и др. Статьи, тесты для самопроверки, карточки для запоминания, советы от опытных разработчиков и упражнения с отслеживанием прогресса. Любой урок можно открыть в любой момент вне зависимости от предыдущих успехов.

Programming hero на iOS и Android — англоязычное приложение для тренировки навыков программирования на Python, HTML, CSS и JavaScript в игровом формате дополнено видеоуроками про алгоритмы, структуры данных, принципы ООП, базы данных, разработку игр и веб-разработку. Приложение бесплатное, но есть премиум-подписка с дополнительным контентом.

DataCamp на iOS и Android — приложение на английском для начинающих в дата-сайенсе. Оно состоит из ежедневных пятиминутных уроков, которые открываются последовательно и складываются в курсы по Python, R и SQL. Есть встроенный редактор кода с автоматическими подсказками. Можно попробовать бесплатно, а полноценный доступ — по подписке.

Dcoder, code compiler ID‪E на iOS и Android — англоязычное приложение-компилятор, в котором можно обучаться и работать: тренироваться кодить с автоподсказками, отлаживать код, хранить его, выгружать и интегрировать в проекты в Git. Поддерживает больше 30 языков программирования. Для закрепления есть раздел с задачами и чат с другими разработчиками. По подписке можно кастомизировать приложение и отключить рекламу.

Где искать информацию для решения конкретных задач

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

#комментирует_эксперт
Фронтенд-разработчик с опытом 6 лет

Будущим фронтендщикам для изучения базовых штук по JavaScript рекомендую вот этот учебник. А так самый надёжный источник знаний для программиста — это официальная документация языков и фреймворков. И гуглить и заходить на Stack overflow для решения конкретных задач

  1. Stack overflow — платформа формата вопрос-ответ. Вопросы распределены по меткам — ищите метки со своим языком программирования или фреймворком, описанием проблемы и так далее.
  2. Хабр Q&A — ещё одна платформа формата вопрос-ответ. Прежде чем задать вопрос, поищите похожий — возможно, его уже кто-то задавал. Чтобы не потерять чужой вопрос и получать новые ответы, подпишитесь на него. Вопросы распределены по тегам-темам: на них тоже можно подписываться и получать уведомления о новых вопросах и ответах на эту тему.
  3. Хабр — новости IT-индустрии, инструкции для новичков и не очень, аналитические обзоры и авторские статьи на тему программирования.
  4. Tproger — издание о программировании, где можно найти статьи и инструкции, подборки сервисов для программистов, анонсы мероприятий и соревнований, советы экспертов и личный опыт, обзоры компаний и вакансии.

Коротко о главном

Программисты говорят, что им, чтобы просто оставаться на месте, нужно постоянно обучаться — в этом они похожи на Алису в стране чудес. Чудес, может, и не бывает, а посильный труд приносит свои плоды тем, кто готов вкладывать время и силы в свои навыки. В этой подборке — проверенные ресурсы и материалы и её удобно добавить в закладки, чтобы периодически возвращаться и выбирать всё новые материалы для изучения.

Телеграм-канал Вани Буявца, только внизу
10 Коментариев
1

Почитаем еще?

Оставьте комментарий

10 комментариев

Платон

Мне понравилась статья, сейчас интересуюсь этой темой, смотрю бесплатные вебинары. Вот тут как раз собрано много источников которые мне помогут разобраться как начинающему. Но вот меня интересует нужно ли знать английский язык? И если пока его не знаешь получится ли начать? Знаю что все программисты знают его. И ещё мне за 30 уже, не поздно для меня, работу смогу найти?

Ответить
Автор: Нина Ли
Нина Ли

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

Ответить
Антон

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

Ответить
Автор: Нина Ли
Нина Ли

Здравствуйте, Антон!
Возможно Вам подойдет курс «Веб-разработчик» от Loftschool. Курс длится всего 5 месяцев.

Ответить
Мария

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

Ответить
Автор: Нина Ли
Нина Ли

Здравствуйте, Мария!
Рады, что смогли Вам помочь)

Ответить
Александр

Здравствуйте, меня очень заинтересовала статья, очень хочу получить образование в этой сфере. Подскажите пожалуйста с какого возраста легко можно воспринимать эту информацию? Дело в том, что я поступил в институт на программиста и заодно работаю в компании. Данных и знаний не хватает. Вот ищу адаптивные курсы по тематике программирования.

Ответить
Автор: Нина Ли
Нина Ли

Здравствуйте, Александр!
Будет немного сложно освоить программирование с нуля, но если есть достаточно мотивации и реальное желание научиться, то все возможно в любом возрасте)

Ответить
Дмитрий

Спасибо за статью. Начну с прочтения книг, а потом возьму курс от SkillFactory, чтобы понять куда двигаться дальше))

Ответить
Автор: Нина Ли
Нина Ли

Здравствуйте, Дмитрий!
Спасибо за оставленный комментарий)

Ответить

Мы иногда используем cookie-файлы, чтобы получше узнать вас и персонализировать контент :) Замечательно!