Программист который пишет программы как называется

Всем привет! Я Лаптев Алексей, основатель и главный разработчик сервиса сквозной аналитики Utmstat и интеграций — ApiMonster. В этой статье расскажу какие бывают программисты, на чем программируют и как ими стать.

О чем статья

Так как сам разработчик, делюсь опытом что из себя представляет коммерческая разработка и как в нее войти. Полезно для тех, кто ищет точку входа и подходящий курс.

Ставьте лайк для охвата.

Типы программистов

Фронтенд-программист

Пишет на javascript продвинутый UI на сайтах, например прекрасный редактор статей на VC или ненавистные онлайн-чаты.

В последнее время в моде фреймворки React.js, Vue.js.

Это если повезет попасть в приличный продукт, а если не повезет, то пишет очередные ненужные спецэффекты в корзине no-name интернет-магазина.

Backend-программист

Тут уже серьезней.

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

Серверная бизнес-логика это:

  1. Что показать на сайте, когда вы зайдете на его url
  2. API для мобильных приложений
  3. Какие-то внутрение процессы обработки данных

Пишет обычно на php/python/go/nodejs.

Нужно знать базы данных.

Бонусом может подменить фронтенд-программиста на не очень сложных задачах.

Backend-программист на CMS

Это программисты на WordPress, 1C-Bitrix и прочих конструкторах.

Тут фокус на поднятии типовых сайтов на готовых движках.

Довольно скучно и слабое развитие.

1С-программист

Что-то пишет на 1С для бухгалтерии.

Прочие программисты таких программистов не считают программистами.

Что в целом справедливо, тк это по сути не программирование, а конфигурирование конкретного программного продукта.

Но возможно я уже не прав, не вникал глубоко.

Датасаинтист

Не совсем программист, но модная тема по работе с данными.

Строят графики на Python/R, ищут инсайты. Продвинутые работают с ML.

До программистов не дотягивают, но автоматизировать свою работу на Python/R могут.

Ценность данных специалистов не в самом программировании, а в способности автоматизированно обрабатывать и делать выводы на основе больших данных.

Системный программист

Пишет сложное ПО на C/C++ — драйверы, ОС, игры.

Если хочется быстро войти в профессию, то точно не здесь.

Какие есть языки и что они делают

JavaScript

Не путать с Java.

Весь интерактив что вы видите на сайте (лайки, лента справа) — это все пишется на javascript.

То есть его основная задача — это красивый и местами функциональный UI.

Есть еще серверная версия — NodeJs, но о ней позже.

PHP

Пожалуй лучший язык для написания серверной части веб-проектов — сайты, api. В первую очередь для тех кто-то только запускает новые сервисы и пишет MVP.

У людей с ним не работающими, есть стереотип, что это язык плохокодеров и что-то писать на нем — моветон, лучше какой-нибуть модный go или nodejs.

На мой взгляд такой стереотип сложился лет 10-15 назад в php4, когда это язык был самый популярный, простой и в тоже время не было еще сформировавшихся подходов к разработке.

Энтузиасты методом тыка или по книжкам (невероятно!) на голом php что-то пытались делать не заморачиваясь с архитектурой. А те кто потом это поддерживали и сформировали стереотип.

Сейчас же PHP дорос до 8-й версии, обзавелся фреймворками — Yii2, Symfony, Laravel и на мой взгляд не имеет никаких серьезных недостатков, при этом имеет сильные преимущества — удобный язык, одна самых высоких скоростей разработки и доступность специалистов на рынке.

Python

Раньше это был аналог PHP для сайтов. Сейчас стал главным инструментом датасаинтистов.

Веб-проекты я бы на нем не писал, выбрав PHP, но решать различные личные аналитические задачи — самое то, там богатый выбор аналитических и ML библиотек.

К слову в аналитику прекрасно может и PHP.

Многие сервисы сквозной аналитики, в том числе и utmstat написаны на PHP, но там не требуется сложной математики и специфичных библиотек.

R

Не вникал в суть языка, но вроде он заточен для аналитики.

Если вы новичек — лучше учите python.

Go

Модный язык, на котором сейчас многие переписывают проекты через микросервисы!

Этот язык нужно учить третим после PHP и Javascript.

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

NodeJS

Не работал с этим языком, но по сути он похож на Go.

Быстро работает, но сложно писать большие проекты.

Подходит для реализации небольших высоконагруженных модулей.

Swift/Objective-C

На них пишут приложения и игры под IOS (айфон).

Не самая простая штука, но несомненно актуальная.

Java

Делится на 2 части:

  1. Мобильная разработка для Android
  2. Enterprise-софт для банков и прочих аналогичных клиентов

Самый популярный язык, сложноват, скучноват, но работу всегда найдете.

Несмотря на относительную востребованность и что у всех стоит 1С, с точки зрения карьеры программиста — тупиковый путь.

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

Если между php/python/js/go можно довольно легко перескакивать, то с 1С вы туда не перескочите, оставшись весьма условным программистом с ограниченным выбором вакансий.

Но если нет амбиций на работу на международном рынке и нужна просто стабильная работа в IT — то возможно стоит учить.

C/C++

Это основа основ. На нем пишется все — прикладной софт, игры, драйверы, операционные системы.
Это точно не тот язык, с которого можно быстро войти в профессию.

Где деньги?

Судя по предлагаемым вакансиям — в Go, Javascript, Java.

Чуть поменьше в PHP/Python.

Но стоит иметь ввиду, что много платят реально опытным спецам, новичкам будет удачей устроится хотя бы на x/5-10 зарплату для набора опыта.

Как легко стать программистом

Никак.

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

Без интереса вас не хватит на 3-5 лет постоянного обучения и ломания себе мозга, от силы на 1-2 месяца.

Если решились, то выбирайте какая тематика интересна и вперед учиться.

Но все же проще всего мне кажется через фронтенд/javascript. Там минимальный набор знаний — только js/html/css. Никаких баз данных, серверов, нагрузок и сложных языков.

Куда пойти учиться

Вообще раньше учились по книжкам или мануалам. Просто брали книжку по языку и читали от и до, делая свой pet-проект. Но сейчас такой подход выглядит невероятным.

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

Или в невероятном текстовом варианте, например learn.javascript.ru. У каждого языка есть какой-то официальный курс/мануал.

Лучше всего учится на своем pet-проекте.

Найдите задачу которая вам важна и интересна, но на которую тратите много ручного труда и попробуйте ее сделать — парсер, калькулятор, график. Когда задача имеет смысл — обучение идет сильно проще, чем на синтетических примерах.

Как пройдет первый в шок и в голове что-то отложится, можно думать дальше.

Если все легко дается — можно уже искать работу на джуниора, показывая свой pet-проект.

Если не очень легко дается, можно поискать курсы, но тут надо быть очень осторожным — много скама.

Рекомендую учится у технологических компаний типа яндекса, mail.ru, сбера — они точно разбираются в разработке.

А если курс предлагает скидку 50% и зарплату в 200к, то он просто пытается вам продаться любыми способами. Я бы туда не ходил.

Тут есть неприятный факт: при найме разработчиков в основном смотрят только на опыт и реальные проекты, дипломы и потраченное на них время значения не имеют.

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

Куда пойти работать

В идеале, ваша задача попасть в следующие условия:

  1. На проекте много пользователей, что накладывает требования по стабильности работы и качеству кода.
  2. Проект пишется на стандартных популярных фреймворках, а не каком-то noname-самописе, который никому не нужен за пределами конторы. Так как вам нужен опыт работы на востребованных инструментах.
  3. В команде несколько человек и строгий тимлид, который бьет по рукам за кривой код, но при этом подскажет как правильно делать. Постоянные унижения от команды быстро поднимут скилл.

На рынке есть несколько типов контор.

Крупный сервис

Яндекс, Авито.

Это продуктовая разработка, то есть когда контора пилит свои проекты и продает какую-нибуть подписку, а не делает «сайты на заказ», продавая человеко-часы.

Там обычно нет спешки, большой грамотный проект и сильные разработчики, но шансы попасть невелики.

В идеале — сюда.

Малый сервис

Например utmstat.

Та же самая продуктовая разработка, только масштабы поменьше.

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

Но и тут не плохо, а возможно даже лучше.

Заказная разработка сложных проектов

Может быть как крупный epam, так и относительное мелкие, но известные агентства по разработке.

Тут уже продажа ваших человеко-часов, поэтому надо быстрее работать.

Сложные проекты — это известные клиенты типа банков, интернет-магазинов, телекома.

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

А большой штат и постоянная потребность в разработчиках увеличивают шанс быть нанятым на работу.

Терпимо

Заказная разработка простых проектов

Noname-контора делает проекты для noname-клиентов.

Иногда такие конторы называют «галерой», а разработчиков — «гребцами».

Начиная от региональных сайтов/приложений и заканчивая заказами из upwork.

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

