О времена, о нравы. Сегодня в Тостере увидел тему, в которой человек признавался, что работая java-разработчиком он знает алгебру и геометрию на уровне 6 класса и просил посоветовать учебники. Этот запрос несомненно вызывает уважение - человек хочет учиться.

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

Да, кодить мы начали в третьем классе, и это был не Хогвартс , не лаборатория по прокачке яйцеголовых - все были обычные парни и девчонки с района. Совсем немногие с инженерными и научными кровями. У нас была крутая математика. А ещё крутой труд, физкультура и история. Всё было пропитано системностью. Вы знали в школе, что история это наука, систематизированная, наполненная внутренней логикой, укладываемая в таблицы и выводы? Знайте, это так. Вы знали, что русский язык описан настолько строго, что почти любую ситуацию в нём можно решить алгоритмически?

В старших классах мы форсировали матан да так, что потом пару курсов в ВУЗе можно было отдыхать. На чём многие, кстати, и погорели. И нет, не были гениями, мозг кипел, распределение оценок было такое же как и везде - двоечники, троечники, хорошисты, ботаны. Ботаны были гениями, это да. Ученики физмат школы не любили ботанов так же, как их не любят везде. Что ещё раз доказывает, что мы не были особенными. Это важно для последующего рассуждения.

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

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

И мы всегда знали, что мы не программисты, мы так, школота. Программисты это те, которые пишут книги. Это те, кто создаёт ОС и реальный софт. Мы верили, что чтобы стать Программистом, надо телепортироваться куда-то в IBM или Microsoft. А ты даже функцию на непрерывность как следует исследовать не можешь - куда тебе.

У меня так сложилось, что я стал соприкасаться с программированием спустя более 10 лет после выпуска из школы. Всё поменялось - появился веб, куча каких-то странных слов и названий. Я точно, знал, что эти гении - Программисты, которые создают коммерческий продукт, ушли уже очень далеко, в какие-то параллельные космические миры, где мне их никогда не достать. Что я приду к ним, а они мне скажут: «Брат, какой тебе блог на PHP? Давай ка динамический массив мне через рекурсию организуй, тогда и поговорим.»

И ведь справедливо. Ведь я точно знаю, что программист это даже не профессия. Это специализация инженера.

Подозрения начали закрадываться, когда на Тостере я начал читать вопросы в духе «Нужна ли математика программисту?». И ответы в духе «решение рутинных задач для лендосов математики не требует».

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

У меня вертится в голове старпёрский риторический вопрос: «А как же культура?». Я считаю, что этот вопрос вообще главный для вменяемого инженера, но это отдельная статья. Неужели творческое начало в программировании настолько уступило ремесленному, что важны только плоды и никто даже не заикается о корнях их питающих? Как вообще может приходить человеку в голову вопрос «нужна ли математика программисту»? И насколько вообще опошлено и девальвировано гордое звание Программиста? Неужели никто не говорит о культуре разработчика? Или мы дошли до того, что никто уже этого не понимает? Тогда откуда вы возьмёте этот ваш желанный идеальный код, если не из культуры мысли?

Друзья, скажите мне, что я старый (тридцати трёх летний) маразматик. Или подтвердите, что мир катится в какой-то ад. Предлагаю развернуть жаркую дискуссию в комментах. А то ведь, ничего не понятно…

UPD
Итак, после менее чем суток отчаянных ломаний копьев вырисовалась некоторая картина.
Это чисто мои выводы.
Пройдёмся по порядку.
Посвящается тем, кто прочитал пост и жаждет ринуться в бой, а читать 100+ комментов, конечно же, не досуг. Нижеследующий текст кое-что прояснит.

Цель первого поста
Почти все неверно поняли цель поста. Я нигде не утверждал, что программист без математики профнепригоден и не сможет работать. Я никого не обвинял, не принижал и не поливал грязью за их незнание маематики в каком-либо объёме. Моей задачей было выяснить, что думает сообщество на счёт профессиональной культуры программиста в том виде, в котором сформулировал её я. На этот факт обратили внимание минимум комментаторов.
Из чего я делаю следующий вывод.

