Наиболее популярные школы на момент написания книги: «Тинькофф Финтех», школа программистов HeadHunter и «Школа 21» – проект Сбербанка, основанный на методике, используемой в инновационной французской школе программирования Ecole 42. Ежегодно появляются новые школы, поэтому стоит самостоятельно проверять информацию в поисковике.
Когда я работал в «Тинькофф», мы нанимали очень много ребят из нашей финтех-школы, поскольку выпускники имели хорошие базовые и практические навыки для решения повседневных задач. Сейчас обучение программированию проходит в Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге и Рязани. Доступно множество направлений, среди которых разработка приложений для iOS и Android, программирование на Python, Scala, JavaScript.
HeadHunter в своей школе обучает программированию на Java и JavaScript. Занятия проходят по вечерам в московском офисе компании. Продолжительность курса – полгода: три месяца теории и три месяца практики. По завершении обучения у вас будут хорошие шансы устроиться в компанию.
«Школа 21» отличается от классических офлайн-школ программирования. В этой школе нет преподавателей, а задания проверяют сами студенты. Также оказывается помощь в поиске оплачиваемой практики в ИТ-компаниях. Обучение в школе бесплатное и проходит в Москве и Казани. Перед началом обучения в течение месяца проходит жесткий отбор, после которого начинается более глубокое изучение программирования. Доступны все популярные языки программирования: C, C++, Swift, PHP, Pyton, Rubi, JavaScript и т. д.
Обучение в офлайн-школе подойдет не всем, поскольку большинство школ находится в Москве и крупных городах. Но если у вас есть возможность поступить и посещать офлайн-школу, то постарайтесь использовать этот шанс, поскольку это откроет для вас больше перспектив.
Я помню, как один парень ездил из Казани в Москву на каждое занятие в «Тинькофф Финтех» и в результате успешно закончил обучение, а затем получил работу.
В изучении программирования определяющую роль играет не выбранный способ обучения, а постоянство и настойчивость. Не теряйте много времени на поиски наилучшего варианта. Если сомневаетесь, начните с обучения по видеоурокам – это универсальный и бесплатный способ начать осваивать программирование.
Будьте готовы к тому, что вначале у вас ничего не будет получаться, а мысли о том, чтобы бросить обучение, будут приходить очень часто. Ваш мозг будет искать тысячу причин для пропуска занятий или переноса на потом. Все это стандартная реакция нашего организма на получение полезной, но неинтересной и сложной информации. Просто нужно продолжать двигаться вперед.
Изучение основ языка программирования и приемов прикладной разработки займет несколько месяцев. Время обучения будет сильно зависеть от того, сколько времени вы сможете выделять и насколько эффективно работать. Но недостаточно просто пройти определенный материал и выполнить практические задания – важно овладеть самостоятельными навыками создания проектов. Это важный этап на пути к поиску первой работы, о котором мы поговорим в следующей главе.
После того как вы освоили основы программирования и получили базовые навыки, самое время начинать свой проект. Создание своих проектов – один из самых важных этапов в процессе изучения программирования и развития в сфере ИТ. Это позволит вам получить реальный опыт прикладной разработки программного обеспечения, а также создать первые проекты для своего резюме.
Вам не нужно знать все тонкости выбранного языка программирования для написания своего первого проекта – пробелы в знаниях заполняются в процессе работы. Вам потребуется применить на практике все то, что вы изучили ранее, а также самостоятельно найти ответы на сотни вопросов, возникающих в процессе разработки.
Не стоит недооценивать умение искать информацию в Google. Этот навык поможет вам быстро находить ответы на возникающие вопросы. Поскольку вы программируете на одном из популярных языков программирования, то, вероятнее всего, решение вашей проблемы уже опубликовано на Stackoverflow или другом форуме. Стоит понимать, что большинство информации доступно только на английском языке, следовательно, вам предстоит искать ответы на английском.
Обладать какими-либо знаниями и уметь применять их на практике – далеко не одно и то же. Именно поэтому стоит как можно быстрей начинать работу над своим проектом. В следующих главах мы подробно рассмотрим каждый этап работы над ним.
Читать дальше