Вступление к ІТ технологиям, или IT для начинающих

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

Так с чего все же начать?
В сфере информационных технологий можно выделить три основных роли: программисты, инженеры по качеству (тестировщики) и менеджеры.
Как правило, молодые специалисты начинают с позиций программистов или тестировщиков, а менеджерами становятся впоследствии.

Выбираете роль программиста?
Если вы задались целью изучить какой-то один язык программирования и стать программистом, сразу хочу вас предупредить — этого будет недостаточно. IT — очень динамичная отрасль, и чтобы оставаться конкурентоспособным на рынке, нужно уметь писать код на разных языках. Кроме того, нужно постоянно следить за изменениями, трендами, новинками.
Выбор языков программирования в целом зависит от ваших предпочтений. Если вы обучаетесь на специальности «Компьютерная инженерия», или на чем-то похожем, скорее всего вы изучаете C или C ++. Это хорошее начало, хотя вам может показаться, что эти языки сложные для изучения, чем другие. Однако, если вы будете знать на хорошем уровне хотя бы один из них, вам будет значительно легче овладеть и другими. И возможности ваши будут довольно широкими: C ++, например, применяется в написании кода как для Linux, так и для Windows. Лабораторных в вашем вузе будет недостаточно, чтобы овладеть этим языком на хорошем для практического применения уровне.

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

Изучая эти языки, нужно детально ознакомиться с их библиотеками и использованием этих библиотек. Java-программист должен хорошо владеть общими принципами работы семьи операционных систем Linux. Также ему необходимые навыки использования таких наборов готового функционала (фреймворков), как Spring и Hibernate.
Если хотите двигаться в популярном сейчас направлении веб-разработки (создание сайтов), здесь есть несколько вариантов. Чаще всего встречаются следующие типы веб-разработки, как front-end, back-end и full stack.

Front-end (фронтенд) — это разработка визуальной части сайта; это то, что мы видим, зайдя на любой сайт. Эту часть еще часто называют клиентской.

Back-end (бэкенд) разработка остается «за кулисами» визуальной части. Код бэкенд размещен на сервере и отвечает за отправку правильных данных в браузер для отображения на сайте.

А full stack (фулстек) разработка объединяет два описанные выше типы, то есть фулстек-программист должен уметь писать код как фронтенда, так и бэкенд.


Как вы уже могли догадаться, языки программирования на фронтенде и бэкенд — разные. Разработка фронтенда осуществляется на языках, которые живут в браузере — HTML, CSS и JavaScript. Первые два очень простые, и о них можно найти достаточно информации в интернете. А начать изучать JavaScript, например, можно из книги Дэвида Флэнеган (David Flanagan «[removed] The Definitive Guide»), решая все указанные там практические задачи. Также для того, чтобы стать фронтендщиком, нужно иметь понимание Фреймворков (Bootstrap, Foundation, Backbone.js, AngularJS, EmberJS) и JS-библиотек (jQuery and LESS).
Для бэкенд нужно знать какой-то из серверных языков (лучше несколько): PHP, Ruby, Python, Java, а также уметь использовать такие системы, как MySQL, Oracle и SQL Server для поиска, хранения, изменения данных, которые затем отправляются в фронтенд. Вы также должны на глубоком уровне понимать, как работает браузер и как отладить (debug) код в консоли разработчика.

В общем, очень важно постоянно учиться, интересоваться различными технологиями, новинками и пробовать их применять на практике. Интернет не стоит на месте и существующие фреймворки обновляются раз в несколько месяцев. Не менее часто можно столкнуться и с появлением новых фреймворков, которые не следует бояться применять. Знание новых методик может показать вас с выгодной стороны.
А для общего развития каждому разработчику рекомендем почитать книгу Стива Макконнела (Steve McConnell «Code Complete»).