Как станет скучно и несложно — надо менять место работы.

Если больше никуда не берут, то вариант неплохой.

Фриланс

Тут 3 минуса:

  1. Клиентов искать сложно, хотя как повезет.
  2. Проекты начального уровня, но для обучения нормально.
  3. Нет критики, а на старте она важна.

Ну а жирный плюс — нет собеседования и можно легко прикинуться опытным спецом.

Вполне нормальный вариант, если сможете найти клиентов.

В мире насчитывается до 10 тысяч языков программирования и продолжают появляться новые. Есть базовые языки, такие как Java и PHP и узко применимые, такие как Ruby и Perl. К тому же некоторые компании экспериментируют и создают собственные языки.

ИТ-рекрутеру, особенно начинающему, разобраться в этих тонкостях сложно, да и не нужно. А вот понимать, какие виды программистов бывают и как их отличать, — навык полезный. Расскажем об этом в статье.

Backend-разработчик

Backend Developer — наиболее популярный тип разработчиков. Они создают серверно-административную часть продукта, то есть кодят для внутренней стороны сайта, которую не видит пользователь. Такой программист разрабатывает фундамент проекта и настраивает его работу. 

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

Языки и технологии: Python, С++, Java, PHP, Ruby, Go.

Хороший бэкенд-разработчик также должен разбираться в базе данных MySQl, PostgreSQL или NoSQL.

Основные 9 видов разработчиков для ИТ-рекрутера

Frontend-разработчик

Входят в тройку самых востребованных программистов. Он отвечает за пользовательскую сторону приложения и работают на стороне клиента. Цель frontend-разработчика — сделать удобный и интуитивно понятный интерфейс для пользователя. Например, интерактивные переходы страниц, всплывающее меню, меняющие цвет кнопки — всем этим занимается frontend-developer. Также в его задачи входит правильное отображение сайта или приложения на компьютере и на разных электронных гаджетах. Ну а если в проекте отсутствует верстальщик, берет его задачи на себя — работает с HTML-кодом.

За что отвечает: пользовательский интерфейс, кросс-браузерные ошибки, верстка шаблона сайта, адаптивная и мобильная верстка.

Языки и технологии: JavaScript, CSS, интерфейсные среды (React, jQuery или Angular), HTML, препроцессоры SASS/LESS.

Дополнительные знания: серверные технологии, основы SEO-оптимизации, веб-шрифты, графические редакторы.

Full Stack-разработчик 

Это универсальный программист полного цикла, который сочетает в себе знания frontend- и backend-разработчика. Фулстек-разработчик  полностью разрабатывает web-проект или сайт: от программно-административной части до клиентского интерфейса. Такие разработчики нужны для создания полного проекта и востребованы на рынке.

За что отвечает: пользовательская и серверная часть сайта, кроссплатформенные приложения, интеграция сервисов на frontend- и backend-e.

Языки и технологии: JavaScript для браузерной части, PHP, Java или Python для серверной части, HTML, CSS, базы данных, фреймворки.

Основные 9 видов разработчиков для ИТ-рекрутера

Мобильный разработчик

К ним относятся программисты, которые делают приложения для мобильных устройств ОС Android и iOS. Помимо телефонов, к таким устройствам относятся:  GPS-навигаторы, умные часы, электронные книги. 

Как правило, Android-программисты разбираются в обеих частях приложения, отвечая за полный цикл разработки, поэтому строгого деления на frontend- и backend у них нет. 

За что отвечает: полный цикл разработки приложений для мобильных устройств.

Языки для Android-разработчика: Java, Kotlin, OpenGL, Android SDK.

Языки для iOS-разработчика: Objective-C, Swift, CoreData, CoreGraphics.

Разработчик видеоигр

Программисты, которые разрабатывают видеоигры, а именно:

  • desktop-приложения (программы, которые работают под управлением ОС и не зависят от других приложений);
  • мобильные игры;
  • ролевые онлайн-игры MMORG.

Они работают над ПО, которое предназначено для ОС Windows, Apple OSX или Linux. Некоторые Game-разработчики создают бизнес-приложения для конкретной компании.

За что отвечает: игровая разработка, веб-дизайн, обновления.

Языки и технологии: C/С++, С#, Java, Open GL/DirectX, игровые движки (Unity, Unreal Engine, Torque), графические библиотеки.

Программист 1C 

Работает с программным продуктом 1С: создает конфигурации, дорабатывает программу, настраивает программное решение под компанию.

За что отвечает: автоматизация документооборота.

Языки и технологии: типовые и нестандартные конфигурации 1С, конфигурации программы в компании («Предприятие», «Управление торговлей», «Бухгалтерия», «Зарплаты и кадры» и другие.), SQL, язык запросов 1С.

Инженер-программист

Разрабатывает программы для разных устройств на предприятиях и заводах: станки ЧПУ, конвейеры, хлебопечки и другие. Основное отличие от остальных разработчиков — техническая экспертность с опытом более 10 лет. Инженер-программист обладает  глубокими знаниями дискретной математики и физики, понимает промышленные и технологические процессы.

За что отвечает: автоматизация производства и программирование внутренних устройств.

Языки и технологии: C, C++, C#, Delphi, Assembler, технические знания.

DevOps-инженер

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

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

Языки и технологии: PHP, Perl, Ruby, Python, С++, Cloud Automation (Azure, GCP, Alibaba), Jira, системы мониторинга сетевых устройств, ОС Windows/Linux, ПО для автоматизации (Docker, Jenkins, Puppet).

Embedded-разработчик

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

За что отвечает: разработка ПО, тестирование и отладка, оптимизация  оборудования, разработка решений для диагностики сбоев устройств.

Языки и технологии: C/C ++,  Assembler, компьютерные алгоритмы, инженерные и математические знания.

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

Программисты — рок-звезды нашего времени. Если раньше они считались занудными ботаниками в засаленных свитерах, то теперь разработка стала практически синонимом успеха, а спрос на таких специалистов стабильно высокий. И 2020-й в очередной раз это подтвердил: по данным исследования, проведённого при поддержке Минэкономразвития России, каждая вторая вакансия связана с программированием.

Очевидны и другие преимущества профессии: интересные задачи, низкий порог вхождения и возможность работать удалённо — особенно актуально в пандемию. И, конечно, высокие зарплаты среднестатистический программист живёт гораздо звонче, чем представители других профессий.

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

Фронтенд-разработчик

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

Главная задача такого специалиста — верстать: расставить HTML-разметку и привязать к ней CSS-стили. А ещё добавить интерактивности: переходы, анимацию, выпадающие меню или выезжающие окна.

Когда продукт готов, он проверяет, всё ли нормально функционирует и отлавливает баги. А если что-то не в порядке с макетом, то может проявить себя в и качестве дизайнера: что-то дорисовать, отредактировать картинку в фотошопе и перенести её в код или изменить шрифт.

Пользовательский интерфейс MailChimp — сервиса email-рассылок

Пользовательский интерфейс MailChimp — сервиса email-рассылок

Где нужен. Везде, где сайт — важная коммерческая составляющая: они нужны интернет-магазинам и ритейлерам, блогам и СМИ, сотовым операторам и банкам, рекламным агентствам и развлекательным сервисам.

Часто фронтендеры требуются разработчикам приложений для бизнеса: системам управления проектами, корпоративным порталам или CRM.

Что важно знать и уметь. Фронтендер должен знать HTML, CSS, библиотеки и фреймворки JavaScript, уметь пользоваться CVS, Git, GitHub, таскраннерами, технологиями юнит-тестирования, не бояться препроцессоров и сборщиков LESS, SASS, GRUNT и GULP.

Список можно продолжить. Необходимо разбираться в темах:

  • Принципы UI/UX
  • SEO на базовом уровне
  • Адаптивная и отзывчивая вёрстка (подробнее о видах вёрстки)
  • Кроссбраузерная и кросс-платформенная разработка
  • Мобильная разработка
  • Тестирование и юнит-тестирование
  • Базы данных и SQL-запросы
  • Веб-шрифты

И, конечно, в обязательном порядке — быть на «ты» с графическими редакторами: Photoshop или Figma, а лучше и с тем, и с другим.

Стек. HTML, CSS, JavaScript и его фреймворки, TypeScript.

Полный разбор профессии фронтенд-разработчика читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

54 600 ₽

от 4 550 ₽/мес.

6 месяцев

SkillFactory

51 000 ₽

нет

7 месяцев

Skillbox

99 645 ₽

от 4 745 ₽/мес.

12 месяцев

Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!

Подписывайся на канал

Подписаться

Бэкенд-разработчик

Если фронтенд-разработчик работает с внешней стороной программ, то бэкендер — с тем, что находится «под капотом» — внутренним содержанием системы, серверными технологиями: базой данных, архитектурой и программной логикой.