Культура
По моим наблюдениям очень малая часть читателей готова воспринимать слово «культура», как содержательное понятие, имеющие для них смысл больший, чем сходить в театр или не плюнуть на соседа. Это не говорит ничего плохого о людях, это просто констатация некоторых фильтров восприятия. В случае, если понятие «культура» (как и любое другое понятие) имеет в сознании человека развитое содержание, он анализирует текст в связи со всем тем объёмом смыслов, которое это понятие несёт и дискутирует так же и на уровне этих смыслов. Абсолютное большинство комментаторов дискутировали со мной на уровне профпригодности и и решения производственных задач, вопрос о которых в исходном тексте ВООБЩЕ не поднимался. Если вы ещё раз перечитаете текст, то он весь подводит к последнему абзацу с вопросом «А как же культура?» Дальше по абзацу задаются вопросы, являющиеся смыслом и содержанием топика. Целый абзац вопросов исключительно по культуре, и никто не отвечает о культуре.
Я делаю вывод - в массе своей комментаторы вообще не понимают, о чём идёт речь, когда поднимается вопрос о культуре профессиональной деятельности.
Почему?
У меня есть своя версия, накину для разнообразия. Почти век у нас человека учили, что он - производственный кадр. Что частное ничтожно перед общественным. Что его общественная роль и есть его содержание. Что культура это лубок и правила поведения. Что если о состоялся, как работник, значит он достиг вершин человеческой эволюции. Эта матрица живёт своей жизнью в обществе, и пока никуда не собирается уходить. Сейчас в совокупности с рыночным целеполаганием в образовании (учу не во имя науки, а во имя трудоустройства), подогреваемым идеями индивидуального успеха и эффективности, любой сознательный гражданин понимает, что главное - заморочиться в своей узкой теме и ничего больше не видеть. Лучше всего начинать кодить раньше, чем ходить, а биологию с географией вообще выкинуть нафиг, потому что высокоуровневые решения типа гугла решат все проблемы.
И тут мы переходим к другой проблеме.

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

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

Вторая проблема образования, и она более очевидна, состоит в том, что комментаторы в массе своей воспринимают математику как ещё одну область деятельности. Это как минимум значит, что математика преподавалась им в основном как алгебраический счёт и формулы, которые надо зубрить. Не как наука. Преподавать математику, как науку можно и в первом классе. Это всего лишь значит сделать упор на последовательные рассуждения, а не на зубрёжку. Хочу обратить внимание, что ВСЁ точное знание, в том числе и прикладное, основано на строгих формулировках определений и соотношений. Любое рассуждение строится на дереве если-то-иначе. Без этого аппарата даже html написать невозможно. Он встроен во всех нас по причине принадлежности к обществу, которое таким аппаратом оперирует. Математика - тренажёр по овладению этим аппаратом и ключ к эффективной работе с абстракциями любого уровня. Учитывая, что все инженерные профессии, в том числе и программирование, построены на математическом аппарате, странно называть её отдельным видом деятельности. Это показывает простое непонимание того, куда ты попал. Это может быть неважно с точки зрения решения рабочей задачи, но очень важно с точки зрения культуры.

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

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

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

Исторические факты, о которых необходимо знать

Естественно, мало кому нравится слушать истории возникновения чего-либо. Факты и нравоучения способны усыпить любого человека. Однако не стоит откладывать в сторону некоторые интересные заметки. Что дало толчок возникновению такой профессии, как программист? Это первое программирующее устройство. Жаккардовый был спроектирован еще в 1804 году. В качестве разработчика выступил И это изобретение стало революционным в промышленной сфере, ведь в те времена царствовали простые ткачи. За счет подобной хитрой аппаратуры появилась возможность изменять узоры на материале.

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

Кто еще внес существенный вклад в возникновении такой профессии, как программист? Это был Байрон. Но он повлиял не совсем в том направлении, о котором можно было бы подумать, читая данный обзор. Поэт просто вырастил талантливую дочку. А вот именно она, графиня Ада Август Лавлейс, стала первым человеком, написавшим программу. Произошло это в 1843 году. Первое программное обеспечение позволяло решать уравнение Бернулли. Именно эта женщина стала Ее именем был назван язык программирования для

Программист - что это за профессия? Отвечая на этот вопрос, следует отметить, что первый компьютер был разработан в 1941 году. В качестве его создателя выступил немец Конрад Цузе.

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

Основные моменты, связанные с программированием

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

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

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

