Долгая дорога в IT: как выучиться на программиста с нуля

KEDU
Автор статьи

Содержание

Дата публикации 24.03.2022
Главная картинка статьи Долгая дорога в IT: как выучиться на программиста с нуля
Designed by freepic.diller/freepik

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

Зачем учиться на программиста

Вот это, пожалуй, ключевой вопрос, который следует себе задать, начиная любое дело. Ответ нужен, чтобы чётко представлять, ради чего вы преодолеваете трудности, тратите время и деньги (а это всё непременно будет – даже не сомневайтесь).

Так что ответьте себе честно: зачем вы решили стать программистом, переучиваться, не имея базового технического образования.

Плюсы работы программистом

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

Общемировой опыт показывает: ни один программист не остается без куска хлеба с маслом. Или даже с икрой. Да, в какой-то отрасли зарабатывают похуже, в какой-то получше, кое-где запредельная конкуренция и пробиться в топы чрезвычайно тяжело. Но заработок у программиста будет всегда, пока существуют компьютеры, гаджеты и интернет. Так что можно чувствовать себя вполне уверенно в любой точке планеты – главное, чтобы был ноутбук и надежный интернет.

Лучший плюс на наш взгляд в том, что программисты при наличии таланта и трудолюбия – это самые независимые люди на планете. У них всегда есть выбор, на кого работать и откуда работать, куда переехать на ПМЖ и какими проектами заниматься. Звучит неплохо, правда? Но у каждой профессии есть свои нюансы…

Минусы работы программистом

Придется много учиться и думать головой. Потому что IT-специалисты – это люди, которым нравится думать и нагружать мозг. И если нет готовности грызть гранит науки в каждодневном режиме, лучше даже не начинать.

Конечно, играет значение первое образование: с типичным «я гуманитарий головного мозга, считать могу только с калькулятором» перестроиться будет тяжелее. Но это дело наживное. Автор статьи лично знает девушку с дипломом журналиста, которая ушла работать тестировщиком в достаточно крупную IT-компанию. Слезы, истерики, запускание учебника по Java в стенку прилагалось. Однако примерно через год она уже проходила стажировку.

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

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

Что нужно знать, чтобы стать программистом

IT-разработчик, где бы он ни работал, должен обладать техническими познаниями и умениями – это основа профессии, так называемые hard skills. Сюда можно включить:

  1. Основы информатики и вычислительной техники (устройство компьютеров и компьютерных сетей, операций ЭВМ, булева алгебра, понимание двоичного и шестнадцатеричного кода);

  2. Устройство алгоритмов;

  3. Математический анализ;

  4. Стек (от англ. stack – «штабель, пачка, стопка») языков программирования – то есть конкретные навыки написания кода. Сюда же можно добавить знание принципов объектно-ориентированного программирования (ООП), поскольку большая часть языков создана на их основе.

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

  1. Умение работать в команде, обмениваться опытом, ставить и выполнять задачи;

  2. Работоспособность и стрессоустойчивость;

  3. Системное мышление;

  4. Умение решать абстрактные задачи;

  5. Навыки управления собственным временем (тайм-менеджмент);

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

Зачем программисту знать английский язык

Важное, просто-таки гигантское значение, имеет владение английским. Причина проста, как двоичный код: это международный язык общения, на котором изъясняется практически вся планета. Технари так уж точно. Вся техдокументация, все мануалы, справочники и учебники пишутся на английском, и программный код тоже весь построен на англоязычной терминологии, поскольку чисто лексически она удобнее русского. Риторический вопрос: как его писать, не зная значения слов и выражений?

Ну да, есть языки программирования с русским синтаксисом, например, «Глагол» или «Рапира», но это экзотика для энтузиастов, а не для работы. Единственное, где русский язык применим, это система 1С.

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

Путь программиста: с чего начать