Бэкенд-разработчик создаёт функции сайта, через которые пользователь взаимодействует с интерфейсом.

Фронтенд — это форма регистрации и корзина на сайте, а бэкенд — это связка полей формы регистрации с корзиной, база данных и интеграция с платёжным сервисом

Оба этих специалиста действуют в связке — так удаётся достигать лучшего результата.

Где нужен. Как и в случае с фронтендом — везде, где есть сайты и приложения.

Другое дело, что бэкендеры бывают разного уровня: в офисе условной соцсети или крупного сайта объявлений ему предстоит работать с высокими нагрузками, микросервисной архитектурой и контейнеризацией в Docker и Kubernetes, использовать и знать системы мониторинга типа Zabbix или Grafana.

А для небольшого интернет-магазина вполне достаточно связки PHP-Ajax-нужная СУБД-немного HTML, иногда и того меньше.

Что важно знать и уметь. Основные инструменты бэкенд-разработчика — серверные языки программирования: PHP, Python, Ruby, Java, Perl, Node JS. Дополнительно к Node JS полезно изучить Express — библиотеку для взаимодействия платформы Node JS с сервером и Mongo DB — базу данных для получения и хранения информации.

А ещё нелишним будет освоить фреймворки Symfony, Codeigniter, Yii, Zend Framework, Kohana и базы данных MySQL/SQLite.

Стек. PHP, Python, JavaScript, Java, C#, Go, C/C++.

Полный разбор профессии бэкенд-разработчик читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

100 750 ₽

от 3 250 ₽/мес.

9 месяцев

GeekBrains

77 000 ₽

4 277 ₽/мес.

9 месяцев

Skillbox

140 760 ₽

от 4 692 ₽/мес.

12 месяцев

Фулстек-разработчик

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

Где нужен. Компании открывают такие вакансии по разным причинам. Так, если проект несложный технически, но его нужно часто менять и дополнять — в таком случае одному человеку будет проще разобраться.

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

Что важно знать и уметь. Фулстек разбирается в бэкенде — программно-аппаратной части сервиса и во фронтенде — интерфейсе пользователя.

Фулстек может быть внутри определённой технологии — скажем, JavaScript-фулстек.

Стек. PHP, Python, JavaScript, Java, C#, Go, C/C++.

Полный разбор профессии фулстек-разработчика читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

140 760 ₽

от 4 692 ₽/мес.

12 месяцев

Skillfactory

72 000 ₽

от 6 000 ₽/мес.

12 месяцев

Skillfactory

92 502 ₽

от 5 139 ₽/мес.

15 месяцев

JavaScript-разработчик

Больше всего разработчиков на JavaScript трудится в вебе. Они создают скрипты, которые управляют интерактивными элементами на сайте: формами, слайдерами, всплывающими окнами.

Помимо веб-сайтов, такие специалисты разрабатывают:

  • браузерные операционные системы;
  • прикладное программное обеспечение;
  • приложения для интернета вещей — SMART-телевизоры, умные часы и др.;
  • макросы для офисных приложений: OpenOffice и др.

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

JavaScript используется в браузере Mozilla Firefox

JavaScript используется в браузере Mozilla Firefox

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

Заявки бывают и от флагманов отрасли, и от маленьких коллективов, выпускающих всего пару-тройку программных продуктов. Иногда таких специалистов ищут даже стартапы, обещающие хорошие перспективы сотрудникам.

Что важно знать и уметь. Само собой, язык JavaScript — по умолчанию. А всё остальное — из базового набора фронтенд-разработчика: разметку HTML и CSS, систему контроля версий Git, фреймворки react.js, vue.js, angular.js (один из них).

Стек. JavaScript, HTML, CSS.

Полный разбор профессии JavaScript-разработчика читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

41 300 ₽

3 442 ₽/мес.

6 месяца

OTUS

15 000 ₽

нет

34 академических часа

Нетология

990 ₽

нет

2 недели

Разработчик игр

Если вы обожаете играть и мечтаете создать собственный Counter Strike или Last of us, эта профессия для вас! Гейм-девелоперы работают с движками и создают с их помощью новые шутеры, квесты, аркады и головоломки.

Разработчики игр:

  • настраивают визуальная составляющую: текстуры, материалы, освещение;
  • программируют уровни;
  • интегрируют персонажей в игру и настраивают их взаимодействие;
  • внедряют анимацию, модели и эффекты;
  • разрабатывают игровые механики: то, как игра должна функционировать, что в ней должно происходить и как;
  • внедряют сторонние плагины и SDK — системы аналитики и рекламы;
  • оптимизируют код, чтобы программы работали быстрее и требовали меньше ресурсов;
  • создают дополнительные приложения.

Круг обязанностей весьма широкий — не заскучаешь.

Хидэо Кодзима

«Кодзима — гений» — фраза, которая ушла в народ и стала мемом. Хидэо Кодзима, создавший легендарную Death Stranding, — самый известный сегодня гейм-дизайнер

Где нужен. Логично — в компаниях, которые делают игры. Nintendo, Blizzard и Ubisoft ждут вас! А ещё такие специалисты могут быть интересны независимым инди-проектам. И, конечно, разработчикам игр для мобильных устройств.

Что важно знать и уметь. Прежде всего, разработчик игр должен знать игровой движок. Unity и Unreal Engine — самые популярные.

Ещё нужно:

  • Знать языки программирования. В случае с Unity — это C#. Именно на нём написан движок. Также не помешают Python, Java и C++.
  • Освоить пакет Blender, который незаменим для 3D-моделирования, визуализации и создания трёхмерной графики.
  • Понимать физику процессов — какие силы влияют на поведение персонажей и их движения.
  • Ориентироваться в игровых жанрах и знать их особенности.
  • Знать, что такое ООП (объектно-ориентированное программирование).
  • Уметь пользоваться Git.

Стек. Unity, Unreal Engine, C#, Python, Java и C++.

Полный разбор профессии разработчика игр читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

168 000 ₽

от 2 875 ₽/мес.

6 месяцев

XYZ School

56 800 ₽

от 9466 ₽/мес.

5 месяцев

Полигон

от 9 500 ₽/мес.

5 месяцев

Разработчик мобильных приложений

Разработчик мобильных приложений разрабатывает приложения для мобильных устройств: смартфонов, планшетов и умных часов.

Где нужен. Приложения могут быть самыми разными:

  • Банковские — со сложной архитектурой. Устроиться в банк стажёром почти нереально, это больше подойдёт опытным разработчикам.
  • E-commerce — это интернет-магазины, программы лояльности, сервисы заказа и доставки, такси и др. Некоторые сайты и сервисы обслуживают 70-90% клиентов с телефона, отсюда новое направление в разработке и дизайне — mobile first.
  • Образовательные — для дистанционного обучения и изучения языков, книги, коучинг, тренировки и др. Трафик в этой индустрии увеличился на 300% в 2020, и в дальнейшем рост обещает быть ещё более бурным.

А ещё такой разработчик может создавать мобильные игры — благо, этот рынок сейчас очень развит.

Пример разработки мобильного приложения на Android

Что важно знать и уметь. У каждой платформы свой мир, свои инструменты и особенности. Но чтобы начать работать хотя бы на одной из них, следует выучить английский язык, объектно-ориентированное программирование (ООП) и паттерны архитектуры приложений.

Это базовые навыки — чтобы стать сильным специалистом, нужно быть «на острие» и осваивать новые технологии.

Сейчас в тренде Flutter — кроссплатформенная технология разработки мобильных приложений от Google, которая позволяет использовать один код в разных операционных системах

Стек. Java и Kotlin для Android, Objective-C и Swift для iOS.

Полный разбор профессии разработчика мобильных приложений читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

140 760 ₽

от 4 692 ₽/мес.

24 месяца

Skillbox

140 760 ₽

от 4 692 ₽/мес.

20 месяцев

Skillbox

140 760 ₽

от 4 692 ₽/мес.

14 месяцев

1С-разработчик

«1С:Предприятие» — это пакет программ от компании 1С, которые помогают автоматизировать бухгалтерский, кадровый и управленческий учёт на предприятиях: начислять зарплату, контролировать расходы, подготавливать отчётность.

1С-разработчик внедряет 1С, адаптирует софт под потребности клиента и следит, чтобы он стабильно функционировал и выполнял всё, что требуется.

Если кратко, то 1С-разработчик:

  • Внедряет и настраивает типовые конфигурации 1С.
  • Дорабатывает функционал под бизнес-процессы.
  • Обеспечивает защиту данных и борется с вредоносным ПО.
  • Создаёт дополнительные модули, отчёты, формы.
  • Следит за обновлениями и устраняет ошибки после установки.
  • Поддерживает базы данных компании и серверы, на которых работают программы.
  • Делает бэкапы и настраивает параметры восстановления системы в случае сбоев.
  • Интегрирует 1С с другими программами и системами.
  • Составляет инструкции и оформляет техническую документацию.
  • Учит сотрудников пользоваться 1С.

