Skip to content

Latest commit

 

History

History
93 lines (57 loc) · 9.27 KB

it-start-faq.md

File metadata and controls

93 lines (57 loc) · 9.27 KB

Частые вопросы (FAQ)

Какие направления есть в IT?

В IT много направлений, но основные из них, которые актуальны на данный момент актуальны, это:

1. Программист:

  1. разработка сайтов
  2. разработка мобильных приложений

2. Дизайнер:

  1. дизайнер интерфейсов, логотипов

3. Тестировщик (проверка программ на ошибки)

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

Программирование делится на несколько направлений:

1. Web:

  • Frontend: HTML+CSS+JavaScript
  • Backend: Python, PHP, Java, Ruby, JavaScript (NodeJS)

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

  • iOS: Swift, Objective-C (устарел)
  • Android: Kotlin, Java (потихоньку заменяется Kotlin-ом)

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

Что такое frontend и backend?

  • Frontend - это пользовательская (лицевая) сторона сайта, которую видит посетитель. С помощью языка разметки HTML формируется структура веб-страницы - заголовки, списки, таблицы, блокиб формы для ввода текста, кнопки и т.д. CSS - это язык стилизации. С его помощью можно определять цвет и шрифт текста, располоение блоков на странице и т.д. Язык программирования JavaScript (JS) позволяет оживлять страничку сайта, позволяет ей реагировать на перемещение курсора мыши, нажатие кнопок и прочие действия пользователя. Если говорить о мобильных приложениях, работающих через интернет, frontend'ом называют пользовательскую чать мобильного клиента.

  • Backend - это серверная часть сайта, которая отвечает за логику хранения и обработки данных. С fronted'a на backend шлются HTTP-запросы, на backend'e происходит обработка этого запроса, манипуляции с данными (получение из базы данных, сохранение, изменение, удаление), а затем на frontend возвращается ответ.

Если все еще ничего не понятно, можно рассмотреть это на примере Instagram. Когда пользователь заходит в приложение или на сайт, то он видит frontend, например, страницу входа: поля для ввода логина и пароля, кнопку "войти", внешний вид самой страницы, шрифты и т.д. Когда пользователь вводит данные и нажимает "войти", то с frontend'a отправляется HTTP-запрос, который содержит логин и пароль пользователя. Backend получает этот запрос, ищет в базе данных (БД) пользователя с таким логином, если такой нашелся, то проверяет, соответствует ли пароль из HTTP-запроса паролю пользователя, сохраненному в БД. Если все в порядке, то backend формирует ответ на запрос, формирует список последних публикаций людей, на которых пользователь подписан, и отправляет его на frontend. Тут frontend получает ответ, достает из ответа данные, "раскидывает" их куда надо (картинки в поля для картинок, текст под соответствующей картинкой и т.д.) и отображает на экране пользователя.

Какое направление выбрать?

Смотрю видео и читаю статьи, но у меня все перемешалось в голове, ничего не запоминаю. Что делать?

Что такое фреймворк?

Как быстро я cмогу начать работать?

Как быстро я cмогу начать получать xx тысяч?

Как мне расти как специалисту?

На каждом этапе обучения (первый год, второй год и т.д.) разработчику требуются разные источники получения информации и разные методы прокачивания хард-скиллов.

Первый год

  • Изучение основ программирования
  • Знакомство с инструментами разработки
  • Первые проекты

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

  • IDE (для вашего языка программирования)
  • Git (система контроля версий
  • Принципы правильного написания кода

Для прокачки навыков кодинга можно:

  • Разрабатывать простые проекты: к примеру,ToDo-лист
  • Создавать тестовые (sample) проекты, чтобы "потыкать" ту или иную библиотеку и получить опыт работы с ней

Второй год

  • Улучшение качества кода
  • Анализ чужого кода

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

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

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

Третий год

  • Структуризация знаний
  • Алгоритмы

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

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

Что такое хард и софт-скиллы?

Как прокачивать софт-скиллы?