Итак, вы не убоялись трудностей и твердо решили стать программистом с нуля. Как лучше действовать:

  1. Тестовый период. На данном этапе следует решить, потянете ли вы учебу или не потянете. Можно освоить какие-то несложные вещи, типа HTML и CSS, попробовать сверстать простенькие веб-страницы;

  2. Самостоятельная подготовка. Если первый этап прошел успешно, можно переходить к учебе по самоучителю, но лучше инвестировать в образовательные курсы. Здесь нужно определиться, какой язык программирования вы хотите освоить и в каком направлении двигаться. Будет идеально, если на данном этапе вы будете заниматься с наставником, у которого будет время и желание натаскивать вас по выбранной теме;

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

Сколько учатся на программиста?

Самый насущный вопрос: какое количество времени нужно потратить, чтобы вырасти хотя бы до Junior. В среднем на это уходит от полугода до 1 года при должном старании, если удачно попасть на стажировку. Без нее будет уже значительно сложнее.

Но надо понимать, что количество потраченного времени не всегда переходит в качество. Вот, например, в математических вузах на программистов учатся 4 года. Но это вовсе не означает, что по выходу получается человек, умеющий кодить. Всё проистекает из способности и главное стремления учиться. Хотя вузовские корочки на самом деле ценятся в IT-компаниях, особенно если начать стажироваться сразу с 1 курса.

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

Как бы там ни было, базовые вещи можно освоить самому. Это сложно, зато бесплатно. Первым делом составьте учебный план:

  1. Расписание занятий;

  2. Время занятий;

  3. Упражнения и лабораторные работы;

  4. Конечный проект.

В качестве проекта можно выбрать какую-нибудь несложную программу или приложение, например, счетчик калорий, сайт-визитку для своего бизнеса (если есть), клон какой-нибудь старой компьютерной игры и т.д. Кстати, неплохой тренажер по написанию сайтов есть у HTML Academy.

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

Онлайн-курсы для программистов

Что нужно знать об онлайн-курсах: они разные и сильно плавают по качеству. Есть длительные, есть интенсивы, есть индивидуальные (за дополнительную плату, естественно), есть групповые. И учат на них, разумеется, тоже разным вещам. К тому моменту, как вы «созреете» для курсов, нужно определиться с направлением, в котором вы хотите работать (веб, мобильные разработки, базы данных и т.д.).

Вот ещё несколько важных критериев:

  1. Сколько времени выделяется на практику, то есть непосредственно на написание кода;

  2. Кто преподает. Лучше, чтобы занятия вели практикующие программисты. Ещё один немаловажный момент: обратная связь с преподавателем и возможность задавать вопросы;

  3. Выдают ли после обучения какой-то документ (сертификат о прохождении курсов). Это может показаться несерьезной бумажкой на фоне отсутствия диплома, но даст некоторое подспорье при трудоустройстве;

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

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

ООО «АСТ»
Дистанционная
Программирование, учебная нагрузка 502 часа
Профессиональная переподготовка
Программирование

Какие языки программирования лучше изучать в 2022 году

Рекомендуем обратить внимание на индекс популярности языков программирования TIOBE – это интегральный рейтинг, на основе поисковых запросов. Он дает представление, какие языки сейчас пользуются спросом. Но на самом деле популярность языка ещё не означает его применимость. Инструментарий у программистов разный и куда более разнонаправленный, поэтому популярность языка вовсе не означает его востребованность.

Java

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

Где применяется:

  1. Веб-разработка;

  2. Мобильные приложения;

  3. Big Data;

  4. Программы для ПК.

JavaScript

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

Python

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

Хотя, безусловно, с него стоит начать, если вы, например, решите пойти в тестировщики.

C/C++

Полезный в качестве базиса язык, при этом также относительно прост в освоении (хотя смотря с чем сравнивать). Важно, что именно C++ лежит в основе C#, Java и JavaScript. Поэтому, изучив его, вам будет легче изучить и остальные.