Официальный сайт 1С

Официальный сайт 1С

Где нужен. Везде, где есть 1С — от ИП и мелких магазинов до крупных сетей и логистических центров, холдингов, банков и заводов. Это примерно 90% российского бизнеса.

Что важно знать и уметь. Специалист 1С работает на стыке программирования, системного администрирования и бухгалтерии. То есть не только разбирается в продуктах 1С и может написать читаемый код, но и обладает определёнными знаниями и умениями в области финансов и в состоянии без посторонней помощи решать типовые бухгалтерские задачи. Так, чтобы автоматизировать выплаты зарплат, надо знать, как вообще это происходит, что такое МРОТ и какие бывают надбавки и премии.

Стек. «1С:Предприятие».

Полный разбор профессии 1С-разработчика читайте в этой статье

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

51 750 ₽

от 2 352 ₽/мес.

6 месяцев

Нетология

47 450 ₽

от 3 954 ₽/мес.

6 месяцев

HEDU

13 500 ₽

по запросу

24 часа

DevOps-инженер

DevOps-инженер отвечает за «сборку» проекта. Это связующее звено между разработчиками и системными администраторами. Он синхронизирует и автоматизирует все этапы работы над продуктом: от написания кода до тестирования и финального релиза.

Кроме того, на плечи DevOps-инженера ложится мониторинг готового ПО и его последующая поддержка. Он совмещает сразу несколько профессий: системного администратора, разработчика, тестировщика и менеджера. Считается, что девопс — это роль для опытного сисадмина.

Где нужен. В компаниях, которые разрабатывают приложения и управляют серверами. Девопсов любят IT-гиганты вроде Amazon.

Что важно знать и уметь. Девопс умеет настраивать железо и адаптировать под него код и работать с инструментами автоматизации, тестирования и оптимизации. Обладает опытом администрирования ОС Windows и Linux. Может написать скрипты и код, подкован в сетевых технологиях.

Стек. Linux, Bash, Python, Perl.

Все курсы по DevOps — здесь

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

ProductStar

39 912 ₽

от 1 663 ₽/мес.

2 месяца

Skillbox

82 800 ₽

от 3 764 ₽/мес.

12 месяцев

Skillbox

98 280 ₽

от 2 966 ₽/мес.

24 месяца

Data Scientist

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

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

В IT-сфере дата-сайентист разрабатывает ботов и алгоритмы.

Ютуб написан на Python, а искусственный интеллект подбирает рекомендации и администрирует платформу

Развивающиеся сферы: NLP, natural language processing — распознавание человеческой речи, компьютерное зрение и разработка алгоритмов искусственного интеллекта.

Что важно знать и уметь. Обязательно знать математику и методы статистики. Ещё нужно знать алгоритмы машинного обучения и уметь работать с базами данных.

дата-сайентист

Это всё, что нужно, чтобы стать уверенным дата-сайентистом по состоянию на 2013 год. Вполне достижимо, да? Источник: Swami Chandrasekaran

Стек. Python, R, SQL.

Все курсы по Data Science — здесь

Курс

Школа

Стоимость со скидкой

В рассрочку

Длительность

Ссылка на курс

Skillbox

124 416 ₽

6 912 ₽/мес.

18 месяцев

Skillbox

95 040 ₽

3 960 ₽/мес.

13 месяцев

Skillbox

95 040 ₽

3 960 ₽/мес.

14 месяцев

Как выбрать направление: шпаргалка

Чтобы вам было легче выбрать, мы свели все, какие есть направления программистов, в таблицу — сравнивайте и выбирайте!

Специализация  Что делает  Стек 
фронтенд-разработчик пользовательские интерфейсы HTML, CSS, JavaScript и его фреймворки, TypeScript
бэкенд-разработчик функции сайтов и приложений,через которые пользователь взаимодействует с интерфейсом PHP, Python, JavaScript, Java, C#, Go, C/C++
фулстек-разработчик бэкенд и фронтенд сайтов и приложений, полностью функциональные продукты с нуля PHP, Python, JavaScript, Java, C#, Go, C/C++
JavaScript-разработчик скрипты, управляющие интерактивными элементами на сайте JavaScript, HTML, CSS
разработчик игр десктопные, мобильные и веб-игры  Unity, Unreal Engine, C#, Python, Java и C++
разработчик мобильных приложений мобильные приложения для Android и iOS Java и Kotlin для Android, Objective-C и Swift для iOS
1С-разработчик «1С:Предприятие» «1С:Предприятие»
DevOps-инженер программный продукт — от начала до конца  Linux, Bash, Python, Perl
Data Scientist прогнозы, аналитику и математическое моделирование Python, R, SQL

А если вам уже не терпится начать — выбирайте любой курс из лучших в подборке и ныряйте в программирование

Не знаете с чего начать?

Получите персональный список курсов, пройдя бесплатный тест по карьере

Пройти тест

Подбор онлайн-курсов

Представьте себе постапокалиптическую картину мира без программистов. Драконы из «Игры престолов» превратятся в черно-белых Годзилл. Исчезнут чаты, мессенджеры и даже тетриса не будет. Мы нуждаемся в программистах. Они пишут коды для смартфонов, компьютеров и стиральных машин, заставляя технику работать. Но это далеко не все. У профессии много направлений и специализаций, каждая из которых имеет свои особенности и сложности, зарплата также зависит от того, чем занимается программист.

виды программистов

Web-разработчик

Самым востребованным на 2017 год видом профессии «программист» является веб-разработчик. К этой категории относятся специалисты по созданию сайтов.

Условно веб-мастера делятся на три группы:

  • разработчик Frontend;
  • Backend-программист;
  • Fullstack-девелопер.

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

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

какие бывают программисты виды

Кто такой фронтенд-разработчик?

Видимая часть интернет-ресурса, открывающаяся в браузере после ввода запроса, называется клиентской или фронтендом. Оформлением, цветовой гаммой, расположением заголовков занимается дизайнер. Художник рисует будущий макет и передает его верстальщику, который превращает его в HTML-шаблон. На этом этапе подключается веб-программист и добавляет интерфейсу динамики.

Фронтенд разработчики – это вид программистов, отвечающих за создание виджетов, кнопок, выпадающего меню, слайд-шоу. Все интерактивные элементы появляются на страницах благодаря им. Они пишут скрипты на JS, включают их через HTML-теги и следят за тем, чтобы каждая часть кода работала правильно.

виды деятельности программиста

Инструменты фронтенд-разработчика

Писать код на HTML, CSS и JavaScript не достаточно. Чтобы оставаться конкурентоспособным на рынке труда, Frontend-разработчик должен знать следующее:

  1. jQuery. Библиотека JavaScript с коллекцией плагинов и расширений. Вместо того чтобы писать код с нуля, jQuery позволяет добавлять и настраивать готовые элементы. Например, автозаполнение форм, слайд-панель, таймер, связанная анимация.
  2. Фреймворки Bootstrap, Foundation, Backbone, AngularJS и EmberJS. Это программные оболочки повышающие производительность ресурса. Предоставляют готовый дизайн и существенно облегчают жизнь разработчика.
  3. Препроцессоры SASS и LESS. Добавляют CSS функциональности, обрабатывает код, превращая его в отформатированный и кросс-браузерный CSS.
  4. Популярные CMS — адаптивная верстка и кросс-платформенность.

Обязанности и виды деятельности программиста включают отладку и тестирование клиентской части. Веб-инженер проверяет отдельные блоки исходного кода на ошибки. Тестирует интерфейс, узнает, насколько пользователям будет удобно взаимодействовать с приложением. Также фронтенд-специалист должен разбираться в азах серверного программирования, технологиях Node.js, помимо JS писать на PHP и SQL.

Зарплата и перспективы

Средний оклад мастера составляет 66 тысяч 410 рублей в месяц. В США эта сумма вырастает до 102 тысяч долларов в год. Высокие зарплаты, легкость языка разметки и написания скриптов привлекает начинающих кодеров к фронтенд-разработке. Освоив JS, большинство из них переходит к серверным языкам. Самые талантливые учат высокоуровневые C и Java, постепенно осваивают геймдев, создание приложений и другие виды информационной деятельности программиста.

Программист серверной части

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

Программист серверной части – это следующая эволюционная ступень после фронтенд-разработчика. Его задача заставить сервер, приложение и БД взаимодействовать. Пишет на серверных языках PHP, Ruby, Python, Java и .Net. В качестве инструментов для работы с данными использует MySQL, Oracle и SQL Server. В описаниях вакансии работодатели часто указывают дополнительные требования:

  • знание фреймворков PHP: Zend, Symfony и CakePHP;
  • опыт работы с программным обеспечением контроля версий SVN, CVS или Git;
  • навыки работы с операционными системами Linux, Unix, MacOS X и Windows Server.

