Путь истинных джедаев
Мы все учились иностранным языкам. Но эти ребята хотят владеть и другими способами коммуникации. Java, Python, C++ и прочие — языки для избранных и рабочие инструменты настоящего разработчика.
В материале разбираемся в деталях: чем разработчики отличаются друг от друга, где учатся на самом деле и сколько зарабатывают после. Здесь будет много полезного для тех, кто решил написать свой первый код.
ПРОГРАММИСТЫ ИЛИ КОДЕРЫ?
Кодинг уже становится частью поп-культуры и привлекает к себе внимание молодых людей повсеместно. Однако программирование все еще стоит уровнем повыше.
Для тех, кто не в теме, кодер и программист — одно и то же. На самом деле нет. Кодер — это человек, который пишет код по четко определенным спецификациям, исполнитель, который реализует заданный план, согласно инструкциям. Программист — это тот, кто способен создавать новое, выходить за рамки, искать лучшие решения для определенных задач. Написание кода — лишь одна из возможных компетенций программиста.
ВИДЫ РАЗРАБОТЧИКОВ
В целом разработчиков можно разделить на следующие категории:
Front-end разработчик. Его работа — создание интерфейсов на сайте или в приложении. Для этой специализации необходимо овладеть HTML и CSS, знать различные фреймворки, препроцессоры (SASS/LESS), JavaScript вместе с библиотеками, а также разбираться в серверных технологиях и принципах бэкэнда.
Бывает, что фронтенд девелопер выполняет и функцию верстальщика, поэтому нужно изучить, что такое адаптивная и мобильная верстка, работу со шрифтами, графическими иллюстраторами и SEO-оптимизацию.
Специалисты этой области требуются везде, где нужно создавать интерфейсы.
Back-end разработчик. Он создает архитектуру, пишет код и может пользоваться самыми разными языками программирования, фреймворками и библиотеками. Самые популярные языки: PHP, Python, Java, Go, Kotlin, Ruby. Также обязательно нужно изучить JavaScript, MySQl, PostgreSQL и NoSQL.
Full-stack разработчик. Объединяет в себе функции фронтенд и бэкенд девелоперов и обычно работает над веб-проектами, т.е. может создать полноценный сайт «под ключ» самостоятельно.
Game Developer. Обычно Game-разработчики делятся на специализации: разработка десктопных, мобильных игр и MMORPG. Они занимаются разработкой игр с нуля, а также поддержкой, исправлением багов и другими обновлениями.
Разработчику игр нужно освоить C/С++, С# или другой язык программирования того же класса, игровые движки. Специалисты этого направления востребованы в игровых студиях и стартапах.
Android разработчик. Занимается приложениями для мобильных устройств под управлением ОС Android. В крупных компаниях разработка делится на Backend и Frontend. Но в большинстве случаев Android-программисты изучают полный цикл создания приложения, после чего могут работать с любой частью проекта.
Специальность очень котируется в игровых студиях, стартапах, компаниях, которые разрабатывают мобильные приложения, учитывая, что устройства на Android — самые распространенные на планете Земля.
iOS разработчик. Создает различные мобильные приложения под iOS. Выполняет функции, аналогичные описанию Android-программиста.
1C программист. Занимается доработкой программных решений 1С под конкретный бизнес и написанием отчетов. Программиста 1С нанимают в штат средние и крупные предприятия, которые нуждаются в постоянном обслуживании.
Инженер-программист. Эта профессия, помимо изучения языков программирования, предполагает глубокие знания в области математики, физики и смежных дисциплин. Такие специалисты чаще всего заняты в сфере разработок программного обеспечения для автоматизации производства.
Инженер-программист должен не столько владеть C/C++, сколько иметь значительный багаж технических знаний (в первую очередь, связанных с отраслью, в которой программист работает).
ГДЕ УЧИТЬСЯ?
Практически в каждом вузе есть специальности, связанные с программированием. Одна из самых популярных — прикладная математика и информатика.
К сожалению, многие вузы в России часто дают лишь теоретические знания (или экзамен по Паскалю на листочках), и тысячи студентов ежегодно выходят на рынок труда без практических скиллов и возможности приступить к работе. Приходится доучиваться.
Однако многие разработчики не имеют высшего образования совсем. Пройдя онлайн-курс, можно получить багаж знаний, необходимый для junior developer, откликнуться на желанную вакансию и получать практический опыт, иногда и сразу после школы.
В IT-сфере сейчас колоссальное количество стажировок. Успешные российские компании набирают студентов старших курсов на двух-трехмесячные стажировки с возможностью устроиться в штат на полную ставку после её прохождения.
СКОЛЬКО ДЕНЕГ?
IT остается одной из самых высокооплачиваемых сфер.
Поэтому очень прилично. В среднем где-то между 70-130 тысячами рублей — в Москве. Начинающие — от 30-40 тыс. на оплачиваемой стажировке.
В регионах цифра немного меньше. И эта цифра зависит от уровня знаний и количества языков программирования, ну, и, конечно, опыта.
Фриланс — неплохой вариант для опытных, для начала лучше идти в офис. Здесь есть стабильность и много новых задач, с которыми помогут разобраться. Для фриланса все-таки нужно обладать большой уверенностью в своих силах. Некоторые начинающие разработчики берут простые по выполнению заказы на фриланс-биржах за небольшую плату, чтобы набраться опыта. Но во всех неясных деталях придется разбираться самому.
Наибольший уровень зарплаты имеют Java и NET-программисты. Менее всех оплачивается работа системных администраторов и специалистов технической поддержки.
Оригинал материала с расширенным гидом о разработчиках находится в нашем журнале - РАЗРАБОТЧИКИ: путь истинных джедаев (подробнее о курсах, стажировках и полезных ресурсах)
Интересные вакансии, полезные статьи, мнения и личный опыт каждый день у нас Вконтакте.
Ваш аптуми.