все виды программистов и что они делают
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, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.
Зарплата: определяется по результатам собеседования.
Профессия программист: кодер или создатель?
Знаете ли вы, что музыкальная шкатулка считается одним из первых аналогов запрограммированных механизмов, а жаккардовый ткацкий станок, который был изобретен в 1804 году, является первой системой со своей программой? Хотя, конечно, сама профессия программиста возникла гораздо позже, когда появилась первая ЭВМ.
Сегодня уже трудно представить себе жизнь без специалистов в области программирования. И, если вы решили связать себя с этой профессией, то советуем прочитать нашу статью. Мы расскажем о том, что обязательно пригодится вам при принятии решения. И для начала давайте разберемся, кто же такие программисты и почему эта сфера деятельности так популярна сегодня.
Коротко о профессии
Программист – специалист, который занимается разработкой исходного кода для программы, например, для мобильного приложения, операционной системы компьютера, компьютерной игры и т.д.
Такой код пишется на языке программирования, который состоит из различных символов и слов. Самыми популярными языками являются:
Каждый из них предназначен для решения определенной задачи. Например, Java используется для создания мобильных программ под операционную систему Android, 2D-игр, а PHP применяется для разработки веб-сайтов, серверных приложений, утилит, скриптов.
Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.
Часто программистов называют «айтишниками», что является ошибкой. IT-специалист может заниматься технической поддержкой, системным администрированием, разрабатывать интерфейсы и другими видами деятельности, связанными с компьютером. Программисту для работы вовсе не обязательно наличие компьютера, он может написать программу на листе бумаги.
О специализации программистов
Если говорить общими понятиями, то специализация программистов подразделяется на три вида:
Каждая из специализаций включает в себя несколько направлений работы программиста. Давайте поговорим о них подробнее.
1С-программист
Это одна из самых популярных специализаций программиста, которая по сей день не теряет спрос на рынке труда, хотя у профессионалов к ней двоякое отношение: некоторые разработчики не считают 1С языком программирования.
1С-программист создает алгоритмы, которые применяются в различных отраслях, а также занимается настройкой и доработкой существующих программ по запросу клиента. Он должен знать язык конфигурации 1С, типовые блок-схемы и базы данных T-SQL.
Чаще всего программистов 1С нанимают компании, которые осуществляют внедрение подобных программ в регионах. Если предприятие имеет потребность в постоянной настройке и обслуживании 1С-программ, то они берут такого профессионала в штат на постоянной основе.
Инженер-программист
Это одно из немногих направлений деятельности программиста, которое требует серьезной профессиональной подготовки специалиста, ведь для работы понадобятся знания не только программирования, но и математики, физики и других дисциплин.
Инженер-программист задействован во многих технологических и производственных процессах, в частности, занимается разработкой программ для автоматизации производства. Именно он программирует бытовую технику, без которой так трудно представить нашу повседневную жизнь: микроволновки, хлебопечи, роботы-пылесосы и т.д.
Такой специалист должен хорошо разбираться в технической области, в которой работает, знать языки программирования (C/C++, C# и т.д.) и низкоуровневое программирование (Assembler).
Front-end разработчик
Программист этой специализации занимается разработкой интерфейсов. Он создает внешний вид сайта и, как правило, использует для этого JavaScript. При отсутствии верстальщика может работать с HTML-кодом.
Front-end разработчик востребован в крупных компаниях, которые занимаются разработкой сайтов. Сам факт разделения обязанностей между Front-end и Back-end разработчиками говорит о высокой культуре работы в организации.
Front-end разработчик должен знать фреймовики, HTML и CSS, препроцессоры, и, конечно, язык программирования JavaScript, включая его библиотеки. Также он должен владеть графическими редакторами, основами SEO-оптимизации и другими технологиями, необходимыми для разработки сайта.
Back-end разработчик
Если Front-end разработчик отвечает за декоративное оформление сайта, то Back-end разработчик создает основу сайта, т.е. его программно-административную часть.
В своей работе он использует разные языки программирования, но чаще всего это PHP, Java, Go, Python и Ruby.
Full-stack веб-разработчик
Такой специалист может вести весь проект от начала до конца, он объединяет в себе функции и Back-end разработчиков. Его еще называют мастером на все руки в области программирования и, соответственно, он должен владеть всеми технологиями, которые применяют в своей деятельности Front-end и Back-end специалисты.
Чаще всего Full-stack разработчик работает в небольших компаниях и стартапах в единственном лице или в команде с Front-end и Back-end разработчиками, выступая в таком случае в роли координатора их работы.
Разработчик игр
Название специализации говорит само за себя. Программист подобного профиля занимается разработкой игр с нуля. Как правило, это десктопные, мобильные и массовые многопользовательские онлайн-игры (MMORG).
Разработчики игр должны знать языки программирования С#, C++, Java, Open GL или DirectX и игровые движки, например, Unity, Unreal Engine, Torque.
Android разработчик
Специалист этой области программирования разрабатывает мобильное приложение под операционную систему Android. Фронт работы может разделяться между Front-end и Back-end разработчиками, но, как правило, Android разработчики создают приложения от начала до конца или включаются в рабочий процесс на любом этапе создания.
Такой специалист востребован в стартапах, игровых студиях и компаниях, деятельность которых связана с разработкой приложений для мобильных устройств. Android разработчик должен знать: Java, OpenGL, Android Studio, Android SDK.
iOS разработчик
Он создает программы для мобильных устройств с операционной системой iOS. Такой специалист также востребован, как и Android разработчик, в компаниях, которые занимаются созданием мобильных приложений.
iOS разработчик должен знать следующие технологии: CoreData, Swift или Objective-C, XCode, OpenGL, Cocoa Touch, CoreGraphics.
Надеемся, что замысловатые названия профессий не напугали вас, а, напротив, подогрели интерес к этому виду деятельности. Но, прежде чем выбирать из предложенного списка понравившуюся специализацию, следует учесть наличие определенных личностных качеств, а также свою мотивацию.
О качествах программиста
Основная задача программиста – написание кода, но для этого знания языков программирования недостаточно. Специалист взаимодействует с заказчиками, командой, работает с техническими заданиями – в этом заключается главное отличие профессионала в области программирования от кодера.
Вот ключевые качества, которыми должен обладать программист:
Кроме того, программист должен стремиться к самосовершенствованию, постоянно изучая новые технологии в своей области работы, иначе он рискует потерять свою значимость на рынке труда и остаться невостребованным.
Здорово, если специалист такого профиля интересуется изучением иностранных языков, ведь это открывает множество перспектив: стажировка и работа в иностранных компаниях, работа над проектом международного уровня, преимущество в карьерном росте.
Сколько зарабатывает программист?
Профессия программиста со временем приобретает особую значимость, а все потому, что цифровой мир все больше поглощает реальный. Отсюда и привлекательная зарплата. Конечно, в регионах уровень оплаты труда таких специалистов варьируется от 25 до 35 тысяч рублей в месяц. Профессионалы высокого уровня могут претендовать на зарплату в размере 50-65 тысяч рублей в месяц в зависимости от круга обязанностей и компании, в которой они работают.
Куда более привлекательнее обстоят дела с зарплатами программистов в столичных регионах. По данным сайта Superjob, 50 тысяч рублей – стартовый размер оплаты труда в Москве, опытные специалисты получают от 90 тысяч рублей, при этом доход не ограничен. Средний заработок программистов со стажем работы и претендующих на вышестоящие должности – 130 тысяч рублей в месяц.
В Америке программист зарабатывает примерно от 250 до 500 тысяч рублей в месяц или 45-90 тысяч долларов в год. А в Японии такие специалисты оцениваются примерно в 200-220 тысяч рублей в месяц. Вы можете убедиться в этом сами, заглянув на популярные сайты поиска работы за рубежом.
Да, зарплата в этой сфере действительно привлекательная, но не стоит забывать, что она зависит от уровня квалификации специалиста, места работы и сложности проектов, если речь идет о проектной работе.
Преимущества и недостатки профессии
Конечно, высокая зарплата – несомненный плюс, но при выборе профессии не стоит опираться только на один критерий, а лучше здраво взвесить все «за» и «против».
Давайте сначала о хорошем. Программист – востребованная вакансия на рынке труда, причем работу найдет и программист 1С и web-разработчик, главное определиться, что именно важно при выборе работы.
Работа программиста полна творчества и интересных задач. Сегодня он пишет сайт для интернет-магазина, а завтра программирует роботов или работает над очередным крутым приложением для владельцев Apple.
Также плюсом является то, что программист может работать не только в офисе, но и удаленно, т.е. совершенно не привязывать себя к месту и времени. Многие известные IT-компании давно перешли в режим свободного графика, ведь главное в их работе – результат. А офисы крупных представителей IT-сферы впечатляют своим масштабом, креативом и удобством. Там есть все для комфортной работы программистов – чего стоит только офис компании Google.
Более того, специалисты такого профиля могут работать удаленно на иностранную компанию, только для этого понадобится знание иностранного языка.
К минусам профессии можно отнести сидячий образ жизни, ведь программист проводит много времени за компьютером. Если вы решили связать свою жизнь с программированием, обеспечьте себя физическими нагрузками в свободное время от работы, а также делайте перерывы в работе каждые 45 минут.
Еще одним недостатком является то, что программист должен постоянно повышать свой уровень профессионализма, ведь компьютерные технологии не стоят на месте, а полученные знания в учебных заведениях быстро устаревают. Хотя этот факт можно отнести и к плюсам профессии, ведь это здорово мотивирует к совершенствованию себя как специалиста. Согласны?
Куда пойти учиться?
Конечно, с профессией хорошо бы определиться еще в школьные годы, ведь тогда вы начнете углубленно изучать математику, информатику, иностранные языки и знакомиться с полезной литературой о будущей специальности.
Чтобы стать хорошим специалистом, лучше всего закончить профильное учебное заведение и получить соответствующий диплом, ведь, благодаря профессиональному образованию, вы не только приобретете полезные знания, но и вырастите как личность. Более того, обучение в вузе поможет обрести новые знакомства и зарекомендовать себя еще будучи студентом, а это залог успешного трудоустройства.
Сейчас выбор специальностей достаточно обширен. Вот несколько из них:
Перед поступлением советуем тщательно ознакомиться со списком направлений, которые есть в выбранном вами учебном заведении, и принять решение, учитывая свои способности и пожелания.
Есть много курсов, которые можно пройти онлайн параллельно основной учебе или чтобы прокачать уже имеющиеся навыки. Советуем заглянуть на следующие ресурсы:
На самом деле полезных ресурсов для программистов бесчисленное множество. Вот еще 70 бесплатных сервисов для изучения программирования.
Какое бы учебное заведение вы ни выбрали, помните, что эта профессия требует постоянного обучения, поэтому не останавливайте свое развитие, если хотите стать профессионалом.
И напоследок
Сегодня профессия программиста – одна из самых востребованных на рынке труда. И это не просто профессия, а свойство характера, когда многочисленные знаки, символы, задачи, компиляции приносят удовольствие.
Никто не говорит, что для того, чтобы стать профессионалом в этой области, нужно быть талантливым человеком. Здесь речь идет о стремлении в постоянном совершенствовании своих навыков и о соответствии личностных качеств данной профессии.
Советуем пройти нашу онлайн-программу «Самопознание», где за несколько недель с помощью психологических тестов и упражнений вы узнаете сильные и слабые стороны, более 50 характеристик своей личности и поймете, обладаете ли вы теми качествами, которые присущи специалистам в области программирования. Рекомендуем!
Если вы решили стать программистом, начинайте свое знакомство с этим ремеслом прямо сейчас: прочитайте полезную литературу, пройдите онлайн-курс и пообщайтесь с тем, кто уже достиг успеха в этой области. Это поможет принять взвешенное решение и не ошибиться с выбором.
Отчасти мы все программисты, ведь каждый из нас пишет сам свою жизнь на своем языке. Любите свое дело, стремитесь быть лучшими в нем, и тогда все вершины будут покорены.
Всё о профессии программиста в 2022 с нуля
9 комментариев 12.12.2020 обновлено 19 секунд назад
Программирование — это новый рок-н-рол, космические зарплаты и уверенность в завтрашнем дне. Разберемся, всё ли так на самом деле: какие бывают программисты, сколько они зарабатывают, что нужно знать и уметь, как начать карьеру в IT.
Достоверность информации гарантируем — статья вычитана и проверена десятью программистами разных специальностей.
Содержание:
Кто такой программист?
Программист — это инженер, который превращает идеи в машинный код.
Простыми словами, программист создаёт инструкции для компьютера. Компьютер выполняет эти инструкции, и получается рабочий продукт: веб-сайт, мобильное приложение, компьютерная игра.
Специализации программистов: сколько зарабатывают, что нужно знать и уметь
За термином «программист» скрываются узкопрофильные специалисты: разработчики программного обеспечения, инженеры, специалисты по безопасности и т.д. Рассмотрим основные сферы работы программиста с примерами.
01. Профессия:
мобильный разработчик
Мобильная разработка — это создание приложений для мобильных устройств: смартфонов, планшетов, гаджетов.
Где можно работать?
55% наших пользователей вообще не используют веб-версию.
Языки программирования: Java и Kotlin для Android, Objective-C и Swift для iOS, C# для Windows Phone.
Что нужно знать и уметь: у каждой платформы свой мир, свои решения и инструменты. Для работы на любой из них понадобится знание английского языка, объектно-ориентированного программирования (ООП) и паттернов архитектуры приложений (MV*).
Это базовые навыки — чтобы вырасти из стажера в специалиста, нужно учить новые технологии, например, сейчас популярна разработка на платформе Flutter. Подробнее о технологиях в статьях:
Сколько зарабатывает разработчик мобильных приложений?
По данным Хабр Карьера, средняя зп:
младшего специалиста (junior) — 59 тысяч рублей,
среднего (middle) — 115 тысяч,
старшего разработчика (senior) — 188 тысяч,
ведущего (lead) — 200 тысяч рублей.
Рост не происходит автоматически — чтобы подняться, нужно учить новые технологии.
02. Профессия:
веб-разработчик
Веб-разработка — это создание веб-приложений и веб-сайтов. Веб-разработку принято делить на фронтенд, бэкенд и фулстек.
Фронтенд-
разработчик
Как расшифровать? Фронтенд — от английского front-end, дословно — «лицевая сторона». Это лицо сайта, его интерфейс, с которым взаимодействует пользователь. Фронтендеры отвечают за работу всех видимых компонентов сайта: контент, изображения, кнопки, навигация.
Где нужен фронтенд? Везде, где есть веб-сайты: интернет-магазины, маркетплейсы, агенства и студии, СМИ, блоги, корпоративные порталы, системы автоматизации бизнеса и другие сервисы.
Базовые технологии: HTML, CSS, JavaScript и его фреймворки, TypeScript.
Что нужно знать и уметь? Фронтендер программирует интерфейс сайта, умеет пользоваться библиотеками и фреймворками, занимается адаптивной вёрсткой. Подробнее о инструментах и навыках в статьях:
Фронтендер проектирует структуру сайта и работает с заказчиком — нужны скилы дизайна UX/UI и коммуникативные навыки. Знание английского, хотя бы intermediate — обязательно для работы с кодом и самообучения.
Сколько зарабатывает фронтендер?
По данным Хабр Карьера, средняя зарплата:
младшего специалиста (junior) — 53 тысячи рублей,
среднего (middle) — 100 тысяч рублей,
старшего разработчика (senior) — 170 тысяч,
ведущего (lead) — 185 тысяч рублей.
Знание каждой библиотеки или фреймворка добавляет 10-15 тысяч к з.п.
Бэкенд-
разработчик
Как расшифровать? Бэкенд — от английского back end, дословно — тыльная сторона. Это программно-аппаратная часть сервиса, его внутренности.
Бэкенд-разработчик создаёт функции сайта, которые доступны пользователю через интерфейс. Например, фронтенд — это форма регистрации и корзина на сайте, а бэкенд — это связка полей формы регистрации с корзиной, база данных и интеграция с платёжным сервисом.
Где можно работать? Как и в случае с фронтендом — везде, где есть сайты и приложения.
Языки программирования: PHP, Python, JavaScript, Java, C#, Go, C/C++.
Что нужно знать и уметь? Бэкендер программирует на «серверных» языках, знает веб-фреймворки, работает с базами данных, пишет юнит-тесты. Подробнее в статьях:
Бэкендер, в отличии от фронтендера, может быть интровертом — это работа по техзаданию, контакт с заказчиком и пользователями ограничен. Как и в случае с фронтендом, знание английского — обязательно для работы и самообучения.
Сколько зарабатывает бэкенд-программист?
По данным Хабр Карьера, средняя зарплата:
стажёра — 35 тысяч рублей,
младшего специалиста (junior) — 55 тысяч рублей,
среднего (middle) — 105 тысяч рублей,
старшего разработчика (senior) — 170 тысяч,
ведущего (lead) — 185 тысяч рублей.
Фуллстек
разработчик
Как расшифровать? Фулстек — от английского full stack, полный стек технологий. Full Stack Developer — это универсальный программист, который может с нуля разработать функциональный продукт.
Что нужно знать и уметь? Разработчик фул-стек разбирается как в бэкенде (программно-аппаратная часть сервиса), так и во фрнтенде (интерфейс пользователя). Также, фулстек может быть внутри определенной технологии — например, full-stack JavaScript.
Есть мнение, что фул-стек разработчик — это миф. Невозможно владеть всеми технологиями одновременно и следить за разработками во всех стеках.
Где можно работать? Компании открывают должность Full Stack по разным причинам. Например, проект не сложный технически, но требует частых изменений — в таком случае, одному человеку будет проще разобраться.
Иногда фул-стека нанимают из соображений экономии, когда нет денег на целый отдел IT. В этом случае, фул-стек часто становится эникейщиком и заниматься вообще всем, в том числе заправляет принтер. 🙂
Фулстек программисты в IT-компаниях часто становятся директорами. Фулстек — это зона роста для фронтенд и бэкендера. При этом, бэкенд ближе к фулстеку технологически.
Вас могут заинтересовать статьи:
03. Профессия:
системный программист
Простыми словами, системное программирование — это программирование железа на машинном языке. Синоним: низкоуровневое программирование, LLP (low level programming).
Технологии: языки низкого уровня, а также язык Си.
Язык низкого уровня — это язык ассемблера, машинный код. Это команды для процессоров и микроконтроллеров. Код уникальный и не переносится с платформы на платформу. Для сравнения, языки высокого уровня (Java, Python, C++) — это «человеческие» языки программирования, словесные команды, которые переводятся в машинный код на компиляторе и работают на разных платформах.
Какие нужны навыки? Знание архитектуры процессора и памяти, опыт программирования на языке высокого уровня, работа с цифровой схемотехникой.
Системный программист — это полный универсал: мне приходилось как писать код, так и отлаживать железо. И часто возникала необходимость что-то паять самостоятельно. Часто собеседования на вакансию системного программиста выглядят как поиск специалиста по электронике.
Где можно работать? Везде, где нужно программировать процессоры, микроконтроллеры, драйверы:
Сколько зарабатывает системный программист?
Многие системщики работают на производствах и в государственном секторе, зарплата там ниже, чем в IT. Старший системщик в профильной IT компании может получать 100-150 тысяч рублей.
04. Профессия:
дата сайентист
Data Scientist — это программист-аналитик, который работает с большими данными и занимается машинным обучением.
Большие данные, big data — это массив неструктурированной информации, которую нужно собрать, обработать, найти закономерности и сделать выводы.
Машинное обучение — это настройка нейросетей для работы с big data.
Языки программирования: Python, R, SQL.
Что еще нужно знать и уметь? Обязательно знать математику и методы статистики. Также, нужно знать алгоритмы машинного обучения и уметь работать с базами данных.
Где можно работать? Прогнозы, аналитика и математическое моделирование нужны везде: в бизнесе, финансах, на производствах, в медицине и сельском хозяйстве.
В сфере IT, дата-сайентист разрабатывает ботов и алгоритмы. Например, Youtube и Instagram написаны на Python, а искусственный интеллект подбирает рекомендации и администрирует платформу.
Развивающиеся сферы: NLP (natural language processing — распознавание человеческой речи), компьютерное зрение, разработка алгоритмов искусственного интеллекта.
Сколько зарабатывает дата сайентист?
По данным HH.ru, джуниоры получают от 70 тысяч рублей, а опытные специалисты в среднем зарабатывают 200 тысяч рублей в месяц.
05. Профессия:
DevOps инженер
Как расшифровать? DevOps — сокращенное от development and operations. Означает взаимодействие людей, занимающихся разработкой, тестированием и операциями. Это метод автоматизации разработки, задача — быстрый выпуск качественного ПО. Девопс охватывает весь процесс производства софта: от написания кода, до релиза и поддержки.
Девопс-инеженер совмещает несколько профессий: системного администратора, разработчика, тестировщика и менеджера. Считается, что девопс — это роль для опытного сисадмина.
Что нужно знать и уметь? Девопс умеет настраивать железо и адаптировать под него код. У него есть опыт администрирования ОС Windows и Linux, он умеет работать с инструментами автоматизации, тестирования, оптимизации. Девопс может написать скрипты и код, разбирается в сетевых технологиях. Подробнее о навыках в статьях:
Еще одна специализация — это DevSecOps, Security Development. Это работа с недостатками и уязвимостями приложений. Подробнее в статье Страх и ненависть DevSecOps.
Где можно работать? В компаниях, которые разрабатывают приложения и управляют серверами. Девопсов любят IT-гиганты вроде Amazon и Facebook.
Сколько зарабатывают DevOps? Девопс-инженеры зарабатывают больше всех в айти. По данным hh.ru, начинающие девопсы получают от 100 тысяч, а опытные специалисты — от 250 тысяч рублей в месяц.
06. Профессия:
разработчик ПО
Разработка прикладного программного обеспечения — это проектирование, написание, тестирование и поддержка программ, предназначенных для пользователя. Примеры прикладного ПО: текстовые и графические редакторы, веб-браузеры, компьютерные игры, системы автоматизации для бизнеса. Синоним: десктоп-приложения.
Каждый разработчик ПО умеет программировать, но не каждый программист может разрабатывать ПО.
Разработчики программного обеспечения — это девелоперы и инженеры, которые делают ПО с нуля. Между позициями разработчика и инженера ПО есть различия.
Инженер — это опытный архитектор, который проектирует ПО с нуля. В то время как разработчик сосредоточен на определенном куске ПО, инженер видит big picture и контролирует полный цикл. Инженера можно сравнить с фулстеком.
У Software Engineer обычно очень большой кругозор. У американцев есть отличная поговорка: когда у тебя есть только молоток, все вокруг выглядит как гвоздь. Поэтому меня раздражают позиции с названиями типа Java Engineer или Ruby Engineer. Инженер не может быть привязан к языку.
Языки программирования: Python, С#, Java, JavaScript, C, C++, Delphi.
Подробнее о технологиях в статьях:
Где можно работать? В IT компаниях, которые разрабатывают прикладное ПО. Пример: вакансия в Яндексе.
Сколько зарабатывают разработчики ПО? ЗП зависит от опыта и знания конкретных технологий. По запросу software developer на hh.ru видим, что младшим специалистам (junior) в среднем предлагают 100 тысяч рублей, а старшим специалистам — от 200 тысяч рублей.
07. Профессия:
тестировщик (QA-инженер)
Тестировщик — это QA-инженер, который ищет ошибки в ПО, проверяет его качество и соответствие техзаданию.
Как расшифровать? QA — от английского Quality Assurance, проверка качества.
Младший тестировщик тестирует программы вручную, без скриптов и кода, по заранее описанным планам. Опытные инженеры по тестированию самостоятельно пишут и проводят тест-планы — часто автоматизированные, с использованием скриптов и языка программирования.
Должность тестировщика — оптимальное начало карьеры в IT, т.к. эта специальность проще других технически. QA-инженеры видят продукт со всех сторон. Пути развития — уйти в менеджеры, разработчики, либо стать ведущим специалистом по QA.
Что нужно знать и уметь? Для старта, потребуется опыт работы в технической поддержке, понимание архитектуры ПК, Linux, сетевых моделей OSI, знание основ программирования на любом популярном языке, навыки работы с инструментами тестирования.
Инструменты: багтрекеры (Bugzilla, Jira), инструменты автоматизации (Selenium), сетевые утилиты (Wireshark). Подробнее о технологиях в статьях:
Где можно работать? В IT-компаниях, разрабатывающих софт, игры, мобильные приложения, системы безопасности и т.д.
Сколько зарабатывает тестировщик?
По данным Хабр.Карьера, средняя зп:
стажёра — 35 тысяч рублей,
младшего специалиста (junior) — 50-60 тысяч рублей,
среднего (middle) — 70-80 тысяч,
старшего специалиста (senior) — от 100 тысяч рублей.
Где учиться
на программиста?
01. ВУЗы
Зачем нужно высшее образование в IT?
Абитуриенту лучше выбрать факультет информатики, либо физику, математику и другие технические специальности. Для поступления нужно сдать ЕГЭ по математике, физике или информатике, русскому языку. Вас может заинтересовать статья про высшее техническое образование для абитуриентов.
Если у вас уже есть высшее образование, можно пойти на второе высшее, выбрав заочную или вечернюю форму обучения для экономии времени. Вас может заинтересовать статья про второе высшее техническое образование.
Нужна ли программерам вышка — больной вопрос для общества. Он всегда вызывает дискуссии с переходом на личности. Я встречал отличных программеров как с вузовскими дипломами, так и с девятью классами образования. Но с дипломами я их встречал больше. Возможно, их просто в принципе больше.
Альтернатива и обязательное дополнение к высшему образованию — это онлайн курсы и онлайн-школы.
02. Курсы и школы
Это кратчайший путь в IT для всех желающих.
Достоинства курсов: структурированная информация, свободный график, домашние задания, работа с наставником.
Недостатки: свободный график требует самодисциплины, в любом случае придется много работать и усердно учиться, знания не вкладываются в голову автоматически.
Список лучших ресурсов для IT образования:
03. Книги для программистов
Для каждой специальности есть свой набор книг. Это список книг, которые могут быть полезны всем.