Программист
Программи́ст — профессия или увлечение человека, занимающегося разработкой программного обеспечения для программируемых устройств, которые, как правило, содержат один и более CPU. Примером таких устройств являются настольный ПК, сотовый телефон, смартфон, игровая приставка, сервер, суперкомпьютер, микроконтроллер, промышленный и одноразовый компьютер.
По ошибке, программистом порой называют системного администратора и других специалистов ИТ.
Квалификационные требования
2022: 66% разработчиков и программистов не имеют профильного высшего образования
По данным базы резюме российской платформы онлайн-рекрутинга hh.ru за 2022 год, 66% (или 170 тысяч) разработчиков и программистов среди мужчин не имеют профильного высшего образования, наличие профильного высшего образования встречается лишь у каждого третьего. Такими данными с TAdviser 26 сентября 2022 года поделилась компания HeadHunter по итогам проведенного исследования, в рамках которого были проанализированы данные из резюме 813 тыс. разработчиков и 2,7 млн всех занятых в ИТ. Подробнее здесь.
2006: Созданы квалификационные требования в области ИТ для профессии «Программист»
В Российской федерации, в соответствии с решением заседания от 5 июня 2006 года Совета по ИТ при Министре информационных технологий и связи РФ, при организационной поддержке Мининформсвязи РФ и Ассоциации Предприятий Компьютерных и Информационных Технологий (АП КИТ) был выполнен проект целью которого являлось формирование профессиональных стандартов по наиболее массовым и востребованным профессиям в области ИТ, описывающих должности, профессиональные компетенции, требования к уровням образования, стажу работы и сертификации в соответствии с квалификационными уровнями.
Финансовую поддержку и другую помощь проекту оказали ведущие компании ИТ-отрасли IBM, Intel, Microsoft, Яндекс, 1С и многие другие.TAdviser SummIT 28 мая стал самым масштабным за всю историю его проведения. Более 1,5 тыс участников и 50 стендов. ФОТО
В результате работы были созданы Квалификационные требования (профессиональный стандарт) в области информационных технологий для профессии «Программист».
Зарплаты программистов в России
Себестоимость часа работы программиста
Жизненный цикл информационной системы
В жизненном цикле ИС могут принимать участие IT бизнес-аналитики, которые выясняют точные требования заказчика, архитекторы, которые разрабатывают структуру и функции ИС, математики, которые словесное описание функций ИС формализуют в алгоритмы, программисты, которые преобразуют математические алгоритмы в программный код, тестеры, которые создают всевозможные входные комбинации с целью поиска ошибок в ИС, специалисты по сопровождению, которые знакомят пользователей с работой ИС и «на коленках» решают малые проблемы инсталляции ИС, системные администраторы, которые поддерживают функционирование ИС и решают «технические» проблемы пользователей.
Весьма часта ситуация, когда программист совмещает роли других создателей ИС, при этом, отдавая уважение этой профессии, его по-прежнему называют программистом.
Специализация программистов
Будучи специалистом, программист специализируется на предметной области, которая охватывает знания и навыки, которыми способен качественно овладеть один человек. Широта предметной области и качество навыков для программиста индивидуальны. И зависят от трудового опыта, интеллекта, врождённых наклонностей, силы воли, социальной отгороженности и конъюнктуры вакансий программистов. Ниже перечислены некоторые специализации программистов.
- 1С Программист.
- Веб-разработчик.
- Delphi программист.
- Программист Visual Basic.
- Программист .NET.
- Java программист.
- Программист C++.
- Программист баз данных (SQL, языки работающие с базами данных: Visual FoxPro, FoxBase, Dbase, Oracle и другие).
- Программист-тестировщик.
- Программист-постановщик (Главный архитектор проекта).
- Программист [микроконтроллеров.
На заре становления компьютерной индустрии было актуально деление на прикладных и системных программистов. Если первые создали софт для конечных пользователей. То системные программисты создавали софт-инструменты для поддержки прикладных программистов: операционные системы, компиляторы, стандартные библиотеки и драйверы.
Востребованные навыки программистов
В условиях постоянно меняющегося рынка ИТ-услуг отрабатывать положенное количество часов и добросовестно выполнять свою работу уже, возможно, недостаточно. Нужно чем-то выделяться и быть разносторонним специалистом. В 2017 г. самое надежное преимущество будет у тех, кто обладает наиболее востребованными знаниями и умениями, а также помогает своему работодателю поспевать за теми движущими силами в технологиях и бизнесе, которые преображают многие отрасли. Навыки, которые предприятиям нужны от программистов, часто меняются: то, что пользовалось большим спросом год назад, сегодня могут отодвинуть на второй план модные языки программирования, инструментарии или платформы. Фирма проверки профпригодности Triplebyte из Сан-Франциско с помощью собственной аналитической платформы и архивов данных ежегодно оценивает способности тысяч программистов и сводит их с работодателями. Гендиректор и основатель Triplebyte Хардж Таггар рассказал, какая квалификация сейчас нужна предприятиям от программистов.
Разработчики продуктов. Успешные разработчики продуктов занимаются решением задач, приносящих максимальную выгоду бизнесу. Инженерами чаще всего движет желание работать над наиболее интересными техническими проблемами, но сам по себе процесс создания ПО становится все проще, поэтому компаниям теперь важнее, чтобы инженеры задумались над тем, какие решения нужны в первую очередь клиентам этих компаний[1].
Масштабирование веб-систем. Крупнейшие софтверные компании все чаще выпускают веб-приложения. Их легко и быстро прототипировать, но гораздо сложнее масштабировать. Компании ищут таких инженеров, которые могут взять базовое веб-приложение и расширить его до миллионов пользователей. Здесь особенно пригодится глубокое понимание архитектуры баз данных.
Участие в Open Source-проектах. По мере того, как растут объемы кода, свободно доступного на сайтах вроде GitHub, компании все больше заинтересованы в претендентах, в прошлом участвовавших в открытых проектах или выкладывавших собственный код в открытый доступ. Такие поступки свидетельствуют об их рабочем энтузиазме и выгодно выделяют их на фоне других соискателей.
Обучение на онлайн-курсах. Инженеры, прошедшие курсы самостоятельного повышения квалификации на таких сайтах, как Coursera for Business или Udacity, демонстрируют любознательность и желание двигаться вперед. Однако инженерам не следует выдавать себя за экспертов в какой-либо области только потому, что они прошли один онлайн-курс.
Разработка мобильного ПО: iOS и Android. В любой компании все острее стоит вопрос выработки мобильной стратегии. Из-за этого повысился спрос на программистов мобильных приложений, особенно под iOS и Android. Инженеры, которым есть чем похвастаться в этом плане, даже если речь идет о личных проектах, будут намного более востребованными.
Навыки технического общения. Существует огромный спрос на людей с хорошими навыками технического общения, так как способность что-либо доходчиво объяснить повышает совокупную производительность всего отдела. Это не значит, что человек должен быть просто дружелюбным и уверенным в себе. Это значит, что он может четко и ясно донести до коллег сложные идеи.
Практические навыки написания кода. Компаниям не нужны инженеры, которые только говорят о том, каким должен быть код, — им нужны те, кто продемонстрирует, что сам умеет его писать. Из-за этого изменился порядок проведения технических собеседований. Все больше компаний предпочитают вместо стандартных собеседований у доски дать соискателю ноутбук и попросить его за пару часов что-нибудь скомпилировать.
Управление программистами. Строго говоря, это не технический навык, однако по мере роста компаний им нужны инженеры, способные простимулировать своих коллег работать быстрее и лучше. Велик спрос на инженеров, которые не упускают возможности чему-то обучить начинающих программистов и повести за собой свою команду.
Инструменты программиста
- IDE — интегрированная среда разработки, яркими примерами которой являются Delphi и Visual Basic, которую изучают в ВУЗах РФ.
- SDK и DDK — инструмент разработки софта.
- DDK — инструмент разработки драйверов.
- Компилятор, который транслирует исходный код, понятный программисту, в машинный язык, понятный CPU или виртуальной машине, или интерпретатор, который исполняет непосредственно код программы.
- Отладчик, так же называемый дебагером. Отладчик участвует в поиске ошибок, детально демонстрируя изменение во времени свойств компьютера, таких как разнообразные переменные, стэк, память, регистры процессора, слово состояния CPU.
- Компоновщик, который собирает откомпилированные файлы и статические библиотеки в исполняемый файл, структура которого понятна операционной системе.
Смотрите также - Средства разработки приложений
Удовлетворенность профессией
2018: 72% молодых ИТ-специалистов готовы вернуться в Россию, поработав за рубежом
Согласно данным опроса «Рынок труда глазами молодых ИТ-специалистов», проведенного международным кадровым агентством Келли Сервисез Си-Ай-Эс (Kelly) в марте-апреле 2018 года, молодые ИТ-специалисты заинтересованы в получении международного опыта работы — таковых среди респондентов 65%, но при этом подавляющее большинство из них (72%) планируют вернуться в Россию, поработав за рубежом.
Всего в опросе приняли участие 502 респондента из сферы информационных технологий. 91% опрошенных получали основное образование в России и только 9% — основное или дополнительное образование за рубежом. Большинство из опрошенных — сотрудники в возрасте до 28 лет (87%) с высшим образованием (82%). Более половины респондентов (58%) имеют опыт работы от трех лет, 28% — без опыта. 31% занимается разработкой ПО, 24% — ИТ-поддержкой, 11% — тестированием ПО, 11% — управлением проектами и др.
По информации Kelly Services, большинство работодателей (54%) считают ИТ-специалистов самыми востребованными на рынке труда. Со своей стороны, молодые ИТ-специалисты предъявляют высокие требования к первому работодателю. Так, 76% из них считают, что на первом месте работы не следует задерживаться дольше, чем на 3 года. 13% и вовсе считают, что на первой работе стоит работать не более года, и только 11% готовы проработать более трех лет.
При этом в первый год работы от работодателя большинство респондентов ждут программы ввода в должность (68%), профильных тренингов (58%), помощи персонального наставника (46%) и др.
Перечисляя обязательные составляющие соцпакета, молодые сотрудники выделяют ДМС (31%), расходы на питание (19%) и тренинги для сотрудников (16%).
Что касается дохода, то на текущем месте работы у трети молодых ИТ-специалистов он не превышает 50 тыс. рублей (33%), 39% зарабатывают от 50 до 100 тыс. рублей еще 18% — от 100 до 150 тыс. рублей. Только 8% получают зарплату выше 150 тыс. рублей, говорится в отчете Kelly Services.
При переходе на новую работу большинство респондентов рассчитывает на повышение в размере 20% (35% опрошенных) и 30% (29% опрошенных). 15% специалистов ждут повышение зарплаты в два раза и более, 11% согласны на прибавку в размере 10%, и 10% готовы перейти на интересную работу при той же зарплате.
В Kelly Services также выяснили, какой формат работы наиболее привлекателен для соискателей. Половина опрошенных (49%) предпочитают работу в офисе, но с гибким графиком. 26% готовы согласиться на офисную работу, но с возможностью свободного посещения в любой день, 18% согласны на офисную работу по строгому графику и только 7% рассматривают возможность полностью удаленной занятости. При этом абсолютное большинство предпочитают постоянный трудовой контракт (85%) и только 4% готовы работать на фрилансе.
Поскольку респонденты проявили интерес к получению опыта работы за рубежом, в Kelly Services предложили указать любую зарубежную страну, в которой они предпочли бы работать. Подавляющее большинство выбрали США, далее в рейтинге следуют Германия, Великобритания, Канада, Чехия, Испания и др.
Уровень знания английского языка у большинства респондентов достаточен для совершенствования знаний по ИТ на английском языке: более половины (55%) владеют им на уровне intermediate, 27% — advanced.
В качестве причин, побуждающих строить международную карьеру, большинство ИТ-специалистов назвали ценный опыт работы в другой стране/международном коллективе (82%), более высокую зарплату (73%) и интересные карьерные возможности (60%).
Между тем, 20% опрошенных хотят уехать по личным причинам, при этом 12% — из политических соображений, 4% не устраивает климат, и еще 4% планируют дальнейшую смену жительства.
2011: Программисты №2 по удовлетворенности своей профессией в России
В январе 2011 года исследовательский центр рекрутингового портала Superjob выяснил, представители каких профессий среди россиян довольны своей работой больше всех. По данным центра, при выборе профессии значительную роль для россиян играет не только высокая оплата труда, но и стремление к реализации в определённой сфере, к которой «лежит душа».
Как оказалось, наиболее успешными в этом плане являются архитекторы. По словам 64% современных зодчих, однозначно довольных тем, чем они занимаются, больше всего в некогда выбранной профессии им импонируют возможность реализации творческого потенциала и достойный заработок.
Вторыми по уровню удовлетворённости своей профессией оказались программисты (61%), основными приоритетами которых также являются адекватная оплата труда и искренняя заинтересованность в работе. Подробнее здесь.
Спортивное программирование
Основная статья: Спортивное программирование
Субкультура программистов
Сленг и жаргон
В среде программистов можно услышать богатый компьютерный жаргон, который возникает из-за необходимости часто использовать сложные слова. Так же от программистов можно услышать «насильник» или «сионист», «астматик», «макрушник» - более специфический жаргон, непонятный остальным ИТ-специалистам. Приведённые слова значат «программист на языке Си», «программист на языке ассемблера» и «программист на макроассемблере» соответственно.
Хакером называют как талантливого программиста (изначальное значение слова), так и компьютерного взломщика. В обществе иногда хакером называют любого увлечённого ИТ специалиста. Что можно воспринимать как ошибку или очередную нагрузку значения слова хакер.
Анекдоты про программистов
Также про программистов есть много анекдотов, в которых высмеивается их оторванность от жизненных реалий, теоретический и строго логический склад ума (образ программиста во многом наследует образ физика).
Вакансии программистов
2020: Названы самые популярные вакансии программистов
Кадровое агентство КАУС 15 сентября 2020 года поделилось с TAdviser статистикой по внутренним источникам за последние 2,5 года и по одним из самых популярных вакансий программистов.
Как видно из представленного графика, рынок в Москве достаточно стабилен, за исключением последнего полугодия. Он то сильно растет, то сильно падает. При этом из международной статистики Stack Overflow видно, что спрос на разработчиков в мире растет. Такие языки как Python, JavaScript находятся в топе международных рейтингов. В то время как в Москве показатели падают. Из чего можно сделать вывод, что это внутренняя временная особенность рынка в Москве, связанная с экономической ситуацией в России.
Программист С# (.NET). За исключением последних 6-ти месяцев разработчики С# имеют стабильный спрос.
Программист Java. Спрос на разработчиков Java характеризуется как стабильный, даже несмотря на кризисные условия рынка. Что неудивительно, так как спрос продолжается не один год и поиск разработчиков представляется непростой задачей.
Программист Python. Язык программирования хоть и не молодой, но имеет популярность, а также обширное комьюнити. Он легок в изучении и широко применим в образовании, что делает его очень популярным и сохраняет его ежегодный рост.
Программист PHP. Язык сохраняет стабильный рост, за исключением последних 6-ти месяцев, несмотря на то, что на нем написано порядка 90% интернета. Как видно из графика, на него также повлияли структурные обстоятельства рынка.
Программист JavaScript. В современном интернете без сложного и красивого функционала вебстраниц не обходится ни одна уважающая себя компания. Соответственно, спрос на front-end разработчиков неуклонно растет, хотя и подвержен влиянию текущего состояния рынка.
В связи с распространением коронавируса усилились давление и нагрузка на специалистов в сфере IT, руководителей IT-отделов. Во многом на IT-отделы легло решение проблем по выживанию бизнеса в кризис. Специалисты вынуждены ускорять проекты по внедрению цифровых технологий, налаживать удалённые каналы работы для большого числа сотрудников, производят управление сетью, поддерживают безопасность. Компании были вынуждены адаптироваться под существующие реалии, запускать цифровые сервисы, приложения. IT-специалистам пришлось реализовывать большие проекты в кратчайшие сроки: без возможности длительного планирования, всестороннего тестирования концепции.
Другие проблемы, с которыми пришлось столкнуться сотрудникам в IT-сфере (и нередко в удалённом режиме работы):
- неконтролируемые пиковые всплески трафика на вебсайтах и в приложениях;
- расширение возможностей клиентского самообслуживания и цифровых продаж;
- поддержание уровня среднего времени восстановления после сбоя.
К последствиям пандемии для рынка труда в IT можно отнести:
- восприятие IT-отделов в организациях как более значимых;
- приток инвестиций в технологии, обучение и развитие IT-специалистов;
- IT-специалисты начали выполнять задачи, с которыми им не приходилось сталкиваться ранее;
- сохранившаяся повышенная нагрузка;
- рост спроса на разработчиков ПО;
- рост спроса на экспертов по Big Data, потребность в организаторах VR/AR-трансляций - театрам, концертным залам и шоу-бизнесу потребуются специалисты, способные перевести контент в цифровую форму.
Обзор основан на данных свежего опроса Stack Overflow Developer Survey от 2020 года. В 2020 году опрос приняли около 65 000 человек. Такая репрезентативная выборка позволяет лучше понять тренды в IT.
Около 55% респондентов считают себя full-stack разработчиками и около 20% опрошенных – разработчиками мобильных приложений. Наиболее распространенные комбинации включают в себя серверных, интерфейсных и full-stack разработчиков.
Пары с большой степенью корреляции:
- администратор базы данных и системный администратор,
- специалист DevOps и инженер по надежности сайта,
- академический исследователь и ученый,
- а также дизайнер и разработчика front-end.
Уже 8-ой год подряд JavaScript сохраняет лидерство как наиболее часто используемый язык программирования. Продвигаясь вниз по списку, также можно увидеть умеренный рост для TypeScript и снижение популярности языка C. Рейтинг Ruby, вошедшего в топ-10 этого списка в 2017 году, в 2020 году сократился. Его место заняли более современные технологии – Go и Kotlin.
Сосредоточив внимание исключительно на веб-фреймворках, видно что jQuery по-прежнему лидер, но постепенно с каждым годом уступает место React.js и Angular. Прослеживается некоторая консолидация, поскольку более 35% респондентов используют jQuery, React, версию Angular (объединяющую Angular, которая представляет Angular 2+ и Angular.js) или разновидность ASP.NET (ASP.NET или ASP .NET Core).
Более 79% разработчиков работают по крайней мере неполный рабочий день. Примерно 12% всех респондентов говорят, что они студенты.
Технологии были объединены в несколько отдельных "экосистем", которые, как правило, используются одними и теми же разработчиками. Эта схема демонстрирует, какие технологии наиболее тесно связаны друг с другом.
Как и в 2019 году, виден большой кластер технологий веб-разработки, соединенный через SQL с технологиями Microsoft, а также кластер операционных технологий, подключенных к сети экосистемы Python через Linux.
По итогам анализа рынка труда в IT-отрасли эксперты кадрового агентства «КАУС-ИТ» составили рейтинг наиболее востребованных и наиболее сложно закрываемых.
Топ-5 наиболее востребованных в 2020 году позиций в IT:
- Программист Java
- Программист 1С
- Программист JavaScript
- Программист C# (.NET)
- Программист PHP
Топ-5 наиболее сложно закрываемых направлений в IT отрасли в 2020 году:
- Программист Android (мобильная разработка)
- Программист Java
- Программист C# (.NET)
- Программист Swift (ObC)
- Программист JavaScript
Смотрите также
- Средства разработки приложений - каталог продуктов и проектов
- Программист
- День программиста
- Кладбища программистов. Почему не все ИТ-шники хотят работать в корпорациях
- Разработчики сайтов (контакты программистов)
- Рейтинг программистов HackerRank
- Себестоимость часа работы программиста
- Зарплаты программистов в России
- Синдром самозванца в ИТ