Программист айтишник это вообще кто такой и что мы об этом знаем? IT индустрия стремительно развивается и меняет наш мир. Меняется способ производства и конечно рынок труда.
Чтобы чувствовать себя достойно в этом динамичном цифровом процессе нужно иметь соответствующую базу. Программист айтишник — это и есть база в IT. Это необходимый навык, который сегодня приносит высокий доход и, как показывает опыт, вообще выгодно отличается от большинства современных видов занятости.
Не каждый айтишник программист, но каждый программист-айтишник! Программист — это человек, который пишет код на каком-нибудь из языков программирования. Ещё их называют разработчиками.
Разработчик vs программист
И тот и другой занимаются тем, что технически взаимодействую с компьютером, доносят до машины что нужно человеку и способ реализации. Для этого используют языки программирования. Разработчик предполагает чуть более широкий творческий охват в процессе, больше взаимодействия с другими сферами проекта, такими, например, как дизайн, маркетинг и прочее. Программист – более узконаправленная сфера, более шаблонная. На самом деле это очень условное разделение, и когда говорят программист имеют в виду разработчика и наоборот.
5 видов программистов(разработчиков)
Если квалифицировать программистов (какие они бывают и чем отличаются), то следует выделить два основных направления — это WEB и Mobile. Внутри этих направлений есть тоже более конкретные, узкоспециализированные ответвления, но если выделить именно принципиальные, самые важные, то получится вот такой расклад из 5 классических направлений:
Web разработчик:
- Frontend
- Backend
- Fullstack
Разработчик мобильных приложений:
- IOS
- Android
Web разработчик занимается разработкой веб приложений, сайтов и сервисов, объединением их в системы и адаптацию под пользователя. Интернет-магазины, онлайн-банки, обычные пользовательские сайты и маркетплейсы — это всё оно.
1.Frontend
Разработчик, который занимается реализацией клиентской части/стороны веб-сайтов и приложений. Всё то, что нам визуально отображается в сети — это работа именно фронта (Frontend-разработчика). Кнопки «подписаться», «заказать», анимация, всплывающие окна и менюшки, другими словами, интерфейс. Вёрстка сайтов, разработка пользовательских функций, интерактивные элементы и тому подобное, «красивое, стильное, функциональное оформление» — вот, вкратце, чем занимается frontend.
Что нужно знать и уметь:
- HTML- базовая технология фронтенда. HTML-это не язык программирования, это скорее можно назвать языком разметки сайта (заголовки, абзацы, картинки-всё должно располагаться там где нужно)
- CSS (каскадные таблицы стилей- cascading style sheets)- стилизация внешнего вида, корректное отображение, например, на разных устройствах с разным размером экрана
- Java Script- а вот это уже самый настоящий язык программирования, причем один из самых распространённых. Нужен для интерактивности, например движения курсора, выпадающие меню, отклики при нажатии клавиш и прочее.
- Фреймворки — это готовые макеты, готовые решения, которые нужно только грамотно интегрировать в имеющийся код
Кропотливый труд фронтенда, можно легко посмотреть на странице любого сайта, если просто нажать правую кнопку мыши и выбрать в меню «посмотреть код страницы», или просто нажать сочетание клавиш ctrl+U.
2.Backend
Закулисье web. Все технические процессы, которые происходят между клиентом и сервером обеспечивает и разрабатывает бэкенд. Хранение и обработка данных, взаимодействие с сторонними системами, безопасность, алгоритмы и многое другое. Взаимодействие сервера с клиентом происходит посредством бэкенд-разработчика. Работа бэкенда скрыта от глаз пользователя, но вот «косяк» в его работе сразу заметят многие.
Что нужно знать и уметь:
- Как минимум один серверный язык программирования (язык который выполняет обработку функций на стороне сервера). Самым базовым языком бэкенда считается PHP, но есть и масса других. Для примера бэкенд Facebook написан именно на PHP.
- MySQL- основа работы с базой данных
- Алгоритмы (набор правил, последовательность операций, для решения множества задач)
- Фреймворки. Например, Ruby on Rails (что такое фреймворк мы уже упоминали)
3.Fullstack-разработчик
Fullstack(полный стек), логически понятно, что это специалист, который объединяет и Frontend и Backend технологии. Такой универсальный специалист, который знает работу и того и другого направления разработки. Как правило такой специалист координирует работу команды программистов и имеет большие перспективы карьерного роста, которые при определённых условиях, как например заинтересованность в процессе и стремление к обучению, можно оценить как неограниченные.
Что нужно знать и уметь:
Помимо работы Frontend и Backend нужны и некоторые специфические навыки(скилы)
- Навыки коммуникации, т.к. нужно уметь грамотно взаимодействовать с командой
- Стратегическое мышление, уметь правильно оценивать тенденции рынка и своевременно реагировать на них
- Умение обучаться (например, в Frontend технологиях изменения и обновления происходят очень динамично)
- Автоматизированное тестирование фронтенда и бэкенда
Простыми словами, Fullstack-разработчик это уже больше не просто программист, а скорее организатор и руководитель проекта, который несёт ответственность не только за свою часть работы, но и за проект в целом.
Mobile-разработчики. Это программисты, которые занимаются разработкой мобильных приложений. Мобильные устройства сегодня это не только смартфоны и продвинутые планшеты, но и масса других гаджетов, например, smart-часы, GPS-навигаторы, электронные книги и прочее.
Не сложно догадаться, что количество гаджетов, а значит и приложений под них будет только расти, mobile разработка-это профессия будущего.
Уже сейчас, любая крупная (да и не только) компания не ограничивается сайтом в интернете, все знают, что нужно создавать ещё и мобильные версии своих приложений, т.к. львиная доля целевой аудитории сидит в интернете именно с мобильных устройств- это очень удобно.
В mobile нет жёсткого разделения на Frontend и Backend, здесь есть разделение на знакомые всем нам IOS и Android.
4.IOS разработчик
Разработка мобильных сервисов и приложений для продуктов Apple- iPhone, iPad и прочее. Чтобы познакомиться с работой IOS- разработчиков достаточно зайти на Apple Store. Игры, банковские приложения, доставка и всё остальное.
Рынок устройств Apple чётко организован и регламентирован (даже в сравнении с Android), поэтому разработчикам проще работать, когда заранее известны особенности устройства и предполагаемая адаптация приложений. Вся линейка версий операционной системы IOS линейна и предельно понятна, это тоже значительно облегчает и конкретизирует труд программистов.
Мировые тренды показывают, что разработчики IOS в ближайшие годы будут пользоваться высоким спросом, особенно за границей, где продукция Apple имеет более широкое распространение.
Что нужно знать и уметь:
- Swift- язык программирования, специально разработанный в 2014 году Apple для своих устройств. Быстрый, простой, устойчивый к ошибкам.
- Xcode-специальная среда разработки от Apple.Программа, в которой пишется код для IOS и в дальнейшем интегрируется с системами управления и запускается. Корректно работает только на устройствах Apple.
- Фреймворки. UIKit-есть и другие, но рекомендуется начать изучение именно с этого.
- Базы данных. Core Data, Realm, SQL-уметь составлять в них запросы и хранить данные
- JSON- формат, в котором данные в IOS передаются по сети. Сам формат основан на Java Script, поэтому и этот язык тоже надо знать.
- Графические редакторы (Figma, Sketch, Zeplin)-внешний вид приложения, за него тоже отвечает разработчик.
5.Android разработчик
Создание мобильных приложений, которые работают на операционной системе Android – работа android разработчика. Здесь линейка продукции гораздо шире, чем у Apple, хотя сама операционная система появилась на год позже IOS.
Для разработки в Android не требуется специальных устройств, можно работать с обычного ноутбука, это сильно упрощает вход в эту профессию. Сама профессия на сегодняшний день очень востребована и перспективна. Как и везде, здесь есть свои нюансы, знание которых позволит добиться наиболее быстрого роста в карьере.
Что нужно знать и уметь:
- Kotlin и Java- языки программирования. Java-традиционный язык разработки, к которому есть масса библиотек и готовых решений, однако сейчас он устаревает. Kotlin-молодой язык, разработанный лишь в 2011 году, но весьма перспективный. Для него характерна высокая скорость кодирования и повышенная производительность. Для разработчика на ОС Android важно знать оба этих языка!
- Android Studio-специальная среда разработки, настраивает интерфейс и логику продукта, в ней пишется код. Необходима для изучения разработчику, как, например, Photoshop для художника.
- XML- от англ. Extensible Markup Language — «расширяемый язык разметки». Инструмент, который передаёт данные о внешнем виде приложения
- Фреймворки-о них уже много было сказано, упомянем лишь, что для Android существуют свои, например, React Native
- Git-система для управления версиями исходного кода программ. Как правило приложения пишутся не в одиночку, а командой и не за один присест, а постепенно. Крупнейший сервис для такой работы-GitHub (крайне полезная и необходимая вещь в разработке)
- Передача данных(API и HTTP)- получение информации от сервера, подключение к базам данных, к другим приложениям, обмен пользовательскими сообщениями и т.п.
Как ещё классифицируются программисты
Программистов можно поделить ещё и по их профессиональным достижениям, или положению на карьерной лестнице. В IT компаниях выделяют:
- Junior-новичок, самая низшая ступень
- Middle- средний уровень. Ещё не матёрый волчара, но уже и не салага в разработке
- Senior-высококлассный специалист
Зарплата IT специалиста варьируется в соответствии с его профессиональным уровнем. Меньше всех получает Junior, больше всех- Senior
Без чего никогда не стать высококлассным разработчиком
Все перечисленные в этом материале навыки программиста не позволят стать топовым разработчиком с завидной зарплатой и очередью из работодателей, если не будет самого главного- знания Английского языка. Технический английский-обязательный пункт в разработке. Как бы не старались переводчики, самая актуальная, самая ценная информация по IT написана на английском языке. Это факт, который нужно принять.
Учите английский, прокачивайте свои скилы и успех не заставит себя ждать. Нет ничего невозможного, надо только упорно учиться, а учиться придётся адски много, но это того стоит.
P.S.
IT – самое прогрессивное направление научного прогресса. Перспективы развития просто фантастичны. Классик сказал: «кто владеет информацией – владеет миром!». Тогда он просто ещё не знал, как далеко вперёд сможет шагнуть человечество и каких высот достигнут технологии работы с информацией.
Знать и уметь эффективно использовать информационные технологии – вот проездной билет в светлое будущее. Начни изучение уже сейчас, не теряй времени. Бесплатная библиотека «Слюнявый джун» — идеальное место для старта в профессию будущего. Здесь вы сможете познакомиться с структурированными, четко и доступно изложенными книгами по основам программирования.
Или посетите наш телеграмм-канал. В нём обучающие видеокурсы, лекции и статьи. Информация может быть не всегда самой актуальной, но всегда бесплатная.
Рады видеть Вас на своих ресурсах!