Создание веб-приложения – это сложный многоуровневый процесс, в котором участвуют несколько специалистов. Поэтому бэкенд-разработка является командной работой. При написании кода, программист взаимодействует с дизайнерами, верстальщиками, менеджерами и заказчиками.

виды работ программистов

Разработчик Fullstack

Это вид работы программиста, включающий в себя все этапы создания веб-приложения. Fullstack developer –мастер на все руки, пишущий одновременно клиентскую и серверную часть. Первые упоминания о профессии появились в 2010 году после статьи сотрудника Facebook Карлоса Буэно. С этого момента компания нанимает работников исключительно уровня Fullstack.

Обязанности универсального веб-программиста:

  1. Серверное администрирование. Подключение через терминал к удаленным серверам без GUI. Управление пользовательскими группами, брандмауэрами, программами Apache и Nginx. Фулстак-программист должен все знать об облачном хостинге на платформах Heroku, Google Cloud, Azure, AWS и любых других.
  2. Создание бэкенда и базы данных. Специалист должен разбираться в базах данных MySQL, PostgreSQL, а также БД noSQL: MongoDB, Redis или Cassandra. Иметь представление о графовых СУБД, таких как Neo4j.
  3. Фронтенд-разработка и дизайн. Помимо стандартных обязанностей, верстки и подключения JS, Fullstack-мастер проектирует макет в редакторах Photoshop или Illustrator.

Фулстак-разработчики – это специалисты уровня Senior Developer. За ними охотятся хедхантеры и у них самые высокие оклады. В США зарплата Fullstack Developer начинается от 70-80 тысяч долларов и от 25-30 тысяч долларов в странах Восточной Европы. На иностранных биржах фриланса, например Upwork, один час работы Fullstack-разработчика оценивается в 30$ и выше.

Специалист по созданию и разработке компьютерных игр

Разработка компьютерных игр – одна из самых быстроразвивающихся сфер ИТ-технологий. По данным аналитического агентства NewZoo объем рынка видеоигр с каждым годом увеличивается на 9%. Если в 2016 году он составил почти 100 миллиардов долларов, то к 2018 году эта сумма увеличится до 112.5 миллиардов. Поэтому «инженер видеоигр» – это перспективная и высокооплачиваемая должность.

Инженер, или Game-разработчик – общее название категории специалистов, задействованных в процессе создания игры. Главная задача – превратить идею в программный код и заставить все элементы взаимодействовать. 90% рабочего времени программисты пишут и отлаживают алгоритмы на языке C++, Visual Basic, Java и MEL.

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

виды профессии программист

Какие бывают виды программистов игр?

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

  • Ведущий программист по звуку: пишет утилиты, чтобы аудио и видео эффекты сочетались.
  • Разработчик игрового движка.
  • Специалист UI или создатель графического интерфейса.
  • Инженер искусственного интеллекта для имитации логики и принятия персонажами решений, особенно в играх, где от игрока зависят действия противника.
  • Программист геймплея: стратегия игры, реализация механики и логики.
  • Инженер устройств ввода. Пишет код для джойстиков, клавиатуры, мышки и устройств, с помощью которых пользователь будет взаимодействовать с видеоигрой.
  • Программист коммуникационных сетей для многопользовательских игр.

За свой труд на благо игровой индустрии данный вид программистов получает зарплату от 60 тысяч рублей. Доход инди-разработчиков точно просчитать сложно. Есть случаи, когда успешные проекты приносили миллионы буквально за неделю. Например, игра-хит Punch Club, Angry Birds и всем известная «Майнкрафт». Существуют, конечно, провальные задумки наподобие Scroll Ninja, не оправдавших ожидания создателей.

 программист виды направлений

Системный программист

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

Разрабатывается программное обеспечение под различные операционные системы, включая серверные Unix и Windows Server, а также мобильные платформы. Код пишется на языках «Си», за редким исключением Assembler. Основная задача системного инженера заключается в установке, настройке, тестировании ОС и всех ее компонентов

Различные виды профессии «программист» требуют от специалиста определенных навыков, опыта работы и уровня владения компьютерными языками. Но труд именно системных инженеров является самым сложным. Для создания ПО нужны углубленные знания информатики, алгебры, математики и построения алгоритмов.

Системный программист необходим в любой сфере ИТ, включая автоматизацию процессов производства и мониторинг безопасности. В США за труд специалиста готовы платить от 87 до 104 тысяч долларов. В Англии 57 тысяч фунтов стерлингов, в России 90 тысяч рублей.

виды информационной деятельности программиста

Инженер прикладного программного обеспечения

Данный вид программистов создает не системное, а прикладное ПО. Это программы, или приложения, которые взаимодействуют с пользователем непосредственно. Например, текстовые и графические редакторы, базы данных, аудио и видео плееры.

Работа прикладного инженера заключается в написании кода, его последующей компиляции, отладке и тестировании. Иногда специалист обновляет или вносит изменения в уже существующее ПО. Для программирования использует высокоуровневые языки Java, C#, C++, Python, PHP. Прикладные программисты редко трудятся в одиночку. В основном, они являются участниками стартапов, или входят в штат сотрудников компании, занимающейся разработкой компьютерного софта.

«Программист» – интересная и разнообразная профессия с множеством направлений и специализаций. Одни делают виджеты для сайтов и проектируют API, другие пишут код для серверов или корпят над графикой Disciples III. Каждый, кто любит программировать, может реализовать себя в веб-разработке, стать именитым создателем игр или писать программы для спутников НАСА.

Какие кодеры наиболее востребованы в нашей стране?

Если сказать простому человеку, что ты работаешь программистом, то в ответ можно услышать одну из следующих реплик:

  • «Мне надо переустановить Windows. Я всю жизнь ждал того, кто сделает это для меня. А потом пойдем чинить тостер.»;
  • «О! Ты можешь помочь мне с лабораторной работой на VBA!»;
  • «За сколько сможешь сделать сайт для магазина моей мамы?»;
  • «Да ну! Скучная и дурацкая профессия. Я вот как-то пробовал разобраться с 1C…».

Если в ответ сказать, что ты ни разу не делал сайты и лабы на VBA, а Windows видишь только в страшных снах, то собеседник может искренне удивиться и на его лице отразится искреннее сомнение в твоей профессиональной пригодности. Некоторые разработчики слабеют под таким взглядом и идут доказывать, что они что-то могут. Из-за таких лохов в голове обывателя слово «программист» является синонимом понятия «бесплатная компьютерная помощь».

Ведь многие люди не знают, чем на самом деле занимаются программисты и судят об этом по навыкам своих родственников/знакомых. Но разные представители специальности делают абсолютно разные вещи и нельзя говорить за всех.

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

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

1. Front-end веб-разработчик

front-end-dev

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

Где работает?

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

Что делает?

Разрабатывает динамику пользовательского интерфейса. Если в компании нет верстальщика, то еще и переводит PSD-шаблоны в HTML-код.

Технологии

  • HTML и UI фреймворки (Bootstrap, Foundation, Pure);
  • CSS и препроцессоры (SASS/LESS);
  • JavaScript + фреймворки/библиотеки на этом языке (Jquery, ReactJS, AngularJS, BackboneJS);
  • Утилиты для сборки проектов (Grunt, Gulp, Bower).

2. Back-end разработчик

backend-dev

Человек на плечи которого ложиться основное бремя по разработке веб-проекта. Он как бы строит фундамент, на который front-end разработчик прицепляет «декоративные элементы».

Где работает?

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

Что делает?

Разрабатывает “ядро” сайта или веб-приложения: код исполняемый на сервере и архитектуру базы данных.

Технологии

Один из нижеперечисленных языков и фреймворки/библиотеки для него:

  • PHP;
  • Ruby;
  • Python;
  • Java;
  • Go;
  • JavaScript.

А также:

  • Базы данных MySQl/PostgreSQL/NoSQL.

3. Full-stack веб-разработчик

Человек, который может сделать сайт любой сложности «от и до».

full_stack

Где работает?

Чаще всего в стартапах и небольших студиях веб-дизайна. В крупных компаниях содержится в команде наряду с front-end и back-end разработчиками, чтобы контролировать и координировать их работу.

Что делает?

Сайты и веб-приложения. Выполняет работу front-end и back-end разработчика одновременно.

Какие технологии ему желательно знать?

См. списки двух предыдущих типов.

4. Разработчик игр

gamedev

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

Где работает?

В игровых студиях.

Что делает?

Разрабатывает игры.

Какие технологии ему желательно знать?

  • С#/C++/Java;
  • Open GL или DirectX;
  • Один из игровых движков (Unity, Unreal Engine, Torque и другие).

5. Разработчик приложений под Android

android_developer

Где работает?

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

