Ну, конечно, кроме терпения и упорства. Но наверняка есть способы сделать учебу проще и не тратить время и деньги на то, что не пригодится. В этой статье мы постарались описать стратегию, как выучиться на программиста с нуля, а представления о профессии пока что очень смутные. С чего начать и какие варианты обучения существуют, как выбрать нужные курсы – читайте здесь.
✔️ А зачем оно вам надо?
Вот это, пожалуй, ключевой вопрос, который следует себе задать, начиная любое дело. Ответ нужен, чтобы чётко представлять, ради чего вы преодолеваете трудности, тратите время и деньги (а это всё непременно будет – даже не сомневайтесь).
Так что ответьте себе честно: зачем вы решили стать программистом или тем более переучиться, не имея базового технического образования.
Плюсы работы программистом
Самое главное: программисты востребованы везде и всегда. Даже стажеров и джунов охотно берут в крупные IT-компании и бизнес-структуры, при условии, конечно, что они нормально покажут себя на собеседовании, а потом будут непрерывно прогрессировать и не превратятся в балласт для коллектива.
Общемировой опыт показывает: ни один программист не остается без куска хлеба с маслом. Или даже с икрой. Да, в какой-то отрасли зарабатывают похуже, в какой-то получше, где-то запредельная конкуренция и так просто в топы не пробьешься. Но заработок у программиста будет всегда, пока существуют компьютеры, гаджеты и интернет. Так что можно чувствовать себя вполне уверенно в любой точке планеты – главное, чтобы был ноутбук и надежный интернет.
К тому же программисты, особенно талантливые, это самые независимые люди на планете. У них всегда есть выбор, на кого работать и откуда работать, куда переехать на ПМЖ и какими проектами заниматься. Но, как говорится, в любой профессии свои нюансы…
Минусы работы программистом
Придется много учиться и думать головой. Потому что IT-специалисты – это люди, которым нравится думать и нагружать мозг. И если нет готовности грызть гранит науки в каждодневном режиме, лучше даже не начинать.
Конечно, играет значение первое образование: с типичным «я гуманитарий головного мозга, считать могу только с калькулятором» перестроиться будет тяжелее. Но это дело наживное. Автор статьи лично знает девушку с дипломом журналиста, которая ушла работать тестировщиком в достаточно крупную IT-компанию. Слезы, истерики, запускание учебника по Java в стенку прилагалось. Однако примерно через год она уже проходила стажировку.
Ещё один момент: программисты – это те, кто много работают, и постоянно перерабатывают. Стандартная пятидневка с её «восемь часов в день, а дальше хоть трава не расти» – она вообще не про айтишников, тем более начинающих. Есть проект, есть сроки и дедлайны, есть требования заказчиков. И всё это нужно соблюдать.
Третий момент: программисты работают в коллективах. Поэтому, если не уделять должного внимания навыкам общения и коммуникации, вы довольно быстро обнаружите, что перестали расти. Да, есть фрилансеры-одиночки, которые пишут что-то под заказ, но это либо неимоверно крутые профессионалы с многолетним опытом и кучей связей, либо наоборот – предельно посредственные ребята, освоившие одну-две операции. Как скоро такие окажутся не востребованы на рынке труда – вопрос непраздный.
✔️ Что нужно знать, чтобы стать программистом
IT-разработчик, где бы он ни работал, должен обладать техническими познаниями и умениями – это основа профессии, так называемые hard skills. Сюда можно включить:
1. Основы информатики и вычислительной техники (устройство компьютеров и компьютерных сетей, операций ЭВМ, булева алгебра, понимание двоичного и шестнадцатеричного кода);
2. Устройство алгоритмов;
3. Математический анализ;
4. Стек (от англ. stack – «штабель, пачка, стопка») языков программирования – то есть конкретные навыки создания кода. Сюда же можно добавить знание принципов объектно-ориентированного программирования (ООП), поскольку большая часть языков создана на их основе.
Есть и то, что называется 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-компаниями о стажировке наиболее способных выпускников.
В общем, курсы курсам рознь. И перед тем, как заносить кровно заработанные, внимательно читайте отзывы, изучайте истории выпускников. Ну и, конечно, помните, что никакие курсы не подменяют самообразования. Их можно рассматривать только как фундамент вашего образования.
✔️Какие языки программирования лучше изучать в 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++ или других языков программирования, которые вы учили) и так далее.
----------
Designed by freepic.diller/Freepik
#программист #IT #профессии
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев