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

10.08.2019 Ios

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

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

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

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

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

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

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

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

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

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

Что делает?

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

Технологии

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

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

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

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

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

Что делает?

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

Технологии

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

  • Ruby;
  • Python;
  • Java;
  • JavaScript.
  • Базы данных MySQl/PostgreSQL/NoSQL.

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

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

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

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

Что делает?

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

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

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

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

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

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

Что делает?

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

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

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

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

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

Что делает?

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

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

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

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

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

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

Что делает?

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

Технологии

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

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

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

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

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

Что делает?

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

Технологии

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

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

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

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

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

Что делает?

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

Технологии

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

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

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

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

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

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

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

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

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

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

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

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

  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 типов людей - те, кто понимает двоичную систему счисления, и те, кто не понимает ее.

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

Я не знаю, как обстоят дела в образовании сейчас, но 10-15 лет назад ни в школе, ни в университете никто всерьёз не объяснял, что программирование имеет свои типы, каждый из которых требует особого типа мышления. Не то чтобы это покалечило чьи-то судьбы, но изучение программных дисциплин могло бы проходить гораздо быстрее, если на стадии закладки фундамента мы представили многообразие языков и подходов, а не зомбически учили C++ в его консольных проявления.

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

Типы программирования

Условимся сразу: типов будет шесть. Это достаточно подробное деление. Обычно выделяют 3-4, но так как перед нами стоит задача выбора пути для новичков, оно вполне оправдано.

Процедурное программирование , оно же императивное.

Оно ставит задачу создания кода на языке, понятном используемой машине. Самый известный случай - машина Тьюринга, из известных языков программирования - С/C++, Ада, Паскаль, Go. Задачи здесь решаются планомерно: сначала объявляется объект, потом он определяется и затем выполняется с ним действие:

var
S: String;

S:= ‘Hello!’;

Декларативное программирование .

В процедурном случае вектор оптимизации языка направлен от машинного уровня к языку пользователя путем использования базовых принципов ООП, классов, методов и пр.. Здесь же во главе угла стоит непосредственно задача, а способ её исполнения второстепенен. Яркий пример - язык разметки HTML. Если вы хотите разместить кнопку, вам формально не надо создавать объект и присваивать ему атрибуты:

Функциональное программирование .

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

Функциональное программирование лишено этого недостатка: здесь вы оперируете функциями - исходными, приращения и результативной, - но не конкретными значениями. Среди популярных представителей - Lisp, Clojure, Haskell. Функциональное программирование считается сложным и избыточным для большинства прикладных задач. Отсюда невысокий спрос на специалистов, но от этого же высокие зарплаты и действительно интересная работа.

Логическое программирование .

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

Динамическое программирование .

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

Графическое программирование , оно же визуальное.

Оно предлагает разработчику работать с графическими изображениями, а не текстом. Выражаться это может по-разному - есть специальные языки, вроде Scratch или BluePrint, есть языки схем или диаграмм (LD или FBD), есть просто разделы программирования, связанные со взаимодействием с формами и графикой. В последнем случае это может быть любой язык, визуализация осуществляется средствами разработки (Borland Delphi/C++, Visual Studio, Adobe Dreamweaver и пр.). Такое графическое программирование в чистом виде встречается крайне редко, без понимания языка и структуры кода создать что-то серьезное невозможно.

Остальное

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

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

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

Сфера информационных технологий для непосвященного кажется загадочной и непостижимой. Любая тайна рано или поздно начинает обрастать стереотипами и мифическими образами, не избежало этой участи и программирование. В Волшебной Стране 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. Навыки программирования нужны только программистам

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

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

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

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

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

Профессия программиста довольно многогранна. Названия специалистов часто зависят от того, на каком языке или на каких технологиях они разрабатывают программы. Например, существуют программисты Java, Delphi, Python, 1С , Android, JavaScript и т.д.

Места работы

В настоящее время программисты востребованы практически везде. Должность инженера-программиста может существовать:

  • На «обычном» предприятии.
  • В IT-компании, занимающейся программированием профессионально.

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

История профессии

Первая программа для аналитической машины написана еще в 1843 году дочкой Джорджа Байрона графиней Адой Августой Лавлейс, а первый программируемый компьютер заработал в 1941 году. Его запустил (а заодно придумал первый язык программирования) немецкий инженер Конрад Цузе.

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

Обязанности программиста

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

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

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

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

Предъявляемые работодателями требования к программисту, также могут варьироваться, но основные примерно таковы:

  • Знание необходимых в работе технологий и языков программирования (например, SQL, PHP, HTML и т.д.).
  • Опыт создания программ.
  • Умение составлять и читать ТЗ.
  • Умение разбираться в чужом коде.
  • Знание вспомогательных программ (например, системы контроля версий).

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

Образец резюме программиста

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

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

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

Зарплата программиста

Доходы программистов, как правило, достаточно высоки. На текущий момент средняя зарплата программиста находится в районе 47 000 рублей в месяц. Хотя в Москве ставки могут достигать 150 000 рублей в месяц и выше.

Заработная плата программиста сильно зависит от опыта специалиста и умения решать сложные задачи. Сильные специалисты зарабатывают в разы больше новичков.