Что делает?

Разрабатывает приложения под операционную систему Android.

Какие технологии ему желательно знать?

  • Java;
  • Android SDK;
  • OpenGL;
  • Android Studio.

6. Разработчик приложений под iOS

ios_dev

Где работает?

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

Что делает?

Разрабатывает приложения под операционную систему iOS.

Технологии

  • Objective-C;
  • XCode;
  • OpenGL;
  • Cocoa Touch;
  • CoreData;
  • CoreGraphics.

7. Программист 1C

1c

Многие разработчики не считают язык, встроенный в 1C, языком программирования, а людей, которые пишут на нем, программистами. У них есть на это свои основания. Тем не менее, людей которые называют себя программистами 1C и вакансий для них очень много.

Где работает?

В любой фирме активно ведущей экономическую деятельность. Часто не включен в основной штат сотрудников, а приходит пару раз в месяц или реже.

Что делает?

Пишет программы для автоматизации документооборота в компании.

Технологии

  • «1С:Управление торговлей»;
  • «1С:Бухгалтерия»;
  • «1С:Зарплата и кадры»;
  • T-SQL.

8. Инженер-программист

Если одним из 7 предыдущих типов можно стать отучившись на курсах или путем самообразования, то инженеров-программистов выпускают только технические ВУЗы. Часто на этих должностях работают люди старше сорока лет, получившие образование в советское время.

dev-engineer

Где работает?

На производстве или в научном учреждении.

Что делает?

Разрабатывает программы для управления самыми разными устройствами: от печи на хлебозаводе до робота-пылесоса.

Технологии

Один из нижеперечисленных языков:

  • C;
  • C#;
  • C++;
  • Java;
  • Delphi (жил, жив и будет жить!);
  • Assembler.

+ огромный багаж технических знаний, соответствующий отрасли в которой человек работает.

Если посмотреть объявления о найме программистов на российских сайтах, то 90% из них будут подходить под эти семь типов. На Западе рынок вакансии несколько разнообразнее. Кто интересуется, может зайти на Odesk и посмотреть, какая работа там предлагается.

odesk

С грустью замечаю, что 14-летние пакистанцы требуют там за html-верстку от 500 рублей в час.

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

tiobe-index

P.S. Напоследок, жизненный анекдот в тему.

Если бы водителей нанимали на работу так же как программистов:
Вакансия: водитель.
Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями, троллейбусами, трамваями, поездами метрополитена и фуникулёра, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами “Формулы 1″ — приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, бортовых компьютеров, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих производителей. Опыт проведения кузовных и окрасочных работ — приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.
Зарплата: определяется по результатам собеседования.

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (33 голосов, общий рейтинг: 4.76 из 5)

🤓 Хочешь больше? Подпишись на наш Telegram.

undefined

iPhones.ru


Какие кодеры наиболее востребованы в нашей стране? Если сказать простому человеку, что ты работаешь программистом, то в ответ можно услышать одну из следующих реплик: «Мне надо переустановить Windows. Я всю жизнь ждал того, кто сделает это для меня. А потом пойдем чинить тостер.»; «О! Ты можешь помочь мне с лабораторной работой на VBA!»; «За сколько…

  • Подборки,
  • программирование,
  • Это интересно

Ирина Чернова avatar

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

Кто такой программист и какие существуют типы разработчиков?

Итак, кто же это такой — “программист”? Программист — это специалист по разработке программ, или, проще говоря, человек, который может написать код для программы, используя различные языки программирования. Различают разные типы разработчиков, каждый из которых специализируется на определенном виде деятельности. Мы предлагаем детально разобраться в видах программистов и том, что конкретно они делают.

Виды профессий программистов 

Если мы говорим о видах профессий программистов, стоит отметить, что, в зависимости от специализации, выделяют две крупные категории разработчиков: прикладные и системные. Мы предлагаем разобраться, какие специалисты занимаются разработкой конкретных программ, а какие — более глобальными задачами.

Представитель одного из видов профессий программистов за работой

Прикладные программисты 

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

Системные программисты

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

Виды программистов и их деятельность 

Однако среди двух крупных категорий разработчиков можно выделить 12 видов специальностей программистов:

Back-end

Back-end разработчик специализируется на логике программных систем, проще говоря, на том, что заставляет систему работать так, как нужно программисту, а также оптимизация ее работоспособности. Это самый распространенный тип разработчиков, который занимается разработкой систем, обрабатывающих и хранящих данные.

Базовые специалисты данного типа веб разработчиков работают, используя самые популярные языки программирования — Java, C ++ и Python. Однако, если ваше резюме пополнится знанием более инновационных языков программирования (например, Go или Rust), вы сможете претендовать на более высокую заработную плату.

Front-end 

Один из самых распространенных типов программистов это front-end программисты. Front-end разработчики специализируются на разработке и оптимизации пользовательских интерфейсов, которые используются на страницах веб сайтов для взаимодействия с пользователями и клиентами. Этот вид программистов по роду своей деятельности заинтересован в развитии интуитивного понимания для уже имеющихся интерфейсов и разработке новых пользовательских решений. Эта работа подразумевает наличие знаний мобильных языков программирования JavaScript и CSS, а также знание основ работы с React, Angular или jQuery.

Full-stack 

Какие есть типы программистов, объединяющие в себе особенности нескольких видов разработчиков? Несомненно, full-stack разработчиков можно отнести к этой категории. Они объединяют в себе навыки front-end и back-end программистов и могут работать как с пользовательскими интерфейсами, так и с логикой программных систем. Данный тип разработчиков является более универсальным и распространенным среди остальных видов программистов.

Desktop

Список видов программистов пополняет desktop разработчик. Они занимаются разработкой и оптимизацией программ, предназначенных для ноутбуков и настольных компьютеров. Например: Windows, Apple OSX или Linux. Программисты данного профиля должны владеть частью навыков back-end специалистов, а также быть знакомым с SDK и графическими библиотеками, таких как XAML, Cocoa или .NET.

Mobile

В противовес desktop разработчика, специалисты mobile программирования занимаются разработкой ПО для мобильных устройств. Этот тип программистов относится к front-end разработчикам с уклоном в мобильные технологии. Они отличаются более детальным подходом к изучению языков для написания  программного обеспечения (Objective C и Swift для iOS, Java / Kotlin для Android), а так же специализированные приложения и системы.

Графические

Продолжая разбирать, какие есть виды программистов, отметим, что существуют графические программисты, которые работают с видеоиграми и спецэффектами. Эти специалисты, в основном, занимаются реализацией собственных проектов или  рендерингом, визуальными эффектами в играх, фильмах, телешоу и других средств масс медиа. Такой тип разработчиков имеет узкоспециализированные навыки, в то же время обладая обширными знаниями по базовому программированию. Графические программисты обычно свободно владеют такими языками программирования, как Java, JavaScript и C ++.

Инженер баз данных

Следующий тип разработчиков, который мы хотим рассмотреть, это инженеры баз данных. Они создают и управляют системами баз данных, а также системами и приложениями, используемыми для извлечения данных из хранилища баз. Иногда в число их обязанностей также входит преобразование производственных данных в полезные данные для анализа и оптимизация производительности. Специалисты этого направления используют Python для баз данных SQL (такие как MySQL и PostgreSQL) и NoSQL (такие как MongoDB и Cassandra).

Data scientists

Тип программистов, который занимается переработкой данных в полезную информацию для получения определенных выводов это data scientists. Их нельзя назвать специалистами компьютерных наук, но можно смело сказать, что эти люди являются экспертами в использовании разных языков машинного обучения (R, Python) и инструментов для анализа и прогнозирования (Spark). Они обладают обширными знаниями в области статистики поэтому специалисты данного профиля могут эффективно общаться с руководством и другими отделами компании.

DevOps

DevOps программисты ищут способы упрощения процесса создания приложений. Их задача написать код, который даст гарантии, что приложение запустится, будет правильно функционировать и будет доступным как разработчиков, так и для пользователей. Этот вид разработчиков работает с различными задачами (создание процессов, предоставление ресурсов и обеспечение устойчивости к вирусам, повреждениям, ошибкам и другим возможным проблемам). DevOps программисты работают с облачными провайдерами (AWS и Azure), инструментами для непрерывной интеграции (spinnaker) и системами управления журналами (Splunk).

QA

Выделяется тип разработчиков, которые отвечают за обеспечение качества работы приложения. Они следят за тем, чтобы чужой код не принес вред и не нарушил функционал определенного приложения. QA программисты могут вручную проводить тесты кода, чтобы выявить слабые места и исправить ошибки. QA разработчики используют в своей работе разные языки программирования (Java, Ruby и Python).

CRM

