Обучение
- AI. Работа с нейросетями
- Подготовительные курсы
-
Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Fullstack
- Наука о данных
- Тестирование ПО
- Центр профессионального развития
- IT Bootcamp
- Гуманитарные и экономические дисциплины в IT
- Управление проектами и продуктами
- Бизнес- и системный анализ
- Веб-дизайн и компьютерная графика
- Системное и сетевое администрирование
- Информационная безопасность
- Маркетинг и продажи
- Английский язык для IT
Обучение
- AI. Работа с нейросетями
- Нейросети: практическое применение
- Искусственный интеллект в управлении командами и процессами
- Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Тестирование ПО
- Ручное тестирование ПО
- Мобильное тестирование приложений
- Автоматизированное тестирование на Python
- Автоматизированное тестирование на Java
- Автоматизированное тестирование на JavaScript
- Автоматизированное тестирование на C#
- Тестирование безопасности
- Гуманитарные и экономические дисциплины в IT
- Technical writing
- IT HR
- PR в IT
- Управление финансами в IT
- Управление проектами и продуктами
- Project management
- Product management: Основы управления IT-продуктом
О книгах по программированию
Часто войтишники задаются вопросом, стоит ли читать книги по программированию и какие?
Казалось бы, сегодня есть большое количество обучающих видео и даже приложений по изучению любой технологии. Однако программисты до сих пор нередко черпают знания из твердого переплета старых добрых книг.
Когда нужна книга?
Книга – это достаточно серьезный ресурс для обучения. Техническая литература не просто содержит рекомендации и способы решения кейсов, но также обозревает определенные концепции и даёт общее понимание предмета.
Техническую книгу невозможно прочесть за один вечер, в отличие от художественной. На понимание хотя бы части описанного в ней материала уйдут дни, а иногда и месяцы. Поэтому на старте брать большую техническую книгу (и тем более две) и просто читать – непродуктивный метод.
Сначала нужно определиться, что вы хотите освоить
Если браться за изучение сложных технологий, низкоуровневых языков программирования, абстрактных понятий и концепций, тогда есть смысл садиться основательно за теорию и в процессе что-то попробовать на практике.
Первый пример
Вы хотите изучить C++. В данном случае не надейтесь, что база в виде высокоуровневого языка и бесплатные туториалы за 2-3 часа помогут вам сразу взяться за код. Низкоуровневое управление памятью, массивы и множество других интересных вещей, про которые вы можете не догадываться, не дадут вам ничего сделать. Тем более ничего не выйдет, если вы выбрали C++ в качестве первого языка.
И тогда время взяться за учебник и читать, чтобы запрограммировать самый простой скрипт. То есть должно прийти понимание определенных вещей, а тогда уже можно переходить к практике.
Это может быть очень сложно. Тем более, если вы только пытаетесь войти в IT сферу. Хотите достичь быстрого результата? Найдите себе ментора или хорошие курсы.
Теперь другой пример
Если начинаешь изучать несложные технологии, где для первых экспериментов достаточно знать пару простых фактов, читать книги не стоит. По крайней мере, на старте. Экспериментировать можно начать и после базового онлайн курса. Просто потом достаточно почитать что-нибудь по теме для улучшения своих навыков.
Подведем итоги:
— начинаете изучать что-то новое и не знаете, сложное ли оно?
Попробуйте подготовительные курсы, статьи, туториалы, а за книгу возьметесь параллельно в процессе обучения;
— знаете, что технология не «rocket sсience» (несложная) – почитайте книгу, когда уже получите немного опыта, так она вам будет понятнее и полезнее;
— точно знаете, что будет сложно (например, компилированный язык или язык со сложными конструкциями и парадигмами, разработка под определенную платформу требует определенных знаний) – читайте книгу, но параллельно не забывайте практиковаться на курсах, воркшопах или самостоятельно.
Как читать книгу?
Высшая математика – это сугубо теория. Программирование – это преимущественно практика. Поэтому книги по языкам программирования, работе с фреймворками, разным видам разработки и т.п. обычно достаточно практические. Нужно всегда упражняться, чтобы материал усваивался.
Правило №1: практика и еще раз практика.
Стоит испробовать примеры из книги сразу во время чтения. Попробуйте самостоятельно их усложнить, придумайте свои задачи с применением нового материала. Листать часами книгу, не прерываясь на практическое применение новых знаний, – пустая трата времени.
Правило №2: возвращайтесь к сложным моментам.
Если технология совсем новая, с которой вы ни разу не встречались, тогда маловероятно, что вы с первого раза всю информацию в книге поймете. Поэтому лучше спустя время еще раз перечитать то, что было непонятно в первый раз.
Правило №3: лучше одна хорошая книга, чем пять не очень.
Изучая новое, иногда бывает сложно перейти к практике. Чтобы оставаться в зоне комфорта, мы тешим себя мыслями «я еще мало знаю, мне еще рано кодить». Так мы попадаем в ловушку «вечного студента», который постоянно что-то учит, но не пользуется своими знаниями. Порой, достаточно прочесть одну хорошую книгу и применить её техники на практике. Никогда не гонитесь за количеством. Иногда достаточно одного курса и одной книги, чтобы начать писать первые строчки когда.
Без этих строчек следующая объемная книга ничего не стоит.
Что читать по программированию?
Поиск хорошей литературы по вашей технологии может отнять много времени. Мы сделали небольшую подборку книг для войтишников, которые помогут вам немного разобраться с теорией программирования.
База:
«Грокаем Алгоритмы» Бхаргава Адитья
«Структура и Интерпретация Компьютерных программ» Гарольд Абельсон и Джеральд Джей Сассман
«Дискретная математика для программиста» Род Хаггарти
JavaScript:
«JavaScript. Подробное руководство» Флэнаган Дэвид
«Вы не знаете JS» Кайл Симпсон
«Data Structures and Algorithms with JavaScript» Michael McMillan
UI/UX:
«Дизайн привычных вещей» Дональд Норман
«Не заставляйте меня думать. Веб-юзабилити и здравый смысл» Стив Круг
Python:
«Изучаем Python» Марк Лутц
«Основы программирования на языке Python» Дмитрий Златопольский
«Python Экспресс-курс» Наоми Седер
C++:
«C++: базовый курс» Герберт Шилдт
«Язык программирования С++» Бьерн Страуструп
Java:
«Изучаем Java» Сьерра Кэти, Бэйтс Берт
«Java. Руководство для начинающих» Герберт Шилдт
«Алгоритмы на Java» Роберт Седжвик, Кевин Уэйн
Ruby:
«Путь Ruby» Хэл Фултон, Андрэ Арко
«Изучаем Ruby (Head First)» Джей Макгаврен
PHP:
«Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5» Никсон Робин
«PHP 7» Котеров Дмитрий, Симдянов Игорь
HTML/CSS:
«HTML и CSS Путь к совершенству» Бен Хеник
«Изучаем HTML, XHTML и CSS» Элизабет Фримен, Эрик Фримен
C#:
«Язык программирования C# 7 и платформы .NET и .NET Core» Филипп Джепикс и Эндрю Троелсен
«C# 4.0. Полное руководство» Герберт Шилдт
Читай еще
Чек-лист слушателя: как учиться на курсах с максимальной пользой
ТОП полезных ресурсов для тестировщика