что нужно знать начинающему айтишнику
С чего начать, чтобы стать айтишником, если вы далеки от IT
В статье мы расскажем, какие шаги предпринять, с чего начать и как построить свое обучение, чтобы стать айтишником, если вы далеки от ИТ.
Определитесь со специализацией
В первую очередь, вам нужно решить, почему вы идете в ИТ. Вам нравится делать сайты, создавать программы для операционных систем, продумывать дизайн или тестировать? Это решение станет отправной точкой в процессе обучения.
В зависимости от выбора, вы сможете определить для себя программу обучения, подготовить план и подобрать первые источники: книги, сайты или онлайн-курсы.
Учите английский язык
Если ваших знаний языка не хватает на свободное чтение, начать следует именно с него. Английский будет нужен не только для коммуникаций, вам придется много читать и искать в интернете на английском. Это может быть как техническая документация или ответ на StackOverflow, так и просто интересная тематическая статья на Medium.
Научитесь гуглить
Это второй важнейший навык, после знания иностранного языка, который жизненно необходим при обучении. Важно научится правильно формировать запросы и отсеивать ненужную информацию еще на странице выдачи.
Освойте базовые понятия
Для начала узнайте, чем отличается бит от байта, изучите базовые термины и концепции информатики, узнайте про условия, циклы и прерывания. Как работает процессор, зачем нужен веб-сервер и что за ascii – все это нужно знать, чтобы начать углубляться в ту область, которая вам интересна.
Структуры данных и алгоритмы
Структуры данных и алгоритмы – фундаментальные для разработки и ИТ понятия. Вам не расскажут о них как следует на прикладных курсах по программированию, поэтому изучите эти вещи самостоятельно.
Для начала разберитесь с терминами стек, дерево, очередь, хеш. Для понимания алгоритмов необязательно зарываться в теорию графов, но как минимум понять quicksort – должно быть вашей целью.
Ознакомиться с концепцией объектно-ориентированного программирования будет полезно независимо от того, какой язык вы выбрали и как собираетесь его применять. ООП – один из самых популярных стилей разработки, поэтому вам нужно не только знать определения основных концепций (наследование, инкапсуляция, полиморфизм), но и понимать, как они работают, уметь реализовать их в коде программы.
Базы данных
Если вы уверенно овладели синтаксисом интересующего вас языка программирования, стоит узнать как он работает с разными типами баз данных, а заодно узнать о видах БД и их различиях.
Даже если ваш язык обычно не взаимодействует с базой данных напрямую (например, JavaScript), вам нужно знать что происходит в этой области разработки: вы лучше будете понимать, как работает программа в целом.
Так как же стать айтишником?
Переучиться и сменить профессию можно всегда и в любом возрасте. Важно лишь помнить, что это очень долгий и сложный процесс. И чем позднее вы за это возьметесь, тем сложнее вам будет.
Чтобы стать айтишником, нужно настроить себя на долгий процесс изучения азов и непрерывное самообучение в течении всей карьеры. Запаситесь терпением, ведь между началом обучения и первой работой может пройти много месяцев и даже лет.
Как правильно учиться в IT — сфере. ТОП ошибок при обучении. Конкретные советы начинающим
В этой статье я постараюсь дать конкретные советы, как, на мой взгляд, правильно обучаться в IT-сфере. В том числе, разберем частые ошибки, мешающие эффективному обучению. Поговорим как про бесплатное самообразование, так и обучение на платных курсах и в университетах. Поехали!
Начнем с самостоятельного обучения. Благо, сегодня на просторах интернета есть огромное количество бесплатной информации очень хорошего качества. Бывает, что качество даже лучше, чем на платных курсах.
Так вот, информации много, она бесплатна, но, к сожалению, эффективно пользоваться ей могут далеко не все. Вот в мое время приходилось собирать все по крупицам. Обучался я крайне неверно и до сих пор избавляюсь от негативных привычек. Поэтому, давайте учиться правильно учиться
Шесть частых ошибок в обучении
Но для начала рассмотрим 6 частых ошибок в обучении, которые мешают нам достичь цели:
Советы по выбору специальности
Подойдите к выбору специальности серьезно. Если вам сложно даются точные науки, выбирайте творческие направления, такие как дизайн или менеджмент. Либо несложную разработку, например, как верстка сайтов. Не нужно гнаться за рейтингами языков программирования, слушать мнение сомнительных соседей. Нужно делать то, что нравится и проще всего дается. Хорошо освоив несложную специальность, при необходимости, вы всегда сможете ввязаться во что-то еще, и сделать это будет уже гораздо легче. Ключевой момент – это хорошо освоить специальность. Иначе, это будет перепрыгивание, и ни к чему хорошему не приведет.
Вот вам список IT — специальностей по категориям.
Интенсивность (график) обучения
И тут мы плавно переходим ко второй проблеме – это спешка. Реальность такова, что на адекватное изучение, даже сравнительно простой специальности, нужно выделить и потратить определенное количество времени. Передаю привет всем курсам «любой язык программирования за три недели»!
Так сколько же нужно времени? Точная цифра зависит от конкретного ученика, кому-то нужно больше времени, кому-то меньше, мы все разные и это здорово, но у меня есть конкретный план, следуя которому можно получить хотя бы примерные цифры.
Итак, если мы обучаемся самостоятельно, то у нас есть отличное преимущество – это возможность формировать свой собственный личный комфортный график обучения.
Например, график «два раза в неделю». Что это значит? Это значит, что два раза в неделю вы смотрите новый урок, то есть получаете новую информацию.
Интенсивность занятий зависит от многих факторов: ваша занятость другими делами, финансовое положение, количество времени, которое вы можете выделять на обучение и т.д. Будет правильным, почувствовав, что времени на усвоение темы не хватает, перейти на более медленный темп.
Важно чтобы не было спешки, чтобы вы с нетерпением ожидали каждый новый урок, немного устав практиковать одно и тоже, а не взваливали новую информацию на неокрепший фундамент. В идеале – движемся дальше только тогда, когда есть уверенное практическое понимание текущей темы. Иначе наши знания рухнут, как карточный домик, под грузом новых, более объемных тем.
Что же делать между уроками? Практиковать полученную информацию!
Советы по практике
Во время практики возвращайтесь к теории: пересматривайте уроки, перечитывайте статьи, пользуйтесь шпаргалками и справочниками.
Во время практики работайте с небольшими объемами. Его всегда легче доводить до ума. Причем не только физически, но и морально. На вас не давит большой объем, не заставляет ускоряться. Тем более, скорее всего, у вас вряд ли будет получаться нормально сделать что-то крупное. Этот факт ударит по самооценке и мотивации. А нам это точно не нужно. Намного лучше во время обучения практиковаться на мелких объемах, но делать их хорошо.
Во время практики экспериментируйте! Помимо явных задач, например, домашек, работайте с несуществующими задачами. Напишите на листочке вопрос «А что если?», приклейте на монитор. И каждый раз, работая с той или иной темой, задавайте себе этот вопрос и экспериментируйте!
Например, вы проходите псевдоэлементы. Вывели с их помощью картинку слева. Не останавливайтесь на этом. Поставьте справа, снизу, сверху. Уберите свойство «дисплей», поймите почему не работает. Запомните, что псевдоэлемент – это строчный объект, и для него по умолчанию не работает ряд CSS свойств и т.д.
Выворачивайте тему наизнанку. Так мозг тренируется решать нестандартные задачи, и технология усваивается на глубоком уровне. Ну а хорошо владея технологией, вы сможете сделать все что угодно!
Опорные пункты технологий
Стоит отметить, что в каждой технологии есть основные темы, виртуозно владея которыми можно легко достичь успеха. Советую определить эти опорные пункты и отработать их особенно хорошо.
В верстке это строчная/блочная структура, позиционирование, модули построения структур (flexbox и grid), адаптивная верстка и, конечно, базовый JavaScript.
Не стоит учить сразу все на свете теги и свойства. Важно получить базу, но железобетонную, а уже потом на нее можно будет накладывать слоями все что угодно. Плавное и комфортное развитие.
Как бороться с ленью и страхом
Что же делать с ленью, прокрастинацией и т.д.? Ну, для начала нужно признаться себе, что это именно наша лень, а не искать причины извне, которые вероломно мешают вам достичь успеха. Бывает, в своих неудачах мы виним родных, близких, независящие от нас обстоятельства и т.д. Чушь собачья. Бери и делай.
При этом с родными и близкими нужно договариваться заранее. Объяснять, что вам нужно время и покой на обучение. Но в это время не считать ворон, а усердно заниматься.
По поводу страха скажу так: как только вы поймете, что начинаете овладевать технологией, как только почувствуете, что смотрите на задачу, как Нео смотрел на матрицу, то есть совсем не так как вы смотрели на неё еще месяц назад, – вот тогда страх уйдет сам собой. Ведь дело мастера боится, а не наоборот.
Добавлю, что к контенту стоит относиться серьезно, даже если вам его просто подарили. Относитесь к нему так, как будто вы заплатили за него деньги. Бытует даже поговорка: нет ничего более дорогого, чем бесплатное.
Главная проблема самообучения
Главная проблема самообучения, которая все-таки остается, – это отсутствие фидбека о своем развитии.
Но тут есть выход – это консультации, либо менторство некого специалиста в сфере, которую изучаете. Как правило, они бесплатными не будут, но таким образом за небольшие деньги вы сможете получить информацию о текущем состоянии ваших знаний, получить ревью ваших работ и так далее.
Также существуют различные сообщества и чаты для общения и обмена опытом, где можно, находясь в кругу таких же ребят, получать хоть какой-то фидбек.
Как выбрать платный курс
Конечно, большинство озвученных ранее ошибок можно избежать, приобретая платные курсы. И это замечательно, но нужно понять, какие именно из всех курсов выбрать. И начать нужно с того, что научиться отделять курсы ради бизнеса от обучающих курсов.
Курсы – как бизнес – сегодня очень популярны. Желающих стать суперпрограммистами за три недели и зарабатывать сотни миллионов в минуту очень много. Поэтому, предприниматели открывают различные IT-школы, впаривают всевозможные интенсивы и так далее. Преподают в таких школах ребята с далеко не всегда реальным опытом и умением преподавать.
Поэтому, для начала я советую пробовать учиться самостоятельно, чтобы иметь хоть какие-то понятия про ту технологию, которую хочется изучить уже за деньги. Убедившись в том, что это ваше, стоит обратить внимание на подачу материала тем или иным преподом. Это важно. Даже если материал подается нужный, но присутствует некая раздражающая черта или занудство в подаче – это может сделать обучение неэффективным. С другой стороны, понятная и приятная подача материала, в сопровождении юмора и мотивации, сделают процесс обучения веселым приключением. В комфортной обстановке знания будут усваиваться намного лучше.
И, конечно же, очень важно учиться у практикующих специалистов. Таким образом у вас будет только актуальный набор знаний и практики, необходимый для работы в рамках конкретного курса. Вы не будете тратить время на получение лишних, либо не первоочередных знаний, которые в последствии сможете получить и сами, положив их на мощную необходимую базу.
Выбирайте курсы, где не учат делать что-то. «В конце курса мы сверстаем вот такой сайт». Выбирайте курсы, где учат технологиям. И как я уже упоминал, изучив технологию вы сможете сделать все что угодно.
Вот вам пример: если цель курса – научиться вырезать из дерева круг, то это не сделает из вас мастера по дереву. А вот научившись владеть инструментом, методиками и думать, как мастер по дереву, – можно вырезать все что угодно, решать нестандартные задачи и успешно развиваться уже самостоятельно.
При этом всем нужно понимать, что обучаясь даже за деньги, вы все равно учитесь сами, просто в этом вам немного помогают. Есть некий график, контроль, определенные объемы информации и т.д. Я к тому, что все также нужно болеть и гореть тем, что вы решили изучить. И, какой бы не был курс, нужно будет много работать самостоятельно: как во время, так и после его окончания.
Стоит ли поступать в университет?
Пару слов об образовании в институтах и универах. Да, многие говорят, что диплом никому не нужен. Но поступать и посещать ВУЗ нужно не ради диплома и даже не ради знаний. К сожалению, система образования в большинстве таких заведений желает лучшего. Поступать стоит ради жизненного опыта и невероятно полезных знакомств. Наверняка на весь универ найдутся пара толковых преподов и талантливых ребят. Вот с ними и нужно «тусить», развиваться, впитывая опыт. Кстати, очень часто знакомства и опыт именно студенческих лет помогают найти первую работу.
Стоит ли читать книги?
Что по поводу книг, спросите вы? Тут дело личное. Если вам легче получать информацию из печатных изданий – так и поступайте, но у книг на узкотехнические темы есть способность терять актуальность. Там невозможно задать вопрос, прочесть уточняющие комментарии и так далее. В этом плане информация в цифровом формате выглядит более приемлемой.
Читать нужно и важно, но я бы советовал читать что-то общее, развивающее логическое мышление или чувство вкуса, то что всегда будет актуально. Хорошим примером будет наверняка известная вам книга «Грокаем алгоритмы», которую читают большинство начинающих программистов. (https://habr.com/ru/company/piter/blog/323310/)
Как конспектировать материал?
Поговорим о конспектировании материала. И, раз уж вспомнили про информацию на бумаге, я настоятельно рекомендую вам делать заметки как во время обучения, так и во время работы – ручкой, карандашом, фломастером, – неважно, но пишите, рисуйте, разукрашивайте. Переносите мысли из головы на бумагу, доску, стену. Так информация будет усваиваться намного лучше, а решать задачи будет более наглядно.
Бумажные блокноты отлично подходят для усвоения материала, но плохо подходят для хранения шпаргалок, так как поиск может занять время. Для этих целей можно создавать скриншоты того или иного действия и хранить, распределяя по папкам.
Какие программы и инструменты использовать?
Что же насчет программ и инструментов? Многие из вас спрашивают, какой редактор выбрать? Каким сборщиком пользоваться и т.д. Спешу вам сообщить, что никакие саблаймы, вс коды, галпы, вебпаки и фотошопы с фигмами не сделают из нас специалистов. Все это инструменты, которые нужно использовать только тогда, когда они необходимы – для помощи в решении или оптимизации той или иной задачи. И выбор того или иного инструмента должен соответствовать этой задаче. Не стоит ездить на БелАЗе за хлебом, а на Порше возить картошку. Это неудобно и нелепо.
Фокусируйтесь на важном, а выбор нужного инструмента придет сам по себе в тот момент, когда вы точно будете знать, что от него хотите получить.
На чем сосредоточится во время обучения?
Так, что же самое важное? На чем сосредоточиться во время обучения? Для этого нужно понять, что именно на самом деле делает нас специалистами. Мое мнение таково, что специалист – это не тот, кто лучше всех изучил некий язык программирования, либо помнит все HTML теги; и точно не тот, кто хорошо владеет сразу тремя редакторами кода или сборщиками. Все это лишь инструменты для реализации задач, которые решаются у нас в головах. И чем быстрее, правильней и лучше мы их умеем решать, тем более востребован и дороже наш труд.
Хороший верстальщик отлично понимает принципы качественной верстки и ее предназначение. Быстро строит в голове структуру, просто глядя на макет. А знания HTML и CSS ему нужны для того, чтобы записать свое виденье для отображения в браузере.
Хороший программист сможет быстро и правильно спроектировать программу. Так как он развивал способности к абстрактному проектированию. И опять же, некий язык программирования ему нужен только для общения с машиной.
Хороший дизайнер делает дизайн, который решает задачу, не потому что умеет владеть фотошопом, а потому что постоянно развивает чувство прекрасного и занимается изучением трендов, влияния тех или иных элементов дизайна на восприятие человеком.
В итоге, уже на этапе обучения мы должны понимать — что есть основное, а что есть второстепенное в данной профессии.
Софт скилы (Soft Skills)
Также сегодня стоит уделять немалое внимание так называемым софт-скилам. Вот ряд навыков, которые стоит развивать в IT-сфере:
Обучайся, развивайся и помни – живи, а работай в свободное время!
От «ничего не понятно» до первой работы: как становятся программистами с нуля
⏱ Время прочтения — 7 минут
Шаг 1. Знакомство с веб-разработкой
Начинаем с общего знакомства с направлениями веб-разработки. Вам предстоит определиться, насколько вам подходит программирование и какое направление ближе — фронтенд или бэкенд.
Фронтенд-разработчик отвечает за внешний вид страниц сайта. Он получает от дизайнера макет и превращает в готовую страницу — она подходит под разные экраны, все кнопки работают при нажатии, а схемы или таблицы корректно отображаются.
Бэкенд-разработчик отвечает за работу сайта. Он взаимодействует с сервером — частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, а также проводит интеграции с внешними сервисами.
На этом этапе стоит потренироваться на бесплатных тренажерах. Темы тренажеров и длительность их прохождения могут быть разными. Например, занятия на тренажере «Знакомство с веб-разработкой» займут у вас 4 часа и дадут представление о базовых технологиях веб-разработки. После можно выбрать тренажеры, раскрывающие какое-то из направлений разработки более подробно. Занятия бывают для разного уровня — от новичков до опытных пользователей.
Много информации и базовых уроков есть на «Ютубе». Можно проходить их дома самостоятельно. Еще один вариант — читать книги по разработке для новичков. В обоих случаях нужно следить за тем, чтобы информация была актуальной. ИТ стремительно развивается — и есть риск получить устаревшие знания, а потом долго переучиваться заново.
К чему готовиться: если вы вообще не сталкивались с программированием, на этом этапе вам будет ничего не понятно! Это нормально. Получив первое представление о разработке, вы сможете понять, в какую сторону вам двигаться.
По времени этап займет около месяца.
Шаг 2. Обучение
После того как определились с направлением — начинаем обучение. Можно учиться самостоятельно или записаться на курсы по верстке или программированию.
Самостоятельное обучение
Бесплатно, но сложнее, чем учиться на готовых программах. Чтобы всё удалось, составьте учебный план: распишите темы, подберите упражнения и самостоятельные проекты, которые потом украсят ваше портфолио.
Идеи проектов для тренировки
Обучение на курсах программирования
На рынке много курсов для разных бюджетов, с разной длительностью и дополнительными опциями от школ — например, в HTML Academy во время обучения есть личный наставник, а после — стажировка и помощь в трудоустройстве.
Выбирая школу, важно понять, что информация в программе актуальна и на самом деле пригодится вам при трудоустройстве на работу.
Необходимая база для любого хорошего разработчика/верстальщика
Чтобы получить ее, возможно, понадобится не один, а два или три курса — например, по обычной и адаптивной верстке, а еще по JavaScript.
На курсах должны понятно объяснять базовые вещи из программирования: типы, операторы, алгоритмы, функции, циклы, объекты и структуры данных. Их понимание пригодится, даже если вы в итоге будете учить какой-то другой язык.
Инструменты (для верстки и JavaScript):
К чему готовиться: На этом этапе вы столкнетесь с первыми трудностями и чувством усталости. Делают ошибки и ощущают себя глупыми в процессе обучения практически все. Важно не поддаваться желанию опустить руки и всё бросить. Для этого правильно распределяйте время на учебу и отдых и найдите наставника. Всего изучение основ займет у вас около полугода.
Как найти наставника и что от него ожидать
На этапе обучения наставник практически незаменим. Он может проверить код, ответить на сложный вопрос, поддержать морально с высоты своего программистского опыта.
На хороших курсах за вами закрепят хорошего наставника, которому вы сможете задавать вопросы, который будет отслеживать ваш прогресс. Если вы обучаетесь самостоятельно, не переживайте, что останетесь без поддержки: киньте клич в социальных сетях и попросите кого-то из знакомых помочь вам. Еще один вариант — поискать наставника на форумах для программистов или в сообществе разработчиков. Например, в HTML Academy есть чат сообщества в «Телеграме», где можно задать любой вопрос.
Шаг 3. Углубление навыков, чтобы зарабатывать больше
Первую работу вы можете найти уже на этом этапе. Например, после курсов по верстке можно устроиться младшим верстальщиком. Зарплата в данном случае будет в районе 25–45 тысяч. Те, кто выучил основы JavaScript, смогут зарабатывать до до 40–75 тысяч на начальном этапе.
Чтобы получать больше и не заскучать, стоит продолжать обучение. Вариант для развития — выучить фреймворки, потому что программисты обычно не пишут на чистом JavaScript.
Самые популярные и прибыльные фреймворки для фронтендеров — React, Angular, Vue.js, Ember.js и Meteor. Для бэкендеров — Yii2, Laravel, Symfony, Django и Flask. Если вы знаете JavaScript, но вам понравилось делать бэкенд, попробуйте Express.js — это фреймворк для Node.js.
Знание фреймворков повышает зарплату. Средний заработок React-разработчика — около 100 тысяч. И чем дольше и лучше вы работаете, тем больше получаете.
К чему готовиться: заложите на изучение фреймворков еще от 1 до 3 месяцев.
Шаг 4. Стажировка или первая работа
Изучив основы программирования и какой-то из фреймворков, вы готовы к стажировке или первой работе.
Стажировка. Ее проходить не обязательно, но она помогает посмотреть на все рабочие процессы изнутри, набраться уверенности и легче адаптироваться к смене профессии. Компании со своей стороны заинтересованы в выпускниках и обычно готовы трудоустраивать их на позицию младших разработчиков, если стажировка прошла успешно. Часто школы принимают своих студентов на стажировку.
Трудоустройство. К этому моменту у вас уже будет наработанное портфолио — профиль на «Гитхабе» с вашими проектами. Осталось сделать резюме, указать ваши ключевые компетенции, сослаться на профиль и опубликовать на hh.ru или других сайтах по поиску работы. Пока у вас мало опыта, стоит активно откликаться на вакансии и ходить на собеседования.
Тина Кузьменко — выпускница HTML Academy, живет в Нидерландах. По образованию она журналист, но после переезда в новую страну освоила профессию и устроилась фронтенд-разработчиком в продуктовую компанию:
Еще во время учебы тщательно прорабатывала свое резюме. Позже красиво оформила фриланс-опыт по верстке. Также у меня накопилось немало личных проектов для портфолио, которые я аккуратно оформила на GitHub. Так что меня почти сразу стали приглашать на собеседования.
По итогу собеседований я получила в один день сразу два предложения. Одно из них было на мидла в продуктовую компанию Copernica Marketing Software. Его я и выбрала.
К чему готовиться: поиск работы может занять какое-то время — всё зависит от вашей активности и навыков. Если вы понимаете, что каких-то навыков не хватает и их часто спрашивают на собеседованиях, попробуйте изучить их параллельно с поиском работы.
После трудоустройства несколько месяцев уйдет на адаптацию. Не бойтесь спрашивать совета у коллег, готовьтесь много учиться (опять) теперь уже в реальных условиях. И не забудьте гордиться собой — вы перешли в новую профессию.
С чего самостоятельно начать обучение программированию: этапы освоения профессии и советы новичкам
История о том, как стать программистом с нуля
Здравствуйте, уважаемые читатели!
Решили сменить сферу деятельности, и выбор пал на программирование? Прекрасно! В этой области много востребованных, прибыльных, творческих и вдохновляющих профессий.
Но прежде чем начать обучение, подумайте и ответьте на пару вопросов: нравится ли вам программирование, готовы ли вы ежедневно посвящать этому делу время, искренне ли интересуетесь информационными технологиями, нужно ли вам вообще программирование? Если ответ на все вопросы “да”, прошу читать дальше. В противном случае, построить карьеру в IT-сфере будет весьма трудно.
Читайте статью, если хотите узнать с чего начать обучение программированию с нуля, как освоить IT-сферу самостоятельно и с помощью онлайн-курсов, кто такой программист, что надо знать, чтобы им стать.
Кто такой программист
Программист – это человек, который разрабатывает программы и алгоритмы для решения определенных задач. В своей работе он использует математическое моделирование, на основе которого пишет код. Продуктами работы программистов могут быть компьютерные игры и операционные системы, сайты и приложения.
Стать программистом может любой человек, независимо от пола и возраста. Но он должен искренне интересоваться компьютерами и веб-технологиями, ведь они непрерывно развиваются и меняются, поэтому специалисту надо мониторить изменения и постоянно обновлять знания.
Программисты обладают такими качествами, как:
Также у большинства есть высшее, чаще всего техническое, образование. Если же это гений-самоучка, то ему не помешает наработать стаж, чтобы получить должность в известной компании.
Что нужно знать и уметь
Работу программиста не назовешь простой и понятной. Для освоения этой профессии понадобится немаленький багаж знаний и умений. Сотрудник должен иметь способности к многозадачности, уметь находить контакт с коллегами, знать иностранный язык и язык программирования.
В остальном же краткий перечень требований выглядит следующим образом:
И это лишь часть того, что должен уметь делать программист.
Как стать программистом с нуля
Прежде всего надо изучать теорию алгоритмов и структур данных. Они не зависят от конкретного языка, наоборот, языки программирования устроены в соответствии с алгоритмами и структурами.
Язык – это просто инструмент для решения бизнес-задач. Поэтому новичку надо определиться с тем, как решать задачу, разбить это решение на этапы, оптимизировать процесс, чтобы не тратить время и ресурсы впустую.
После освоения алгоритмов и структур данных нужно выбрать направление программирования. Лишь потом можно приступить к изучению веб-технологий и инструментов. Это серверные языки и языки разметки, стили CSS и JavaScript, веб-фреймворки, подходящие к выбранному языку программирования.
И напоследок научиться работать с базой данных.
Подбор направления
Перед изучением языка надо определиться с направлением. У программирования широкий спектр возможностей и вариантов работы. Можно создавать сайты и мобильные приложения, игры, социальные сети, интернет-магазины, разрабатывать операционные системы и программное обеспечение.
По основной классификации программистов делят на прикладных, системных и веб-разработчиков.
Прикладные создают программы и приложения, которые решают конкретную задачу. Примерами прикладных программ могут быть онлайн-переводчики, аудио- и видеоплееры, игры, редакторы‚ мессенджеры и т. п.
Системные занимаются разработкой операционных систем и драйверов, а также условий и инструментов для их слаженной работы. Благодаря программистам сервис может работать как единый механизм. Специалисты предотвращают или устраняют перебои и ошибки в работе целого ряда программ на предприятии.
Веб-программист работает над созданием веб-сервисов и пишет для них программную составляющую. Соцсети, интернет-магазины, информационные сайты, форумы и прочее – все это труды специалистов по работе в сети.
Выбрать направление деятельности можно среди доступных профессий:
И это только часть должностей, которые может занимать программист.
Для каждой работы нужен свой инструмент, который может не подходить для создания чего-то другого. Поэтому направление – решающий фактор при выборе языка программирования для изучения.
Выбор языка программирования
Когда начинающий специалист встает перед выбором языка, ему надо учитывать количество имеющихся на рынке труда вакансий и выбранное направление.
Можно найти предложения о работе, в которых сразу написано, с каким языком надо будет работать, например, PHP-программист или программист Python.
Если же отталкиваться от направления, то надо знать, что веб-разработчик пользуется C++, Python, Java. Системный программист – Assembler, C, C++, Python. Администратор базы данных – SQL.
Ниже приведены самые распространенные и популярные представители языков программирования:
Чтобы изучить язык, сначала надо разобраться с его синтаксисом, т. е. ключевыми словами, операторами, правилами написания кода. А дальше можно перейти к более сложным конструкциям.
Если к этому времени специалист еще не приступал к изучению фреймворков, структур и баз данных, то сейчас эти знания просто необходимы. Не надо бросаться на все сразу, лучше выбрать что-то из основного: Git, SQL, HTML, CSS, XML, JSP, Maven, Spring, ORM, REST, MySQL, PostgreSQL.
Самообразование
Книги хороши тем, что их можно читать и учиться бесплатно, и тем, что они быстро погружают в тему. Рекомендую следующие пособия:
Можно использовать бесплатные обучающие платформы, сайты и приложения, форумы, где делятся своим опытом профессиональные программисты. А можно положиться только на самостоятельное обучение, но такой путь сложен для новичка. Лучше совмещать его с другими методами, например, с онлайн-курсами.
Онлайн-курсы
Новичку предлагаются курсы от онлайн-платформ GeekBrains, Нетологии, Skillbox, Coursera, beONmax. Постигать азы сферы информационных технологий можно в своем темпе и в домашних условиях. Так цена будет ниже, чем обучение в вузе.
Обучение предполагает как теоретическую, так и практическую часть. Нередко выпускники курсов имеют портфолио, диплом или сертификат, подтверждающий их навыки и знания.
Предлагаю ознакомиться со следующими обучающими программами:
Составление резюме и портфолио
Можно начать работать на бирже, чтобы было что написать про свой опыт в резюме и добавить работы в портфолио. Для первого реального опыта подойдут и небольшие проекты. Главное – начать.
Лучше выбирать иностранные биржи, особенно если есть знания английского языка. Там и заказов больше, и доход выше. Подойдут, например, Upwork и YouTeam. Если говорить о русскоязычных биржах, то популярны Kwork, FL.ru и Freelance.ru.
Заполнить портфолио могут помочь и собственные проекты, если есть идеи, возможность и желание.
А дальше можно уже перейти на специализированные сайты с вакансиями только для программистов, например, We Work Remotely и Хабр Карьера. А можно поискать работу на таких ресурсах, как hh.ru или SuperJob.ru.
У специалиста должно быть резюме, когда он откликается на вакансию. В нем надо указать правдивые факты о проектах, в которых он участвовал, и свои достижения на этой работе. Не помешает рассказать и о собственных проектах, если они есть. Это показывает профессиональный уровень и любовь к IT-сфере.
Надо указать свои знания и навыки, но не на несколько страниц, а коротко, четко и лаконично. Нужно писать саму суть, без воды.
В портфолио лучше указывать несколько самых лучших проектов, которыми специалист если не гордится, то хотя бы доволен ими.
Советы новичкам
Создайте план обучения, разбив его на этапы, рядом с которым пропишите, что именно надо выучить и с помощью каких средств. Переход от одного этапа к другому должен быть по мере увеличения сложности.
Не растягивайте обучение на полдесятка лет. Информационные технологии имеют способность быстро развиваться. И пока вы тщательно изучаете какой-то инструмент программирования, он уже может быть заменен на что-то более современное.
При обучении используйте все материалы, сервисы и знания других людей, которые будут доступны. Не пренебрегайте ничем.
При возможности общайтесь с практикующим программистом, у которого есть опыт работы. Если он согласится курировать над новичком, направлять его, указывать на ошибки и давать задания для развития – это будет отличным дополнением ко всему обучению. Особенно если начинающий специалист обучается самостоятельно.
Узнайте больше об архитектуре компьютера.
Учите английский. Большинство обучающих программ представлены на этом языке. Есть и русскоязычные, но их значительно меньше. Без иностранного языка сложно что-то найти в англоязычном интернете. А уже непосредственно при работе программисты сталкиваются с английским во время чтения и написания кодов.
Заключение
Подведем итоги. Чтобы начать обучение программированию, надо следовать поэтапно. Сделайте следующее:
И в качестве общих советов: