Инженер программист история профессии. Недостатки профессии программиста

За последнее десятилетие список профессий потерял почти 20% профилей, а средний штат крупных компаний уменьшился более чем на четверть. Если не первое, то второе – это полностью заслуга компьютерных технологий.

Компьютеры – будущее. Но для создания светлого будущего они должны работать без сбоев. За это и отвечают программисты. Их задача – поддержание работоспособности автоматизированных систем. Вот почему востребованность такой профессии не вызывает сомнения. IT-специалист дефицитен сегодня, на него будет спрос через 10 лет, без него бизнес не сможет функционировать спустя полвека.

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

Да, это профиль широкий. Говоря об IT-специалисте, можно подразумевать экспертов самых разных направлений. Плюс состоит в том, что каждое из актуальных направлений молодые люди могут освоить у нас (колледж/вуз). Какие есть варианты?

  • Системное программирование (создание инструментария/условий для функционирования применяемой операционной системы, внутренней сети компании).
  • Разработчик приложений (прикладное программирование). Это создатели онлайн-игр и софта под нужды бизнеса (для покупки товара, заказа услуги).
  • Веб-программист – разработчик интернет-ресурсов (сайты, каталоги, интернет-магазины, базы данных клиентов и подписчиков).
  • Эксперт по телекоммуникациям и связи.
  • Администратор систем или IT-специалист широкого профиля. Формирует и контролирует эффективность IT-инфраструктуры предприятия.
  • Программист 1С.

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

По статистике, самыми востребованными для Рунета остаются веб-программисты. Штатные IT-специалисты широкого профиля незаменимы для крупных компаний. Третье место топ-3-списка (около 22% открытых вакансий) занимают разработчики приложений и администраторы сетей.

Востребованность программистов в России

Согласно данным за 2016 год, в этой области задействовано менее 400 тысяч специалистов. К 2018 году количество вакансий превысит численность занятых программистов минимум вдвое (800+ тысяч).

Суммированное ежегодное количество выпускников факультетов ИС – меньше 45 тысяч человек. При сегодняшнем дефиците (почти 900 тысяч открытых вакансий) и приросте по 45 тысяч/год молодых экспертов за 2 года недостаток IT-экспертов увеличится до 1,2–1,25 миллиона человек.

Де-факто проблема трудоустройства для вчерашнего колледжиста, который владеет 2–3 языками программирования, не стоит. А вот угроза закрытия вакансий иностранными претендентами (КНР, Индия) есть. Потому вопрос образования для получения престижной должности для представителей программистской профессии открыт.

Перспективы за рубежом

По зарплате российский рынок труда проигрывает западному. Средняя ставка штатного программиста составляет 75–82 тысячи рублей (столицы) и 55–60 тысяч (регионы). За рубежом минимальная планка при наличии опыта работы стартует с 3,75 тысячи долларов ежемесячно. Максимума нет, средний уровень – 6–7 тысяч долларов/месяц.

Но высокая оплата не является для увлеченного эксперта главным поводом изучать английский язык и пробоваться в IT-отдел Google. В крупнейших американских, европейских, китайских компаниях вершится будущее прогресса. Вот, что самое увлекательное в профессии программиста – шанс изменить устройство мира.

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

Кто же такие программисты, чем они занимаются, почему у программистов такие высокие ЗП?

На самом деле нет простого ответа на это.

Программист сидит за компьютером

Когда я учился в школе, я думал, что это люди, которые сидят за компьютерами. Пожалуй, с этим и связано название профессии в советском исполнении: "Оператор ЭВМ".

В принципе, не плохо - водитель управляет машиной, а "оператор ЭВМ" управляет компьютером. Но здесь есть всё же неувязочка: водитель всё же про "отвезти кого-то/что-то", его же не называют "оператор автотранспортного средства".

Так может и "оператор ЭВМ" - не лучшее название для этой профессии... если, конечно, он не просто сидит за этим самым компьютером.

Программист пишет программы

Следующая ступень понимания этой профессии: "программист пишет программы". Уже лучше. Если вы хоть раз ставили программу / приложение на компьютер или, например, телефон, вы, возможно, имели в виду, что эту программу кто-то сделал...


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

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

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


Программист автоматизирует

Автоматизирует решение проблем, а заодно и проблемы.

После первого семестра началось более прикладное программирование. Мы начали не просто "считать графики функций", а писать программы, которые решают какие-то проблемы. И это уже в разы интереснее! Не для всех - на этом этапе как раз и можно сказать: станет человек хорошим программистом или нет - есть кайф от решения проблем средствами программ или нет?

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


Всё это уменьшает нагрузку на людей, увеличивает эффективность бизнеса.

Вы главное скажите - а что надо автоматизировать?

Программист решает проблемы

Громкое заявление, но если грубо (а честно - это почти всегда грубо) - то так и есть. Часто в работе не было чёткого описания процесса, который надо автоматизировать. Часто это был просто список хотелок, которые надо сделать, и головной боли, от которой надо избавить заказчика.

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

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

Так кто же такие программисты?

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

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

Почему они получают много? Ответ очевиден - рынок: покупателей много, а программистов мало. Почему их мало? Потому что надо не просто сидеть за компьютером, а решать проблемы. При чём автоматизировать эти решения. Те, кто просто сидят за компьютером, получают мало. Те, кто пишут программы - больше. Но ценны именно те люди, что решают проблемы. Ценны они в любой отрасли и получают хорошую ЗП.

Программирование давно уже стало крупной отраслью, объединяющей под одним названием множество разных профессий. Только далекие от сферы IT люди считают, что программист сможет им быстро установить Windows или «собрать простенький интернет-магазин». И очень удивляются, если оказывается, что человек никогда не работал с веб-сайтами или о системе Windows знает меньше, чем многие пользователи. Хотя бы потому, что сам пользуется Linux или Mac.

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

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

Front-end разработчик

Эти программисты специализируются на интерфейсах. Все кнопочки на экране, которые вы можете нажимать, выпадающие меню, и весь внешний вид сайта или приложения – их сфера деятельности. Т.е. Front-end – это работа над динамикой интерактивных интерфейсов. Кроме того, при отсутствии верстальщика от Front-end разработчика могут потребовать работу с HTML-кодом (верстку шаблонов).

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

Необходимо знать технологии:

  • HTML и CSS;
  • Различные фреймворки;
  • препроцессоры (SASS/LESS);
  • JavaScript вместе с библиотеками;
  • Системы отладки и сборки программ.

Также важно понимать, что такое адаптивная и мобильная верстка, изучить работу популярных CMS, разбираться в серверных технологиях и принципах бэкэнда, изучить основы SEO-оптимизации, работу с веб-шрифтами, уметь пользоваться Photoshop, Illustrator, другими графическими редакторами.

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

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

Такие специалисты работают в крупной или средней IT-компании. Вообще, разделение Front-end и Back-end – признак солидного проекта.

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

  • PHP;
  • Python;
  • Java;
  • Ruby.

Также обязательно нужно изучить JavaScript, MySQl, PostgreSQL и NoSQL.

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

Объединяет в себе две описанные выше категории, обычно работает над WEB-проектами. Т.е. это тот самый программист, который сможет создать полноценный сайт «под ключ» самостоятельно.

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

Game Developer

Разработчик игровых приложений – это одно из крупных понятий. Обычно Game разработчики делятся на специализации: разработка декстопных, мобильных игр и MMORG.

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

Необходимые технологии:

  • C/С++. С# или другой язык программирования того же класса;
  • Java и библиотеки;
  • Open GL или DirectX;
  • Unity, Unreal Engine, Torque или другие игровые движки.

Android разработчик

Занимается под управлением ОС Android. В крупных компаниях здесь также разработка делится на Back-end и Front-end. Но в большинстве случаев полный цикл создания приложения, после чего могут работать с любой частью проекта.

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

Необходимые знания:

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

iOS разработчик

Создает различные (ОС для устройств Apple). Выполняет функции, аналогичные описанию Android-программиста. Также востребован в стартапах, компаниях по разработке мобильных приложений и других подобных проектах.

О преимуществах и недостатках систем iOS и Android мы уже писали ранее. Оба направления одинаково важны и востребованы. А с опытом многие программисты учатся работать под обе мобильные ОС.

Что нужно знать iOS разработчику:

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

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

Специалисты по работе с различными конфигурациями программного обеспечения 1С. В профессиональной среде к этой категории отношение двоякое. Многие разработчики язык 1С вообще не считают языком программирования, а специалистов по 1С – программистами. Но, тем не менее, именно так называют эту специальность. И в России она широко востребована.

Программисты 1С занимаются созданием отраслевых конфигураций на основе базовых (типовых), доработкой и настройкой существующих программных решений под особенности бизнеса клиента, написанием внешних обработок и отчетов.

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

Что должен знать 1С-программист:

  • Язык конфигураций 1С;
  • Типовые конфигурации (Бухгалтерия, Предприятие, Управление торговлей и т.д.);
  • Базы данных T-SQL.

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

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

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

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

Основные технологии:

  • Языки программирования C/C++, C#, Delphi и другие;
  • Знание низкоуровневого программирования (Assembler);
  • Значительный багаж технических знаний (в первую очередь, связанных с отраслью, в которой программист работает).

Типы мотивации

И напоследок, как мы и обещали, поговорим об особенностях характера и подходов к работе у разных программистов. Существует множество разных классификаций, но наиболее простая и понятная – по типу мотивации.

Это могут быть:

  • Бизнес-мотивация (оплата, прибыль, репутация);
  • Технологии (возможность опробовать и внедрить что-то новое);
  • Решение задачи (поиск интересных вариантов решения).

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

Бизнес-мотивация

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

Технологическая мотивация

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

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

Решение задач как мотиватор

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

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

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

А как вы себя позиционируете? Какой тип программиста – ваш?

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

Сфера информационных технологий для непосвященного кажется загадочной и непостижимой. Любая тайна рано или поздно начинает обрастать стереотипами и мифическими образами, не избежало этой участи и программирование. В Волшебной Стране IT, где всегда тепло, а деньги растут прямо на деревьях, появились новые герои и артефакты: Всесильный Хакер, Идеальный Язык и Загадочная Женщина-Программист, подобная коту Шредингера .

Тру-программист, какой он

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

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

Настоящий Программист в миру – это бородатый человек в толстом свитере с кофейными пятнами. В ночи он крадется к компьютеру, чтобы немного покодить в тишине, а днем прячется от людей по темным углам.

Миф 1. Программисты не любят общаться

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

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

Миф 2. У программистов скучная жизнь

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

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

Миф 3. Хороший программист может все

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

Основные суперсилы тру-программиста:

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

Конечно же, это не так. В сфере информационных технологий существует огромное количество направлений деятельности, не связанных напрямую друг с другом: кто-то работает с «железом», кто-то – с программами, кто-то – с сетями. Не станем же мы требовать от высококлассного педагога младшей школы провести ребенку операцию по удалению гланд только потому, что объект манипуляций тот же самый?

Миф 4. Программисты умеют только писать код

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

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

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

Бухгалтер в большинстве случаев слишком далек от компьютерных наук и просто не способен в деталях объяснить, чего он ждет от продукта. Вот и приходится программисту самостоятельно вникать в экономические понятия и схемы.

Миф 5. Тру-программист все пишет с нуля

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

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

Как стать тру-программистом

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

Миф 6. Долгий тернистый путь

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

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

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

Миф 7. Легкий приятный путь

Стать программистом можно за 30 минут в день. Достаточно пройти какие-нибудь курсы или посмотреть пару видеоуроков. Это очень просто, почему все люди еще не начали писать код?

Мы уже перестали верить в то, что можно за неделю выучить иностранный язык. В программировании ситуация ничуть не радужнее. Знания + реальный опыт – это единственно возможный рецепт успеха. Набираясь опыта по 30 минут в день, придется потратить долгие годы.

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

Миф 8. Все курсы одинаковые / Идеальный курс

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

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

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

Миф 9. Начинать следует со сложных языков и концепций

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

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

Миф 18. Женщины не могут быть хорошими программистами

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

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

Языки программирования

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

Миф 19. Все языки одинаковые / разные

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

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

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

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

Миф 20. Идеальный язык

Новички, приходя в программирование, первым делом задаются вопросом, какой из всего многообразия существующих языков самый лучший, удобный, полезный – идеальный!

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

Не нужно искать Святой Грааль программирования: его не существует. Новичку следует просто выбрать себе понравившийся язык и познавать его возможности.

Миф 21. Веб-программирование – это несерьезно

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

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

– большая и активно развивающаяся сфера. Сейчас это очень серьезно.

Миф 22. Программирование – это скучно

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

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

Волшебная Страна IT

Окутанная туманом стереотипов и мифов о программировании, Волшебная Страна IT завлекает молодых адептов иллюзиями и обещаниями.

Миф 23. Программист = миллионер

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

Спрос на IT-специалистов на рынке труда высок, но работодатели ищут работников с опытом, поэтому первое время придется довольствоваться небольшими зарплатами и нарабатывать портфолио.

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

Миф 24. Новички никому не нужны

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

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

Миф 25. Навыки программирования нужны только программистам

Программирование – умение специфическое, и оно нужно лишь тем, кто занимается им непосредственно? Это не так.

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

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

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

Разновидности

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

  1. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т.п. К области их работы также можно отнести создание программного обеспечения для систем видео- и аудио-наблюдения‚ СКД‚ систем пожаротушения или пожарной сигнализации и т.п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
  2. Системные программисты разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Специалисты этой категории относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список задач входит обеспечение функционирования и работы созданных систем (драйвера устройств‚ загрузчики и т.д.).
  3. Web-программисты также работают с сетями, но, в большинстве случаев, с глобальными - Интернет. Они пишут программную составляющую сайтов, создают динамические веб-страницы, web-интерфейсы для работы с базами данных.

Особенности профессии

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

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

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

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

Плюсы:

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

Минусы:

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

Место работы

  • IT-компании и web-студии;
  • научно-исследовательские центры;
  • организации, которые подразумевают в своей структуре штатную единицу или отделы программистов.

Важные качества

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

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

Обучение на программиста

Компьютерная Академия ШАГ - международное учебное заведение, обучает . Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель - трудоустройство каждого выпускника.

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

Оплата труда

Программист - одна из самых востребованных и высокооплачиваемых профессий в России. Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около $1000. Штатный программист в компании среднего уровня (не IT) получает до $1500-1800, чуть больше — в организации, связанной с массовой разработкой ПО. Зарплата ведущего программиста — $2500—3000. Следующая ступень — руководитель IT-отдела. К необходимым знаниям добавляется обязательный опыт работы, владение иностранным языком, навыки управления персоналом и др., а заработок может достигать $4000. Хороший программист может стать руководителем крупного проекта по разработке ПО, и тут уровень доходов достигает $5000 и выше.

Зарплата на 07.03.2019

Россия 40000—120000 ₽

Москва 50000—170000 ₽

Ступеньки карьеры и перспективы

Хорошим стартом карьеры может стать присоединение к группе программистов при разработке какого-либо проекта. Крупные проекты часто привлекают внимание западных компаний, которые «перекупают» российских программистов. К примеру, когда-то группа наших молодых ученых разрабатывала процессор «Эльбрус» для Минобороны, а в итоге их всех перекупила корпорация Intel, и теперь наши ученые и программисты работают за рубежом, а сам проект «Эльбрус» потихоньку закрылся. Проблема «утечки мозгов» в этой профессии — одна из самых острых.

Программист может сделать карьеру до руководителя группы программистов (тим-лидер), IT-директора предприятия, менеджера IT-проекта и т.п. В ходе работы программист может перемещаться в рамках своей специальности, совершенствуясь профессионально.

Знаменитые и великие программисты

Кнут Дональд Эрвин
Мацумото Юкихиро
Таненбаум Эндрю
Рэймонд Эрик Стивен
Фаулер Мартин
Хоппер Грейс
Столлман Ричард Мэттью
Кей Алан
Мейер Сид
Страуструп Бьёрн

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

Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочка великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.

В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах.

Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

Аду Августу, графиню Лавлейс, принято считать почётным первым программистом (хотя, конечно, написание одной программы по современным меркам не может считаться родом занятий или профессиональной деятельностью). История сохранила её имя в названии универсального языка программирования «Ада».

Первый работающий программируемый компьютер (1941 год), первые программы для него, а также (с определёнными оговорками) первый язык программирования высокого уровня Планкалкюль создал немецкий инженер Конрад Цузе.

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

Законы Мерфи для программистов

1. Ничто не работает так, как планировалось запрограммировать.

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

3. Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.

4. На решение проблемы уходит в три раза меньше времени, чем на обсуждение всех "за" и "против" её решения.

5. Обещанный срок сдачи - это аккуратно рассчитанная дата окончания проекта плюс шесть месяцев.

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

7. Настоящие программисты любят Windows — все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.

8. Следствие — 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.

9. В приступе злости все почему-то молотят по невинному монитору, вместо системного блока.

10. В случае голодовки настоящий программист ещё месяц сможет питаться едой, выковырянной из-под кнопок клавиатуры.

11. Настоящий программист уже как минимум поменял три залитых пивом клавиатуры.

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

13. Дилетантские разговоры о компьютерах вызывают резкую тошноту вплоть до приступов рвоты. Вопрос о том как поменять "обои" в Windows вызывает желание перерезать горло вопрошающему.

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

15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM и т.д. - это слова, а не аббревиатуры.

16. Словосочетание "мышка-норушка" не несёт никакого смысла.

17. Самые мистические проблемы, широко раздуваемые и афишируемые, в конце концов оказываются твоими глупейшими ошибками.

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

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

20. Решение всех жизненных проблем находится в интернете. Надо только уметь хорошо искать.

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

22. Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает программистов, презирают программистов, которые презирают тех, кто их презирает.

23. Если ты понял предыдущее — то ты программист.

На этом свете 10 типов людей - те, кто понимает двоичную систему счисления, и те, кто не понимает ее.

Видео: ты ж программист