Тип программистов, который сочетает в себе навыки разработчиков и специалиста по продажам это CRM программисты. Их основная задача — создание и внедрение корпоративного ПО в котором собрана вся информация о компании и клиентах.Сюда же входит написание кодов для улучшения процесса продажи товаров и услуг. Корпоративное ПО может относиться к одной из нескольких категорий: системы управления взаимоотношениями с клиентами, системы планирования корпоративных ресурсов и системы хранения документов.

Embedded developers

Этот тип разработчиков отвечает за разработку встраиваемых систем. Они работают с аппаратным обеспечением, программируя поведение микроконтроллеров, встроенных программ и других устройств. Embedded developers как правило работают с C и C++. Особенностью данного направления можно считать необходимость в развитии инженерных знаний для работы с устройствами со встроенной логикой.

Виды веб-разработчиков, на которых обучают в DL Academy

Стать специалистом в какой либо сфере — это сложный и долгий процесс. Но с DL Academy вы сможете быстро освоить нужное вам направление под руководством опытных специалистов. С нами вы сможете освоить профессиональные навыки двух видов разработчиков сайтов:

Back-end

На наших курсах по back-end разработке вы научитесь разрабатывать модульные программы, тестировать код, работать с базами данных, использовать Django и Python, а также разрабатывать ботов на разных платформах. После прохождения этих курсов Вы сможете работать Junior Python разработчиком в веб или Data science компаниях. Вы также можете начать как стажер DevOps или тестировщик.

Front-end 

На курсах Frontend-разработчиков с нуля практикующие специалисты обучают верстке сайтов, CSS, HTML и JavaScript на реальных проектах, а личные наставники помогают с домашними заданиями. После прохождения курсов вы будете обладать знаниями для работы начинающим frontend разработчиком и соберете портфолио для дальнейшего трудоустройства.

Представитель одного из видов веб-разработчиков за работой.

Если вам сложно определиться с направлением обучения, наши специалисты будут рады ответить на ваши вопросы и выбрать то, что подходит именно вам.

Несколько слов в заключение

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

В глазах многих айтишники – это какая-то закрытая секта богатых лентяев. Говорят на непонятном айтишном языке, получают много денег и работают по 4 часа из 8, при этом постоянно жалуясь на выгорание. А попросишь их починить тостер (ну ты же разбираешься во всех этих железных штуках, верно?) – впадают в ярость. На самом же деле айтишник – это в большинстве случаев такой же работник, как и слесарь на заводе, только задачи – интеллектуальные, и ответственности – намного больше. Ниже мы детально разберем тех айтишников, которые «в природе» встречаются чаще всего – программисты.

Где учиться на программиста

Требования к программистам

Обзор рынка труда – перспективы, востребованность, зарплаты

Обзор курсов на программиста

Программист – кто такой

Ответ на вопрос «Кто такой программист?» лежит прямо в названии профессии, программист – это человек, который создает программы для железа. В ранние годы, когда компьютеры были большими и шумными, программисты общались с железом на языке последнего – буквально делали дырки в нужных местах на перфокартах, чтобы компьютер понял, что нужно делать. В дальнейшем появились более удобные (высокоуровневые) языки программирования – сначала вместо дырок на перфокартах появились короткие команды (ассемблерные), затем команды стали более читабельными для людей (низкоуровневые языки программирования), сейчас же чаще всего используются языки, на которых можно описать в человеческих словах и предложениях действия, которые компьютер должен совершить (высокоуровневые языки программирования). Таким образом, определение можно расширить до «Программист – это человек, который с помощью одного из языков программирования описывает набор действий, которые нужно совершить компьютеру».

Но все, естественно, не так просто. «Программист» – такое же расплывчатое определение, как, например, «врач».

Системный администратор тоже пишет код (является программистом), хирург тоже лечит людей (является врачом). Но если вы назовете сисадмина программистом или хирурга врачом, то столкнетесь как минимум с удивлением. В сфере информационных технологий есть множество направлений, и просто делить специалистов по принципу «пишет код/не пишет код» нельзя, потому что специалист автоматического тестирования пишет код, но «программистом» в обычном понятии не является, а архитектор код не пишет, но является «программистом». Чтобы разобраться во всем этом, давайте введем 5 основных специальностей, участвующих в разработке:

  • Системный инженер. Раньше их называли сисадминами, но теперь в моде DevOps, откуда и пошло новое название -–системные инженеры. Эти специалисты ответственны за инфраструктуру разработки: сервера, системы версионирования, пайплайны быстрого развертывания, отказоустойчивость, балансировщики нагрузки, инфраструктура как код и так далее. Основной навык – работа с UNIX-системами (Линукс).
  • Архитектор. Человек, который умеет оценивать масштаб проекта и выбирать технологии, которыми проект можно реализовать наиболее удачно. Архитекторы обычно не пишут код, они – ближе к менеджерам. При этом архитектор – это опытный инженер, который «вырос» из разработчика.
  • Тестировщик. Сотрудник, который ищет ошибки и неточности. Ручные тестировщики не пишут код, тестировщики автоматизации пишут код, который в автоматическим режиме тестирует другой код. Некоторые программисты снисходительно относятся к тестировщикам, но пусть это не вводит вас в заблуждение, без толковых тестировщиков любой проект развалится через месяц после старта.
  • Менеджер. Человек, управляющий командой. Код не пишет, планирует процесс разработки и дает указания. Обычно получает самую большую зарплату в команде и несет больше всего ответственности за разработку.
  • Разработчик. Тот самый «программист». Пишет код по техническому заданию архитектора и менеджера, с помощью пайплайнов, созданных системными инженерами, отправляет свой код на растерзание тестировщикам. Разработчиков обычно делят на фронт-энд и бэк-энд. Фронт-энд разработчики создают «лицо» (=интерфейс) программы, с которым будут взаимодействовать пользователи. Бэк-энд разработчики пишут внутреннюю логику – то, что происходит внутри программы, когда нужно по какой-то логике выдать какой-то результат. Бывают еще фулл-стэк разработчики – это те, которые умеют создавать и фронт-энд, и бэк-энд.

Таким образом, под «программистом» обычно понимают именно разработчиков, реализовывающих основной функционал программы. 

Как понять, подходит ли такая профессия

Вам может казаться, что зарплата программиста перевешивает все трудности работы, и этим стоит заниматься даже в том случае, если вам откровенно не нравится учить языки, алгоритмизацию и другие базовые навыки программиста. Но не стоит ориентироваться исключительно на зарплату и исключительно на программиста – иначе вы рискуете столкнуться с чередой выгораний или бросить учебу на середине. Возможно, программирование – не для вас, и вам стоит присмотреться к другим должностям в IT или вне его (в IT, например, можно попробовать себя в качестве тестировщика). Как это проверить? Проще всего – на практике. Возьмите какие-нибудь бесплатные курсы, например «Поколение Python» на stepik.org, и пройдите его. Если в процессе прохождения курса вы заметите, что вам интересно решать задачи, учить теорию и самостоятельно искать ответы на необычные вопросы – программирование вам точно зайдет.

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

Где учиться на программиста

Вариантов – очень много: самостоятельное обучение, бесплатные курсы, платные курсы, стажировка, колледжи и ВУЗы. Последние два варианта – наименее предпочтительные. Дело в том, что IT – это очень быстро развивающаяся сфера, и знания (не считая самых фундаментальных основ) очень быстро устаревают – то, что вы изучили год назад, теперь уже вполне может быть не актуально. Колледжи и ВУЗы, конечно, дают фундаментальные основы, но в большинстве своем они представляют безнадежно устаревшие программы обучения, и после получения диплома вы вдруг осознаете, что половину потраченного на обучение времени уже можно выбросить в корзину. Поэтому на программиста лучше учиться самостоятельно, на курсах или (если повезет) на стажировке.

Первый вариант – самостоятельное обучение. Самый дешевый и нестабильный вариант.

Организовывается очень просто: 

  1. Определяетесь с языком программирования (основные варианты: Java, JavaScript, Python).
  2. Открываете hh.ru, ищете вакансии на junior-программистов выбранного языка, смотрите набор требований.
  3. Учите то, что требуется.

Учить можно по книгам, курсам, статьям, телеграм-каналам – в общем, брать информацию из всех доступных источников. У этого варианта есть три существенных минуса. Первый: нет учителя или ментора, вы не всегда будете знать, что совершаете ошибки. Второй: сложно подтвердить свои знания перед потенциальным работодателем, вам будут часто отсеивать на стадии изучения резюме, если у вас не будет собственных толковых проектов на GitHub. Третий: у вас в какой-то момент может просто закончиться мотивация к дальнейшему обучению.

Второй вариант – курсы. Лучше – платные, потому что они обычно предлагают проверку домашек, помощь ментора и более-менее солидный сертификат. Еще один плюс – вам будут подавать материал структурированно, поэтому вы станете программистом быстрее. Из минусов – нужно платить деньги.

