все виды программистов и что они делают
Какие бывают виды программистов? Виды деятельности программиста
Представьте себе постапокалиптическую картину мира без программистов. Драконы из «Игры престолов» превратятся в черно-белых Годзилл. Исчезнут чаты, мессенджеры и даже тетриса не будет. Мы нуждаемся в программистах. Они пишут коды для смартфонов, компьютеров и стиральных машин, заставляя технику работать. Но это далеко не все. У профессии много направлений и специализаций, каждая из которых имеет свои особенности и сложности, зарплата также зависит от того, чем занимается программист.
Web-разработчик
Самым востребованным на 2017 год видом профессии «программист» является веб-разработчик. К этой категории относятся специалисты по созданию сайтов.
Условно веб-мастера делятся на три группы:
Далеко не все знают, что такое клиентская и серверная часть. Поэтому работодатели зачастую путают специализации в веб-разработке. На биржах фриланса встречаются объявления, в которых наниматели от фронтенд-мастера требуют знания фулстак, при этом платят как за обыкновенную верстку.
Для не посвященных в мистерии кода это похожие виды направлений. Программисты занимаются, казалось бы, одним делом. Но инструменты, язык, обязанности и оклады у Frontend-мастера и серверного разработчика разные.
Кто такой фронтенд-разработчик?
Видимая часть интернет-ресурса, открывающаяся в браузере после ввода запроса, называется клиентской или фронтендом. Оформлением, цветовой гаммой, расположением заголовков занимается дизайнер. Художник рисует будущий макет и передает его верстальщику, который превращает его в HTML-шаблон. На этом этапе подключается веб-программист и добавляет интерфейсу динамики.
Фронтенд разработчики – это вид программистов, отвечающих за создание виджетов, кнопок, выпадающего меню, слайд-шоу. Все интерактивные элементы появляются на страницах благодаря им. Они пишут скрипты на JS, включают их через HTML-теги и следят за тем, чтобы каждая часть кода работала правильно.
Инструменты фронтенд-разработчика
Писать код на HTML, CSS и JavaScript не достаточно. Чтобы оставаться конкурентоспособным на рынке труда, Frontend-разработчик должен знать следующее:
Обязанности и виды деятельности программиста включают отладку и тестирование клиентской части. Веб-инженер проверяет отдельные блоки исходного кода на ошибки. Тестирует интерфейс, узнает, насколько пользователям будет удобно взаимодействовать с приложением. Также фронтенд-специалист должен разбираться в азах серверного программирования, технологиях Node.js, помимо JS писать на PHP и SQL.
Зарплата и перспективы
Средний оклад мастера составляет 66 тысяч 410 рублей в месяц. В США эта сумма вырастает до 102 тысяч долларов в год. Высокие зарплаты, легкость языка разметки и написания скриптов привлекает начинающих кодеров к фронтенд-разработке. Освоив JS, большинство из них переходит к серверным языкам. Самые талантливые учат высокоуровневые C и Java, постепенно осваивают геймдев, создание приложений и другие виды информационной деятельности программиста.
Программист серверной части
Backend – это часть веб-приложения, находящаяся на сервере. Она не отображается в браузере, но отвечает за изменения содержимого, обеспечивает динамическую работу и хранит всю информацию сайта. Состоит из сервера, приложения и базы данных. Вид программистов, которые занимаются созданием и разработкой этой части веб-ресурса называются Backend-разработчиками.
Создание веб-приложения – это сложный многоуровневый процесс, в котором участвуют несколько специалистов. Поэтому бэкенд-разработка является командной работой. При написании кода, программист взаимодействует с дизайнерами, верстальщиками, менеджерами и заказчиками.
Разработчик Fullstack
Это вид работы программиста, включающий в себя все этапы создания веб-приложения. Fullstack developer –мастер на все руки, пишущий одновременно клиентскую и серверную часть. Первые упоминания о профессии появились в 2010 году после статьи сотрудника Facebook Карлоса Буэно. С этого момента компания нанимает работников исключительно уровня Fullstack.
Обязанности универсального веб-программиста:
Фулстак-разработчики – это специалисты уровня 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.
Романтики в профессии мало. В основном, это рутинный и многочасовой труд за компьютером. График обычно ненормированный. Если дизайнеру приходит гениальная идея срочно что-то переделать, всю ночь корпит над кодом именно программист.
Какие бывают виды программистов игр?
Создание консольной, мобильной или компьютерной игры – это многоуровневый процесс. Начинается на стадии проектировки, заканчивается продвижением и коммерческой реализацией продукта. Также у игры много отдельных аспектов, включая интерфейс, аудио и видео эффекты, искусственный интеллект. Для каждого есть отдельный вид программистов:
За свой труд на благо игровой индустрии данный вид программистов получает зарплату от 60 тысяч рублей. Доход инди-разработчиков точно просчитать сложно. Есть случаи, когда успешные проекты приносили миллионы буквально за неделю. Например, игра-хит Punch Club, Angry Birds и всем известная «Майнкрафт». Существуют, конечно, провальные задумки наподобие Scroll Ninja, не оправдавших ожидания создателей.
Системный программист
Система, софт, или программное обеспечение – это набор инструкций для компьютера. К ним относятся утилиты, драйвера, команды для процессора, графической карты, монитора. Пишет их системный инженер на понятном для машины языке, или коде.
Разрабатывается программное обеспечение под различные операционные системы, включая серверные Unix и Windows Server, а также мобильные платформы. Код пишется на языках «Си», за редким исключением Assembler. Основная задача системного инженера заключается в установке, настройке, тестировании ОС и всех ее компонентов
Различные виды профессии «программист» требуют от специалиста определенных навыков, опыта работы и уровня владения компьютерными языками. Но труд именно системных инженеров является самым сложным. Для создания ПО нужны углубленные знания информатики, алгебры, математики и построения алгоритмов.
Системный программист необходим в любой сфере ИТ, включая автоматизацию процессов производства и мониторинг безопасности. В США за труд специалиста готовы платить от 87 до 104 тысяч долларов. В Англии 57 тысяч фунтов стерлингов, в России 90 тысяч рублей.
Инженер прикладного программного обеспечения
Данный вид программистов создает не системное, а прикладное ПО. Это программы, или приложения, которые взаимодействуют с пользователем непосредственно. Например, текстовые и графические редакторы, базы данных, аудио и видео плееры.
Работа прикладного инженера заключается в написании кода, его последующей компиляции, отладке и тестировании. Иногда специалист обновляет или вносит изменения в уже существующее ПО. Для программирования использует высокоуровневые языки Java, C#, C++, Python, PHP. Прикладные программисты редко трудятся в одиночку. В основном, они являются участниками стартапов, или входят в штат сотрудников компании, занимающейся разработкой компьютерного софта.
«Программист» – интересная и разнообразная профессия с множеством направлений и специализаций. Одни делают виджеты для сайтов и проектируют API, другие пишут код для серверов или корпят над графикой Disciples III. Каждый, кто любит программировать, может реализовать себя в веб-разработке, стать именитым создателем игр или писать программы для спутников НАСА.
Программист: типы профессии, зарплаты, как стать и где учиться
Рассказываем подробно, как быстро стать программистом, какие есть специализации программистов, где на них учат и сколько они зарабатывают.
Кто такой программист
Программист — это разработчик алгоритмов и компьютерных программ. Во всём мире программисты очень востребованы, их работа хорошо оплачивается: зарплата программиста в России в диапазоне 80 000–220 000 рублей, тимлиды — TeamLead и техлиды — TechLead (специалисты высшей квалификации) получают больше: 250–400 тысяч рублей. Пройдите короткий бесплатный тест, чтобы понять, можете ли вы быть программистом.
Стать программистом можно в любом возрасте. Профессия подходит мужчинам и женщинам с хорошими аналитическими способностями, логикой, знанием математики (в некоторых областях разработки) и обязательно английского языка. В программировании ценятся не только практические навыки, но и идеи.
Профессию можно освоить в вузах, на курсах и в колледжах, но выучиться возможно и самостоятельно. Некоторые работодатели предпочитают программистов с высшим техническим образованием.
Специализации программистов
Разработчиков можно условно разделить на две крупные категории в зависимости от специализации.
Прикладные программисты
Разрабатывают программное обеспечение прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т. п. К области их работы относится создание программного обеспечения для ERP и CRM системы вроде 1С, систем видео- и аудионаблюдения‚ пожаротушения или пожарной сигнализации и т. п. Также они адаптируют уже существующие программы под нужды конкретной организации или пользователя.
Список некоторых прикладных специализаций программистов:
Системные программисты
Разрабатывают операционные системы, роботов, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Они пишут код для «железа». Системные программисты относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также они поддерживают работу созданных ими систем (драйвера устройств‚ загрузчики и т. д.).
Профессии разработчиков по языкам программирования
Разработчики решают очень разные задачи, и не все языки программирования одинаково удобны для решения этих задач. Вот список наиболее популярных языков программирования:
Со стороны профессия выглядит творческой, высокооплачиваемой и интересной. Однако в современном мире программист становится элементом конвейера. Его задача – создавать программные продукты для бизнеса и не только: в срок, без сбоев и лишней лирики. И место сотрудника на конвейере ПО зависит от его квалификации.
Программисты нужны, потому что растёт рынок технологий, открываются новые направления. Однако реальность такова, что значительная часть шарма этой профессии ушла под давлением жёстких требований бизнеса.
Немногие программисты могут позволить себе применить творческий подход к решению проблем. На это просто нет времени, и они просто корректно применяют уже готовые шаблоны и стратегии.
Зарплата программиста
Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около 50 000–80 000 рублей. Штатный программист в компании среднего уровня (не IT) получает от 120 000 до 200 000 рублей. Зарплата ведущего программиста — 180 000–300000 рублей.
Зарплата руководителя IT-отдела колеблется в диапазоне от 150 000 до 350 000 рублей – в зависимости от компании. Хороший программист может стать руководителем крупного проекта по разработке ПО, в этом случае уровень доходов достигает 500 000 рублей и выше.
Зарплата программиста на декабрь 2021
Информации о зарплатах предоставлена порталом hh.ru.
Где работают программисты
У программистов широкая сфера приложения профессиональных знаний:
Примеры компаний с вакансиями программиста
Требования к программистам
Список требований к программисту:
Думаю, что программист – это та профессия, где для достижения успеха недостаточно читать профессиональную литературу и ходить на курсы. Без врожденной предрасположенности к информационным технологиям освоить ее сможет далеко не каждый. Поэтому и талант играет свою роль. И из освоивших профессию не все смогут достичь вершин в карьере.
Бытует мнение, что программист – профессия молодых. В целом так и есть. Эту престижную профессию выбирают всё больше молодых людей. Программисты в возрасте либо уходят на руководящие должности, либо становятся экспертами. Сам я считаю, что программированием можно заниматься пусть и не до глубокой старости, но по крайней мере намного дольше, чем профессиональным спортом.
Почему молодому поколению куда проще «войти в айти»? Сегодня дети вырастают в насыщенной информационной среде и, как правило, знакомы с высокими технологиями «с пеленок».
Как стать программистом
Самый надежный путь – пойти работать в ИТ-компанию. Когда меня принимали на работу, для работодателя наибольший вес имел мой опыт разработок. Только потом – образование, но у меня оно было. Так что практика остается лучшим способом научиться программировать.
По моему опыту, работодатель иногда даже не интересуются дипломом кандидата вплоть до момента приема на работу. Однакопри отсутствии практики в области программирования диплом по специальности будет существенным плюсом для начала карьеры.
Отлично, если начинающий программист получил базовые знания вуза. Речь не только о мехмате МГУ – в стране много университетов, которые готовят кадры для будущей профессии. Они есть не только в столицах, но и в Томске, Новосибирске, Казани, Самаре. Знаю, что сильные выпускники выходят из Петербургского ИТМО и Бауманского университета.
Можно получать знания самостоятельно или на многочисленных онлайн-курсах. Курсовые программы полезны для получения специальных навыков в выбранных человеком направлениях программирования. Но трудоустройство выпускника онлайн-курсов на позиции выше «джуна» – скорее исключение, чем правило.
Советуем ознакомиться с мнением экспертов о том, как стать программистом с нуля.
Карьера программиста: джун, мидл, сеньор
Карьера программиста имеет три ступени: Junior («джун»), Middle («мидл»), Senior («сеньор»).
Джун, джуниор (Junior), начинающий программист
Джун – это не нулевой уровень программиста, а уровень начинающего программиста после обучения и некоторой практики. На работе джуны выполняют порученные мелкие части проекта, а не проект целиком, не обязательно представляя себе масштабы проекта. Для того чтобы вас взяли джуном, можно выучиться самостоятельно по книгам или закончить хорошие курсы программистов, где вас научат:
Примеры задачи для джуна: транслитерировать входящую строку, написать подпрограмму для проверки значений.
Чтобы чувствовать себя увереннее на собеседовании, нужно приобрести кое-какой опыт работы. Прекрасным примером такой работы может быть собственный pet-проект (например, свой сайт или самописная консольная утилита). К собеседованию нужно готовиться тщательно, потому что много и глубоко спрашивают, в том числе могут дать логическую задачу. Старайтесь не быть поверхностным. Это нормально, если пройдёте много собеседований прежде, чем вас возьмут на работу джуном. Начинающих очень много.
Мидл (Middle), программист среднего уровня
Мидл – это вполне самостоятельный программист, который может справиться с любой задачей. Мидл имеет довольно глубокие знания:
Мидл должен понимать цели и задачи продукта, который он разрабатывает, а также хорошо понимать предметную область, в которой он работает, например, финансовую. Перед ним могут поставить такую, например, задачу: разработать приём платежей в программе. Мидл должен самостоятельно выбрать инструментарий, выстроить архитектуру, прописать план и точные сроки выполнения. Таким образом, в его задачи входит и административная работа.
Сеньор (Senior)
Сеньор – это программист высшей квалификации. Он умеет разработать архитектуру новой программы или сайта. Для того чтобы эта программа была создана, требуются и другие люди. Сеньор умеет ставить перед ними задачи и контролировать их выполнение. Таким образом, сеньор должен обладать навыками руководителя: видеть цель, объяснить её подчинённым, вдохновить их, обучить и проконтролировать, провести работу над ошибками.
Сеньор глубочайшим образом понимает структуру проекта, фреймворков и инструментов разработки. Он заранее предвидит, как в будущем будет меняться проект и как его оптимально поддерживать.
Сеньор может стать руководителем группы программистов (тимлидом), менеджером IT-проекта, IT-директором предприятия и т. п.
8 видов российских программистов
Какие кодеры наиболее востребованы в нашей стране?
Если сказать простому человеку, что ты работаешь программистом, то в ответ можно услышать одну из следующих реплик:
Если в ответ сказать, что ты ни разу не делал сайты и лабы на VBA, а Windows видишь только в страшных снах, то собеседник может искренне удивиться и на его лице отразится искреннее сомнение в твоей профессиональной пригодности. Некоторые разработчики слабеют под таким взглядом и идут доказывать, что они что-то могут. Из-за таких лохов в голове обывателя слово «программист» является синонимом понятия «бесплатная компьютерная помощь».
Ведь многие люди не знают, чем на самом деле занимаются программисты и судят об этом по навыкам своих родственников/знакомых. Но разные представители специальности делают абсолютно разные вещи и нельзя говорить за всех.
Эта статья расскажет об основных специализациях программистов, которые наиболее востребованы на российском рынке. Для каждого типа будут указаны организации, где его можно встретить чаще всего и технологии, с которыми ему надо уметь работать.
В статье будут упомянуты только главные знания, без которых не обойтись в адекватном коллективе, где программиста не заставляют закручивать гайки, рисовать дизайн и выкладывать статьи на сайт.
1. Front-end веб-разработчик
Если мы заходим на сайт и там есть кнопочки, которые меняют местоположение и цвет при наведении на них мышкой, то это дело рук front-end разработчика. Он пишет весь код на JavaScript, который выполняется без перезагрузки страницы на стороне клиента.
Где работает?
В серьезных фирмах, занятых созданием сайтов и веб-приложений. Разделение фронтенда и бекенда один из признаков наличия в компании определенного уровня культуры разработки.
Что делает?
Разрабатывает динамику пользовательского интерфейса. Если в компании нет верстальщика, то еще и переводит PSD-шаблоны в HTML-код.
Технологии
2. Back-end разработчик
Человек на плечи которого ложиться основное бремя по разработке веб-проекта. Он как бы строит фундамент, на который front-end разработчик прицепляет «декоративные элементы».
Где работает?
В серьезных фирмах, занятых созданием сайтов и веб-приложений. Разделение фронтенда и бекенда один из признаков наличия в компании определенного уровня культуры разработки.
Что делает?
Разрабатывает “ядро” сайта или веб-приложения: код исполняемый на сервере и архитектуру базы данных.
Технологии
Один из нижеперечисленных языков и фреймворки/библиотеки для него:
3. Full-stack веб-разработчик
Человек, который может сделать сайт любой сложности «от и до».
Где работает?
Чаще всего в стартапах и небольших студиях веб-дизайна. В крупных компаниях содержится в команде наряду с front-end и back-end разработчиками, чтобы контролировать и координировать их работу.
Что делает?
Сайты и веб-приложения. Выполняет работу front-end и back-end разработчика одновременно.
Какие технологии ему желательно знать?
См. списки двух предыдущих типов.
4. Разработчик игр
Очень широкое понятие, которое включает как минимум три крупных категории: разработчик десктопных игр, разработчик мобильных игр и разработчик MMORG.
Где работает?
Что делает?
Какие технологии ему желательно знать?
5. Разработчик приложений под Android
Где работает?
В студиях мобильных приложений, стартапах или крупных компаниях, которые решили сделать для себя мобильное приложение собственными силами.
Что делает?
Разрабатывает приложения под операционную систему Android.
Какие технологии ему желательно знать?
6. Разработчик приложений под iOS
Где работает?
В студиях мобильных приложений, стартапах или крупных компаниях, которые решили сделать для себя мобильное приложение собственными силами.
Что делает?
Разрабатывает приложения под операционную систему iOS.
Технологии
7. Программист 1C
Многие разработчики не считают язык, встроенный в 1C, языком программирования, а людей, которые пишут на нем, программистами. У них есть на это свои основания. Тем не менее, людей которые называют себя программистами 1C и вакансий для них очень много.
Где работает?
В любой фирме активно ведущей экономическую деятельность. Часто не включен в основной штат сотрудников, а приходит пару раз в месяц или реже.
Что делает?
Пишет программы для автоматизации документооборота в компании.
Технологии
8. Инженер-программист
Если одним из 7 предыдущих типов можно стать отучившись на курсах или путем самообразования, то инженеров-программистов выпускают только технические ВУЗы. Часто на этих должностях работают люди старше сорока лет, получившие образование в советское время.
Где работает?
На производстве или в научном учреждении.
Что делает?
Разрабатывает программы для управления самыми разными устройствами: от печи на хлебозаводе до робота-пылесоса.
Технологии
Один из нижеперечисленных языков:
+ огромный багаж технических знаний, соответствующий отрасли в которой человек работает.
Если посмотреть объявления о найме программистов на российских сайтах, то 90% из них будут подходить под эти семь типов. На Западе рынок вакансии несколько разнообразнее. Кто интересуется, может зайти на Odesk и посмотреть, какая работа там предлагается.
С грустью замечаю, что 14-летние пакистанцы требуют там за html-верстку от 500 рублей в час.
А судить о том, какие языки сейчас наиболее популярны в мире можно по данным Tiobe Index. Этот рейтинг строится по числу запросов в поисковых системах с упоминанием разных языков программирования.
P.S. Напоследок, жизненный анекдот в тему.
Если бы водителей нанимали на работу так же как программистов:
Вакансия: водитель.
Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями, троллейбусами, трамваями, поездами метрополитена и фуникулёра, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами “Формулы 1″ — приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, бортовых компьютеров, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих производителей. Опыт проведения кузовных и окрасочных работ — приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.
Зарплата: определяется по результатам собеседования.





