С чем потребуется столкнуться, чтобы поступить учиться, например, на специальность системный программист? Это в первую очередь сложные экзамены. Будущему студенту необходимо сдать физику или информатику, математику и русский язык. В высшие учебные заведения могут принимать не только по одним результатам ЕГЭ. Желающего обучаться по данной специальности могут ждать и внутренние экзамены. Ко всему прочему, надо хорошо знать английский язык.

Обучаться можно по-разному

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

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

В чем заключается смысл профессии?

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

Какими качествами должен обладать человек?

Чтобы постичь основы такой специальности, как программист, необходимо обладать некоторыми личными качествами. Они следующие:

  1. Любовь к информатике.
  2. Наличие технического склада ума.
  3. Внимательность и собранность.
  4. Умение решать сложные задачи технического характера.

Ко всему прочему человек должен быть:

  1. Терпеливым и настойчивым.
  2. Целеустремленным и ответственным.
  3. Он должен уметь принимать решения и отстаивать свое собственное мнение.

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

Чем занимаются техники и инженеры?

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

О каких направлениях в программировании необходимо знать?

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

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

Программист-аналитик - это специалист, в деятельности которого сочетаются такие направления, как программирование и аналитика.

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

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

  1. Ведущего программиста. Это человек, который руководит написанием средств программного характера. Он также участвует в разработке отдельных модулей.
  2. Местный программист. Человек, который состоит в штате сотрудников, работающих в определенном вычислительном центре.
  3. РНР-программист. Это человек, который занимается разработкой сайтов. С помощью такого языка, как PHP, можно проектировать только сетевые ресурсы. Программу для семейства Windows написать очень сложно, практически невозможно.

Куда устроиться и о чем надо помнить?

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

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

Спад популярности и востребованности не намечается в обозримом будущем

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

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

От чего будет зависеть оплата труда?

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

  1. Можно ли назвать программирование одним из основных источников дохода компании?
  2. Деятельность компании развернута только на территории одной страны? Может предприятие связано с иностранными партнерами?
  3. Отечественная компания или ее руководство приехало из какой-либо другой страны?

Заключение

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

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

Что делает программист

Если прикладные программисты занимаются созданием общей модели, то системные — непосредственной разработкой ядра проекта, графического движка, драйверов.

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

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

Не лишним станет глубокое изучение английского языка в области IT-технологий для чтения технической документации.

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

Общение – неотъемлемая часть работы программиста. Большинство проектов разрабатывается в команде, где людям необходимо не только дискутировать, но и соглашаться друг с другом. Существует стереотип образа человека, занятого в сфере IT: замкнуты, одинокий очкарик, находящейся на своей волне. В большинстве случаев, это открытые коммуникабельные люди, а отшельничество присуще любому гению, вне зависимости от профессии.

Программист – это востребованная и высокооплачиваемая профессия. Специалист начального уровня может смело претендовать на заработную плату около 1 000 долларов. По мере приобретения опыта и практических знаний, можно выйти на доход 1500-1800 долларов. В крупной организации по разработке программного обеспечения специалисты зарабатывают до 3 000 долларов, на руководящих должностях – 5 000 долларов.

Не пропустите:

Плюсы и минусы работы программистом

Преимущества:

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

Недостатки:

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

Существует несколько вариантов построения карьерной лестницы для специалистов, которые хотят добиться успеха в программировании. Один из самых популярных – объединиться с единомышленниками вокруг креативной идеи, получить внешние инвестиции, и таким образом заявить о себе. Нередко зарубежные компании ищут «светлые умы» среди специалистов в странах пост советского пространства. Талантливые программисты никогда не останутся без работы.

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

Почему это так называется?

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

Сегодня программист создает компьютерные программы — перечень команд для компьютера — программный код, и как они сами в шутку говорят: «программист кодит».

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

Какими они бывают?

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

Программисты находят работу в интернет-компаниях (Яндекс, Гугл и пр.), трудятся над бухгалтерскими и кадровыми программами (1С, Контур, Босс, Парус, АйТи, Галактика и пр.), поддерживают работу систем управления предприятиями (ERP) SAP R3, ORACLE, Axapta, Navision и пр. или их модулей (отдельных больших программ).

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

Что делают современные программисты?

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

Сегодня создаются продукты, анализирующие Big Date — огромные массивы данных, полученных из разных источников, например, перекрестная обработка данных из социальных сетей позволяет увидеть моральные ценности и политические взгляды разных категорий людей, их товарные предпочтения и пр. Этим пользуются политические партии, правительственные органы для управления мнениями и поведением людей. Скандал, поднятый в США по поводу вмешательства российских программистов в выборы президента, связан с эффектами именно таких технологий.

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

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

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

Какими качествами надо обладать?

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

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

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

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

Сегодня специалистов готовят по широкому спектру программистских специальностей:

«Прикладная математика и информатика», «Фундаментальная информатика и информационные технологии», «Математическое обеспечение и администрирование информационных систем», «Программирование в компьютерных системах», «Информатика и вычислительная техника», «Прикладная информатика», «Информационная безопасность» и другие.

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

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

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

Мой отец говорил мне в семидесятых годах, возможно, повторяя слова кого-то из основоположников кибернетики: «Образованный человек должен знать хотя бы один язык программирования». Слова пророческие, они означают, что программирование должен знать и неспециалист. Хотя бы для того, чтобы общаться с программистами, которые порой представляются нам «инопланетянами», которые на понимают нас, но и мы не постигаем их языка.

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

Как строится карьера в этой профессии?

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

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

Лет тридцать назад основатель компании Microsoft Билл Гейтс предложил миру идею и даже чертеж карманного устройства, который заменит телефон, паспорт, кошелек и прочее. Тогда мир еще не был готов ее реализовать. Сегодня мы видим ее воплощение. Но что важнее: устройство или программа, управляющая им? Он же как-то сказал про конкурента, сделавшего очередной компьютер, примерно следующее: «Ну сделал он очередную коробочку. А кто напишет для нее программу, чтобы она заработала?».

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

История

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

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

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

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

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

А самым первым был «Планкалкюль», созданный немецким инженером Конрадом Цузе в 1941 году. К сожалению, история не сохранила имен первых профессиональных программистов (в отрыве от настройки аппаратуры компьютера). Это произошло потому, что в то время данная деятельность рассматривалась всего лишь как второстепенная наладочная операция.

Определение

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

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

Образование

Профессия «программист» есть в списке специальностей множества вузов. Если рассматривать столицу нашей страны, то самыми авторитетными являются: МГУ, МАИ, МЭСИ, МИЭМ, МИРЭА, МГТУ, МИФИ и МФТИ. Получить профессию программиста можно и в других мегаполисах. Дефицита с институтами (или филиалами), обучающими этой специальности, нет даже в маленьких городах. Согласно статистике, российские вузы ежегодно выпускают около 100 тыс. программистов.

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

Смежные карьеры

Для российских программистов (в отличие от зарубежных) допустимо наличие смежного образования. Они могут быть математиками, физиками, химиками и др. Кстати, очень популярной в последнее время стала профессия «инженер-программист».

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

На факультете кибернетики и высшей математики МГУ существует специальная программа двухлетнего обучения в вечернее время, позволяющая подготовить программистов с дипломом по смежным направлениям и специальностям. Помимо государственного диплома о дополнительной квалификации выпускники этой программы получают международные сертификаты. Также есть возможность дистанционного обучения через Интернет. Например, находясь в какой-нибудь провинции, можно получить престижную специальность «техник-программист» (профессия не очень популярная, но перспективная). Идём далее.

Функциональные обязанности

В России профессия «программист» (описание есть в разделе «Определение») не связана с разработкой новых приложений, операционных систем и программ по типу Adobe Photoshop или MS Office. Этим занимаются специалисты высокой квалификации из таких фирм как Oracle, Sun, Adobe, Microsoft и т. д. В отечественных компаниях подобные проекты большая редкость и почти все программы, которые ставят на свой ПК российские пользователи, созданы западными фирмами. Есть несколько отечественных фирм-разработчиков ПО, но их очень мало. Например, «Лаборатория Касперского», выпускающая антивирусные программы. Также созданием программного обеспечения занимается и ряд государственных структур: НИИ, конструкторские бюро космонавтики и военно-промышленного комплекса. Но опять же, их можно пересчитать по пальцам.

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

Великие и знаменитые программисты

Список их весьма обширен, поэтому мы назовем лишь наиболее известных:

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

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

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