Наконец, третий вариант – стажировка. Иногда крупные компании набирают лаборатории, то есть открывают обучение для тех, кто хочет стать программистом. Чтобы попасть в лабу, вам нужно иметь какой-никакой айтишный бэкграунд (пройти пару курсов, написать парочку своих простеньких приложений) и владеть английским хотя бы на уровне А2. Если вас пригласят в лабу, то вы будете учиться так же, как в ВУЗе – с расписанием, преподавателями и экзаменами. Если вы успешно пройдете обучение, вас пригласят на работу в компанию, которая лабу и запустила.

Это – идеальный вариант, но попасть в лабу – очень непросто, потому что: а) они редко появляются; б) большая конкуренция.

Выбор направления

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

Front-end

Фронт-энд разработчик – это, как мы уже говорили, специалист, который создает интерфейс/внешний вид приложения или сайта. В этом направлении стоит смотреть тем, кому интересно работать с дизайном, цветами, удобством пользовательского интерфейса и прочими такими вот вещами. Основные языки: JavaScript, CSS, HTML, Python, иногда – Ruby. Желательно уметь пользоваться Фотошопом.

Back-end

Это – те самые технари-инженеры, которые разбираются в алгоритмах и создают закулисье сервиса. Здесь более ценятся математические и аналитические способности. Языков – множество: C++, Java, Python, Ruby, C#, … Практически обязателен SQL.

Full-stack

Те, кто умеют и в интерфейс, и во внутреннюю логику программы. Если вы только начинаете свой путь, на фул-стэк разработчика замахиваться не стоит, слишком много знаний нужно. Языки: Java, Python, C#.

Требования к программистам

Поскольку программисты бывают самыми разными, требования к ним тоже бывают самыми разными. Если мы откинем инициативность, стрессоустойчивость и остальные требования, копирующиеся из вакансии в вакансию, основным требованием будет знание общих принципов разработки плюс конкретного стэка (списка) технологий, необходимых для закрытия конкретной позиции в команде. Из общих принципов и технологий разработки стоит отметить ООП, Agile, Git и SQL. Из конкретных технологий – обычно один язык плюс необходимые фреймворки (Java + Spring, например).

Сейчас все чаще встречается требование по базовому пониманию UNIX и Docker.

Обзор рынка труда – перспективы, востребованность, зарплаты

Примеры вакансий

3 примера junior-разработчиков с hh.ru:

  • Junior Java разработчик. Работодатель: Сбербанк. Требования: базовые знания ООП/алгоритмов/структур данных, основы Java-разработки, базовые знания в Spring. Английский: А1. Что предлагают: обучение, трудоустройство с первого дня обучения. Зарплата: по результатам собеседования.
  • C# developer junior / middle (.net, full-stack / back-end). Работодатель: MindBox. Требования: опыт разработки с C# с использованием SQL (можно на своем пет-проекте), BCL / CLR, знание шаблонов архитектуры, typescript и react. Английский: не указано. Что предлагают: обучение при необходимости, оплачиваемая стажировка, удобный офис, рабочий ноутбук, помощь с релокацией. Зарплата: от 100 000 рублей до 200 000 рублей на руки.
  • Junior — программист. Работодатель: SmartShop. Требования: SQL, JavaScript, PHP, CSS, HTML, Bootstrap, jQuery. Английский: «хорошее знание английского языка». Что предлагают: обучение, график 5/2, бесплатные обеды. Зарплата: 40 000 рублей – 60 000 рублей до вычета налогов.

Где работают программисты и как выглядит рабочий день программиста

Программисты работают везде, где есть что программировать. Основное место работы – компания, которая создает продукты для себя или для других заказчиков (аутсорс). Рабочий день условно разбит на 2 части: встречи и выполнение задач. Встречи – это когда вся команда или отдельные ее участники созваниваются/встречаются в каком-то месте и обсуждают происходящие в проекте события. Это помогает синхронизироваться, одна из основных проблем разработки – рассинхронизация (Максим делает ту же работу, что и Витя, в результате оказывается, что один и них зря тратил свое время).

Когда митапы (встречи) заканчиваются, программисты разбредаются по своим рабочим местам и выполняют задачи, которые на них повесил менеджер.

Обзор курсов на программиста

Платные

  • Skillbox. Крупная школа со множеством курсов. Есть как программы получения специальности, так и обычные курсы. Получение специальности – это когда вас учат с нуля до junior-разработчика, длятся такие программы по году. На обычных курсах учат конкретным технологиям, курсы длятся около полугода. Обучение – довольно дорогое, за профессию java-разработчика берут 200 000 рублей (в рассрочку на 31 месяц).
  • Нетология. Еще одна крупная школа, как и в предыдущем случае, есть и обычные курсы, и курсы получения профессии. После обучения помогают с трудоустройством, в самом обучении упор делается на практике. Обучение – более длительное, профессию вы получите через 13-20 месяцев. Стоимость такого обучения – более 100 000 рублей, тоже есть рассрочки и скидки.
  • GeekBrains. Школа готовит реальных junior-разработчиков. Обучение – длительное, от 12 до 36 месяцев. Есть программы разной интенсивности – от обычно подготовки junior до подготовки middle+. Группы стартуют каждые 2 недели, цена вопроса – до 200 000 рублей, в зависимости от программы (рассрочка – по 5 000 рублей в месяц).

Бесплатные

  • Хекслет. Множество бесплатных курсов от площадки. Полноценную профессию вы здесь не получите, но основы сможете усвоить. Есть курсы как по программированию (хорошие), так и по «вопросам железа» (среднего качества).
  • Stepik. Русскоязычная платформа с большим количеством бесплатных курсов. Особого внимания заслуживает «Поколение Python», лучший русскоязычный курс в Рунете по этому языку. Платные курсы тоже есть, средняя стоимость – 3 000 рублей.
  • Computer Science Center. IT-университет, на YouTube-канале которого можно найти десятки курсов по самым разным направлениям.

Самостоятельное обучение

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

Обучение в ВУЗах

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

  • Московский Государственный Университет имени Ломоносова.
  • Московский Физико-Технический Институт.
  • ИТМО.

Посмотреть топ-20 университетов с ИТ-направлениями по версии рейтингового агентства RAEX можно тут.

Карьерный путь

Джун

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

Миддл

Это – программист, который уже что-то умеет. На мидлов уже вешают задачи, которые требуют некоторой ответственности, надзора за мидлами намного меньше. Поскольку миддл – уже полезный программист, зарплата растет существенно, в 2 раза и больше.

Сеньор

Сеньор – это ответственный специалист, который может сделать что-то полезное и не сломать при этом все остальное. Сеньоры – основная рабочая сила проекта, именно они реализовывают тот функционал, который нужен заказчику. Сеньор уже может выставлять свои требования по зарплате, поскольку компания очень не хочет его потерять. Если джуны зарабатывают 500$, а миддлы – 1 000$, то сеньор вполне может требовать 2 000$+ в месяц.

Что дальше

А дальше – большая развилка. Сеньор может улучшать свои кодерские скилы и получать больше денег; он может уйти в менеджмент и управлять командой; ему открывается дорога в архитекторы.

В общем, сеньор может претендовать практически на любую позицию в команде.

Плюсы и минусы профессии

Плюсы:

  • Большая зарплата.
  • Разнообразная работа.
  • В большинстве случаев – адекватный и умный коллектив.

Минусы:

  • Сидячая работа.
  • Много ответственности (по сравнению с линейной должностью на заводе).
  • Иногда случаются выгорания.

Что почитать по теме

  • Идеальная вакансия для разработчика. Как оценить?
  • Тренды в IT. Что вообще происходит?
  • 17 вопросов джуну: что должен знать Junior-разработчик.

FAQ

Что такое «пет-проект»?

Это ваш личный проект, который вы делаете для себя. Пет-проекты – отличная возможность отточить свои навыки и показать работодателю, что вы что-то умеете.

Сколько времени занимает обучение на разработчика?

Зависит от личных качеств, но на то, чтобы получить профессию с нуля, у вас уйдет от полугода.

Подведем итоги

Тезисно:

  • Программист – это человек, который пишет код. Этот код должен выполнять какие-то конкретные задачи.
  • Программисты бывают разными, самый классический вариант – это разработчик.
  • Для того, чтобы стать программистом, вам нужно освоить какой-либо язык, его фреймворки, основные методологии разработки и сопутствующие технологии (SQL, например).
  • ВУЗы и колледжи – не лучший способ получения профессии, лучше использовать курсы и самообучение.
  • Карьерный путь программиста начинается с джуна, затем – миддл с дальнейшим ростом в сеньора. Сеньоры же могут стать кем угодно.

Понравилась статья? Поделить с друзьями:
  • Программист как пишется на английском
  • Программировать как правильно пишется
  • Программированный как пишется
  • Программирование или програмирование как правильно пишется
  • Программа эркипер как пишется