Где применяется:

  • Игровая индустрия;

  • Операционные системы и программное обеспечение;

  • Оптимизация программ и приложений.

C#

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

PHP

То, что нужно знать каждому веб-разработчику наряду с пресловутым JavaScript. Отличительная особенность в том, что на PHP работают практически все сайты в интернете. И не только они, но и различные веб-приложения. В общем, мастхэв.

SQL

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

Kotlin

Нужен, чтобы писать мобильные приложения под Android. Хотя целесообразнее сначала освоить Java, а уже потом переходить на Kotlin.

Swift

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

Как стать frontend-разработчиком

Направление фронтенд – это программирование интерфейса, то есть то, что видит пользователь на экране и с чем взаимодействует. Возникло и применяется в среде веб-разработчиков, но сейчас активно перекочевало и на другие отрасли. Что нужно знать типичному frontend’у:

  • HTML – разметка страниц, их каркас;

  • CSS – таблицы стилей страниц (дизайн). Нужно освоить базовые вещи, то есть компоновку, выравнивание и видимость элементов;

  • JavaScript – базовый язык, который отвечает за функциональность страниц, то есть отправку запросов, нажатие кнопок, заполнение форм и т.д. Большая ошибка новичков в том, что они начинают с освоения фреймворков и «забивают» на чистый код.

Как стать backend-разработчиком

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

Что должен знать backend-разработчик:

  1. Устройство операционных систем (Windows, macOS, Linux);

  2. PHP. На этом языке создана масса сайтов и CMS, такие как WordPress;

  3. Программная платформа Node.js. Помогает запускать JavaScript вне браузера;

  4. Основы SQL. Даже начинающий backend должен владеть хотя бы несколькими командами в этой системе;

  5. Java;

  6. Система версий Git.

Что нужно знать fullstack-разработчику

Фуллстэки – это своеобразный гибрид первых двух направлений. По сути своей «человек-оркестр», который может и сайт на сервере развернуть, и написать под него оболочку. Можно даже не надеяться стать fullstack-разработчиком с нуля (хотя соответствующие курсы есть). Для начала нужно освоить одну сторону разработки: frontend или backend. Хотя даже в этом случае фуллстэк не будет одинаково хорош ни по клиентской, ни по серверной части.

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

Как найти первую работу в IT

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

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

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

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

  1. Какие курсы оканчивали;

  2. Где учились, стажировались, проходили переподготовку;

  3. Внятно укажите свои компетенции (какой язык программирования осваивали, что умеете, чем занимались);

  4. Приложите к резюме выпускной проект или уже законченные проекты из портфолио;

  5. Не имея опыта, указывайте, сколько практикуетесь в том или ином языке программирования. Пример: Java – 1 год, PHP – 0,5 года и так далее;

  6. Укажите уровень владения английским языком;

  7. Не забудьте добавить нормальное фото для анкеты.

Что обычно спрашивают у джунов на собеседовании

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

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

  1. Задач на логику (устных или письменных);

  2. Как работают алгоритмы поиска и сортировки данных;

  3. Как устроены объектно-ориентированные языки программирования (ООП) и что это такое;

  4. Какие есть основные SQL-запросы;

  5. Какие основные элементы/команды есть у Java (JavaScript, C++ или других языков программирования, которые вы учили) и так далее.

Курсы, выбранные нашей командой экспертов
Программа обучения
CyberED

базовый трек Администратор безопасности F-401

136 часов
93 600 ₽
Программа обучения
Институт прикладной автоматизации и программирования
Дистанционная

Инженер-программист (Python, Java,С++, PHP, С#)

532 часа
130 000 ₽
Программа обучения
Академия современных технологий
Дистанционная

Программирование, учебная нагрузка 502 часа

502 часа
64 050 ₽
Программа обучения
Колледж КЭСИ
Очная

Обеспечение информационной безопасности автоматизированных систем – очное обучение в Москве

По учебному плану
150 000 ₽
Читайте также
Все статьи