В IT много направлений, но основные из них, которые актуальны на данный момент актуальны, это:
1. Программист:
- разработка сайтов
- разработка мобильных приложений
2. Дизайнер:
- дизайнер интерфейсов, логотипов
3. Тестировщик (проверка программ на ошибки)
Программирование делится на несколько направлений:
1. Web:
- Frontend: HTML+CSS+JavaScript
- Backend: Python, PHP, Java, Ruby, JavaScript (NodeJS)
2. Мобильные приложения:
- iOS: Swift, Objective-C (устарел)
- Android: Kotlin, Java (потихоньку заменяется Kotlin-ом)
В некоторых направлениях могут использоваться не один, а несколько языков программирования. Вам не нужно изучать все, достаточно выбрать один и начать углубляться в него.
-
Frontend - это пользовательская (лицевая) сторона сайта, которую видит посетитель. С помощью языка разметки HTML формируется структура веб-страницы - заголовки, списки, таблицы, блокиб формы для ввода текста, кнопки и т.д. CSS - это язык стилизации. С его помощью можно определять цвет и шрифт текста, располоение блоков на странице и т.д. Язык программирования JavaScript (JS) позволяет оживлять страничку сайта, позволяет ей реагировать на перемещение курсора мыши, нажатие кнопок и прочие действия пользователя. Если говорить о мобильных приложениях, работающих через интернет, frontend'ом называют пользовательскую чать мобильного клиента.
-
Backend - это серверная часть сайта, которая отвечает за логику хранения и обработки данных. С fronted'a на backend шлются HTTP-запросы, на backend'e происходит обработка этого запроса, манипуляции с данными (получение из базы данных, сохранение, изменение, удаление), а затем на frontend возвращается ответ.
Если все еще ничего не понятно, можно рассмотреть это на примере Instagram. Когда пользователь заходит в приложение или на сайт, то он видит frontend, например, страницу входа: поля для ввода логина и пароля, кнопку "войти", внешний вид самой страницы, шрифты и т.д. Когда пользователь вводит данные и нажимает "войти", то с frontend'a отправляется HTTP-запрос, который содержит логин и пароль пользователя. Backend получает этот запрос, ищет в базе данных (БД) пользователя с таким логином, если такой нашелся, то проверяет, соответствует ли пароль из HTTP-запроса паролю пользователя, сохраненному в БД. Если все в порядке, то backend формирует ответ на запрос, формирует список последних публикаций людей, на которых пользователь подписан, и отправляет его на frontend. Тут frontend получает ответ, достает из ответа данные, "раскидывает" их куда надо (картинки в поля для картинок, текст под соответствующей картинкой и т.д.) и отображает на экране пользователя.
На каждом этапе обучения (первый год, второй год и т.д.) разработчику требуются разные источники получения информации и разные методы прокачивания хард-скиллов.
- Изучение основ программирования
- Знакомство с инструментами разработки
- Первые проекты
На первых этапах обучения очень полезны видеоуроки и статьи с пошаговым объяснением, т. к. человек лучше воспринимает информацию визуально. Также нужно будет изучить на базовом уровне инструменты разработки:
- IDE (для вашего языка программирования)
- Git (система контроля версий
- Принципы правильного написания кода
Для прокачки навыков кодинга можно:
- Разрабатывать простые проекты: к примеру,ToDo-лист
- Создавать тестовые (sample) проекты, чтобы "потыкать" ту или иную библиотеку и получить опыт работы с ней
- Улучшение качества кода
- Анализ чужого кода
На этом этапе вы уже имеете практический опыт кодинга и вам нужно научиться писать более масштабные программы. Для этого вам нужно посмотреть на то, как это делают другие. самый лучший способ для этого - разбор проектов на GitHub.
Зачастую в статьях пишут плохой код, т. к. этот код нужен только для обучения или для демонстрации возможностей библиотеки. Такой код, скорее всего, не писался бы в реальном проекте, поэтому чтобы узнать то, как писать хороший код, откройте какой-нибудь небольшой проект или маленькую библиотеку и попробуйте разобраться в нем/ней.
Внимание: разбор чужого кода очень сильно прокачивает скиллы. Да это тяжело, возможно нудно, но очень полезно. Не игнорируйте данный совет.
- Структуризация знаний
- Алгоритмы
После определенного периода кодинга вы можете почуствовать недостаток в фундаментальных знаниях по вашей специальности или отстутствие четкой структуры в голове. Значит, настало время обратиться к книгам. По идее, это можно сделать и на втором году обучения. Поищите самые популярные и рекомендуемые книги по вашей тематике. Кстати, некоторые рекомендации по книгам вы можете найти и в нашем репозитории, открыв страницу с вышим направлением.
Также советуем погрузиться в такие темы, как алгоритмы. Они очень полезны, т. к. расширяют границы вашего программерского сознания, и к тому же их знание бывает полезно на собеседовании.