Трудно представить жизнь без компьютера. С его помощью можно составлять расписание движения поездов и управлять процессами на заводе, делать хирургические операции и руководить полётом космической станции.
А как здорово общаться с людьми, которые находятся в разных точках земного шара. Чтобы было проще управлять компьютером и решать сложные задачи, программисты создают специальные программы.
Компьютеры могут сделать одновременно сотни вычислений. Умная машина решает задачи, которые включают в себя огромное количество информации. Она состоит из чисел, выраженных цифрами, слов, составленных из букв, а также сочетания цифр, букв или других знаков. Такая информация называется «машинным словом» или «языком программирования».
Сердце компьютера – особая электронная схема – процессор. Именно она производит обработку всей информации, которая поступает в компьютер. Руководит работой процессора программа. Она написана на специальном языке, который понимает машина. Если бы не было программ, то даже самый совершенный компьютер не смог бы решить простейшую арифметическую задачу. Вот здесь на помощь и приходит программист, который задания для компьютера переводит в понятную для него программу.
Для того чтобы стать программистом, требуется не только огромное терпение, но и особый склад ума, позволяющий разговаривать на одном языке с компьютером. А ещё ты должен быть усидчивым и уметь доводить начатое дело до конца. Редко, когда программисту удаётся сделать всё с первого раза. Обычно приходится долго искать ошибки, тестировать различные методы выполнения задачи. Одна неправильная запятая может привести к тому, что вся программа перестанет работать как надо!
Ппрограммисты разработали огромное количество разных программ, благодаря которым компьютеры умеют переводить тексты с одного языка на другой, играть в шахматы и даже рисовать мультфильмы. Кроме того, программисты работают над задачами, которые нужны определённым организациям. Вот почему ты можешь увидеть компьютеры повсюду: и в офисе бизнесмена, и в магазине, и в билетной кассе, и в поликлинике!
Большинство программистов – мужчины. Хотя первым программистом в истории принято считать женщину – Аду Лавлейс. Именно она в далёком 1833 году написала несколько программ для первой модели тогда ещё механической «аналитической» машины, которая выполняла простейшие действия. А в 1941 году немецкий инженер Цузе создал первый работающий программируемый компьютер, а также первые программы для него и первый язык программирования. И только в середине ХХ века программирование стало профессией.
Если ты решил стать программистом, то особое внимание стоит уделить не только математике и информатике. Очень пригодится английский язык. Ведь работа программиста напоминает работу переводчика. Только переводчик переводит слова с родного языка на иностранный, а программист – с родного на «машинный». Огромное количество документации, научной и технической литературы публикуются на иностранных языках. Изучение предметов, таких как литература, история, география, развивают память и повышают скорость чтения. Эти навыки необходимы при изучении новых языков программирования или алгоритмов.
Если ты решил стать программистом, то выучиться на него ты сможешь как в колледже, так и в вузе по профилирующей специальности. Российское образование программистов считается одним из самых лучших! Наши специалисты ценятся во всём мире.
О времена, о нравы. Сегодня в Тостере увидел тему, в которой человек признавался, что работая java-разработчиком он знает алгебру и геометрию на уровне 6 класса и просил посоветовать учебники. Этот запрос несомненно вызывает уважение - человек хочет учиться.
Начнём сначала. Я учился в хорошей физмат школе в 90-е годы. Читай между строк - по советской программе. На этом можно было бы и закончить, потому что далеко не все учились в хорошей физмат школе по советской программе, а значит я по определению страшно оторван от народа. И точно ничего не понимаю в жизни.
Да, кодить мы начали в третьем классе, и это был не Хогвартс , не лаборатория по прокачке яйцеголовых - все были обычные парни и девчонки с района. Совсем немногие с инженерными и научными кровями. У нас была крутая математика. А ещё крутой труд, физкультура и история. Всё было пропитано системностью. Вы знали в школе, что история это наука, систематизированная, наполненная внутренней логикой, укладываемая в таблицы и выводы? Знайте, это так. Вы знали, что русский язык описан настолько строго, что почти любую ситуацию в нём можно решить алгоритмически?
В старших классах мы форсировали матан да так, что потом пару курсов в ВУЗе можно было отдыхать. На чём многие, кстати, и погорели. И нет, не были гениями, мозг кипел, распределение оценок было такое же как и везде - двоечники, троечники, хорошисты, ботаны. Ботаны были гениями, это да. Ученики физмат школы не любили ботанов так же, как их не любят везде. Что ещё раз доказывает, что мы не были особенными. Это важно для последующего рассуждения.
На уроках информатики мы решали те же задачи из матана - находили корни уравнений, строили графики. Изучали принципиальное построение языков - типы, структуры данных, алгоритмы, работа с памятью, было немного Delphi и ООП. В основном, конечно же, Pascal. Для общего развития были C и Assembler. Немножко захлестнули БД под конец, конечно же с нормализациями. Изучали двоичную алгебру и делали по фану игры.
И даже не все это проходили, класс был поделён на Программистов и Пользователей. Пользователи учили HTML и фотошоп, сдавали сайт.
И мы всегда знали, что мы не программисты, мы так, школота. Программисты это те, которые пишут книги. Это те, кто создаёт ОС и реальный софт. Мы верили, что чтобы стать Программистом, надо телепортироваться куда-то в IBM или Microsoft. А ты даже функцию на непрерывность как следует исследовать не можешь - куда тебе.
У меня так сложилось, что я стал соприкасаться с программированием спустя более 10 лет после выпуска из школы. Всё поменялось - появился веб, куча каких-то странных слов и названий. Я точно, знал, что эти гении - Программисты, которые создают коммерческий продукт, ушли уже очень далеко, в какие-то параллельные космические миры, где мне их никогда не достать. Что я приду к ним, а они мне скажут: «Брат, какой тебе блог на PHP? Давай ка динамический массив мне через рекурсию организуй, тогда и поговорим.»
И ведь справедливо. Ведь я точно знаю, что программист это даже не профессия. Это специализация инженера.
Подозрения начали закрадываться, когда на Тостере я начал читать вопросы в духе «Нужна ли математика программисту?». И ответы в духе «решение рутинных задач для лендосов математики не требует».
И вот я вижу, что разработчик Java просит посоветовать школьный учебник по математике.
Я понимаю, что эта область испытывает голод по кадрам, что круг задач упростился, что порог входа низкий и т.д. Я согласен, что если человек выполняет работу, то он молодец, и пусть на здоровье это делает. Приносит пользу обществу, кормит семью и так далее. У меня вообще нет никакого высокомерия по отношению к разработчикам, матана не ведающим.
У меня вертится в голове старпёрский риторический вопрос: «А как же культура?». Я считаю, что этот вопрос вообще главный для вменяемого инженера, но это отдельная статья. Неужели творческое начало в программировании настолько уступило ремесленному, что важны только плоды и никто даже не заикается о корнях их питающих? Как вообще может приходить человеку в голову вопрос «нужна ли математика программисту»? И насколько вообще опошлено и девальвировано гордое звание Программиста? Неужели никто не говорит о культуре разработчика? Или мы дошли до того, что никто уже этого не понимает? Тогда откуда вы возьмёте этот ваш желанный идеальный код, если не из культуры мысли?
Друзья, скажите мне, что я старый (тридцати трёх летний) маразматик. Или подтвердите, что мир катится в какой-то ад. Предлагаю развернуть жаркую дискуссию в комментах. А то ведь, ничего не понятно…
UPD
Итак, после менее чем суток отчаянных ломаний копьев вырисовалась некоторая картина.
Это чисто мои выводы.
Пройдёмся по порядку.
Посвящается тем, кто прочитал пост и жаждет ринуться в бой, а читать 100+ комментов, конечно же, не досуг. Нижеследующий текст кое-что прояснит.
Цель первого поста
Почти все неверно поняли цель поста. Я нигде не утверждал, что программист без математики профнепригоден и не сможет работать. Я никого не обвинял, не принижал и не поливал грязью за их незнание маематики в каком-либо объёме. Моей задачей было выяснить, что думает сообщество на счёт профессиональной культуры программиста в том виде, в котором сформулировал её я. На этот факт обратили внимание минимум комментаторов.
Из чего я делаю следующий вывод.
Культура
По моим наблюдениям очень малая часть читателей готова воспринимать слово «культура», как содержательное понятие, имеющие для них смысл больший, чем сходить в театр или не плюнуть на соседа. Это не говорит ничего плохого о людях, это просто констатация некоторых фильтров восприятия. В случае, если понятие «культура» (как и любое другое понятие) имеет в сознании человека развитое содержание, он анализирует текст в связи со всем тем объёмом смыслов, которое это понятие несёт и дискутирует так же и на уровне этих смыслов. Абсолютное большинство комментаторов дискутировали со мной на уровне профпригодности и и решения производственных задач, вопрос о которых в исходном тексте ВООБЩЕ
не поднимался. Если вы ещё раз перечитаете текст, то он весь подводит к последнему абзацу с вопросом «А как же культура?» Дальше по абзацу задаются вопросы, являющиеся смыслом и содержанием топика. Целый абзац вопросов исключительно по культуре, и никто не отвечает о культуре.
Я делаю вывод - в массе своей комментаторы вообще не понимают, о чём идёт речь, когда поднимается вопрос о культуре профессиональной деятельности.
Почему?
У меня есть своя версия, накину для разнообразия. Почти век у нас человека учили, что он - производственный кадр. Что частное ничтожно перед общественным. Что его общественная роль и есть его содержание. Что культура это лубок и правила поведения. Что если о состоялся, как работник, значит он достиг вершин человеческой эволюции. Эта матрица живёт своей жизнью в обществе, и пока никуда не собирается уходить. Сейчас в совокупности с рыночным целеполаганием в образовании (учу не во имя науки, а во имя трудоустройства), подогреваемым идеями индивидуального успеха и эффективности, любой сознательный гражданин понимает, что главное - заморочиться в своей узкой теме и ничего больше не видеть. Лучше всего начинать кодить раньше, чем ходить, а биологию с географией вообще выкинуть нафиг, потому что высокоуровневые решения типа гугла решат все проблемы.
И тут мы переходим к другой проблеме.
Образование
Образование массово воспринимается комментаторами, как курсы повышения квалификации. Если развить идею до предела, то получим, что школьное образование вообще не нужно. Читать и писать можно научится и так. А дальше сиди и пиши код, ведь даже HL++ проекты, как показывает жизнь, можно делать, не будучи профессором. Остальное гугли.
Скрестим полученные выводы для развития нашей мысли.
Такое отношение к образованию есть бескультурное отношение, что подтвердит любой специалист в образовании. Но поскольку слово культура для большинства комментаторов не имеет значения иного, как комплимент, а бескультурие иного, как оскорбление, то вряд ли этот тезис может быть понят верно.
Вторая проблема образования, и она более очевидна, состоит в том, что комментаторы в массе своей воспринимают математику как ещё одну область деятельности. Это как минимум значит, что математика преподавалась им в основном как алгебраический счёт и формулы, которые надо зубрить. Не как наука. Преподавать математику, как науку можно и в первом классе. Это всего лишь значит сделать упор на последовательные рассуждения, а не на зубрёжку. Хочу обратить внимание, что ВСЁ точное знание, в том числе и прикладное, основано на строгих формулировках определений и соотношений. Любое рассуждение строится на дереве если-то-иначе. Без этого аппарата даже html написать невозможно. Он встроен во всех нас по причине принадлежности к обществу, которое таким аппаратом оперирует. Математика - тренажёр по овладению этим аппаратом и ключ к эффективной работе с абстракциями любого уровня. Учитывая, что все инженерные профессии, в том числе и программирование, построены на математическом аппарате, странно называть её отдельным видом деятельности. Это показывает простое непонимание того, куда ты попал. Это может быть неважно с точки зрения решения рабочей задачи, но очень важно с точки зрения культуры.
Заключение
Каждый сам для себя определяет, что ему учить или не учить. Я лишь настаиваю на том, что есть понятие культуры, и оно распространяется и на программирование в том числе. Оно очень нерационально, потому что предполагает, что человек не может себе позволить не делать того, что можно не делать
. Да, всего не сделаешь, но в этой ситуации в голове хотя бы существует идея, что надо к этому стремиться. С точки зрения экономики предприятия это абсурд, с точки зрения своего развития, как личности - необходимость.
Только зарегистрированные пользователи могут участвовать в опросе.
Добро пожаловать в XXI век, в котором информация выходит на первый план, где автоматизация достигает невиданных высот, где слово "программист" звучит... странно.
Кто же такие программисты, чем они занимаются, почему у программистов такие высокие ЗП?
На самом деле нет простого ответа на это.
Программист сидит за компьютером
Когда я учился в школе, я думал, что это люди, которые сидят за компьютерами. Пожалуй, с этим и связано название профессии в советском исполнении: "Оператор ЭВМ".
В принципе, не плохо - водитель управляет машиной, а "оператор ЭВМ" управляет компьютером. Но здесь есть всё же неувязочка: водитель всё же про "отвезти кого-то/что-то", его же не называют "оператор автотранспортного средства".
Так может и "оператор ЭВМ" - не лучшее название для этой профессии... если, конечно, он не просто сидит за этим самым компьютером.
Программист пишет программы
Следующая ступень понимания этой профессии: "программист пишет программы". Уже лучше. Если вы хоть раз ставили программу / приложение на компьютер или, например, телефон, вы, возможно, имели в виду, что эту программу кто-то сделал...
Опять же в школе на уроках информатики и компьютерной грамотности пришлось писать примитивные программы. Они умели рисовать странные линии, считать уравнения. Даже арканоид довелось написать. Однако, это было всё с подсказок учителя. Было простенько, примитивно и скучно.
В университете на первом курсе также началось программирование. Программирование всяких алгоритмов. Это такие заготовленные рецепты: как и что делать, чтобы компьютер решал задачи эффективнее, быстрее работал. Всё это базируется на математике и требует логического мышления, знаний математики... По алгоритмам пишутся научные статьи, получаются научные степени.
Это скучно. По сути результат твоей программы тебе ничего особого не говорит, маме показать нельзя (не поймёт), перед друзьями не понтануться. Да и внутреннего отклика эти программы не вызывают больше, чем какой-нибудь график функции из школьной математики.
Программист автоматизирует
Автоматизирует решение проблем, а заодно и проблемы.
После первого семестра началось более прикладное программирование. Мы начали не просто "считать графики функций", а писать программы, которые решают какие-то проблемы. И это уже в разы интереснее! Не для всех - на этом этапе как раз и можно сказать: станет человек хорошим программистом или нет - есть кайф от решения проблем средствами программ или нет?
Так вот со второго семестра до первой постоянной работы я думал, что задача программиста - автоматизировать какой-то процесс. Так я и начал работать: нужно автоматизировать продажи - пишем сайт-магазин, нужно автоматически уведомлять людей - пишем систему рассылки смс/почты.
Всё это уменьшает нагрузку на людей, увеличивает эффективность бизнеса.
Вы главное скажите - а что надо автоматизировать?
Программист решает проблемы
Громкое заявление, но если грубо (а честно - это почти всегда грубо) - то так и есть. Часто в работе не было чёткого описания процесса, который надо автоматизировать. Часто это был просто список хотелок, которые надо сделать, и головной боли, от которой надо избавить заказчика.
И тут, чтобы хорошо сделать свою работу, надо сначала понять проблему, придумать решение и таки решить проблему.
Например, клиент жалуется на то, что письма из его рассылки клиентам не доходят. Он не говорит, что нужно делать, а просто заявляет о проблеме. Здесь как и у врачей - есть симптомы, надо искать причину. Решать проблему.
Так кто же такие программисты?
Хотел продолжить "Программист договаривается с людьми" и описать различные ситуации, когда надо искать компромиссные решения, но это уже несколько выходит за рамки обычного программиста. Поэтому остановимся на "решает проблемы".
Однако, чтобы придти к выводу "программист решает проблемы" от "сидит за компьютером" мне потребовалось 8 лет. Не думаю, что многие в наше время тратят столько на повышение своей квалификации в области компьютерных технологий. Пожалуй, именно поэтому и нет понимания: что за зверь такой "программист".
Почему они получают много? Ответ очевиден - рынок: покупателей много, а программистов мало. Почему их мало? Потому что надо не просто сидеть за компьютером, а решать проблемы. При чём автоматизировать эти решения. Те, кто просто сидят за компьютером, получают мало. Те, кто пишут программы - больше. Но ценны именно те люди, что решают проблемы. Ценны они в любой отрасли и получают хорошую ЗП.
Читать: 8 мин.Правда ли, что программирование - ну самая востребованная специальность в мире? Кто такие системные и прикладные программисты? Сколько лет нужно учиться на программиста? В какой вуз и колледж поступить, чтобы стать программистом?
Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает
.
Юмор программистов
Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2017 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн - в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.
Описание профессии
Где работать
Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)
Карьерные возможности
Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.
Сами программисты оценивают длительность каждой ступени следующим образом:
Первые полгода-полтора года реального опыта вы junior
При активном обучении следующие 1-3 года работы вы middle
А программист с опытом работы 4-6 лет – это senior
Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.
Кроме глубокой специализации в программировании, программисту доступно движение в смежные области внутри IT-компании – дизайн, маркетинг, аналитику, менеджмент. Программист может стать архитектором программного обеспечения, девопс-инженером, менеджером IT-проектов, если ему это интересно и у него есть нужные компетенции. Например, чтобы работать менеджером, ему потребуется коммуникабельность, инициативность, умение формировать команду и контролировать бизнес-процессы.
Оплата труда (диапазон зарплат)
Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:
- ✔
30 000 – 260 000 рублей
Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых
, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки - это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в "джентльменский набор" при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых
, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может "насытиться" профессиональными программистами, и их зарплаты упадут.
В-третьих
, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.
Если вы хотите получать свежие статьи о профессиях , подпишитесь на нашу рассылку .
Программист – специалист, который пишет программы для компьютеров.
Такое короткое описание всем понятно, но не отражает всей полноты картины, т.к. программисты могут писать программное обеспечение (ПО) для огромного количества электронных устройств, а не только для компьютеров. Оглянитесь, во множестве окружающих Вас вещей есть результат работы специалистов по программированию, начиная от игрушек, бытовой техники и заканчивая автомобилями, самолётами и космическими ракетами. Таким образом, профессия программиста пользуется большим спросом и, что ещё более важно, востребованность программиста на рынке труда будет только расти вместе с неумолимым увеличением количества вещей и техники, для которых требуется писать программное обеспечение.
Огромная востребованность профессии и радужные перспективы её положения на рынке труда делают специальность программиста одним из наиболее удачных выборов профессии. Даже на начальных этапах заработная плата программиста является выше средней по рынку, а с приобретением опыта этот разрыв только увеличивается. Хороший специалист может получать более 100 000р. в месяц и больше.
Программист – это одна из уникальных профессий, которые предлагают бесконечный простор для творчества, самореализации и ведения личных проектов для души или зарабатывания средств.
Для успешной работы программисту не обязательно наличие высшего образования, это одна из профессий, которые, благодаря большому количеству книг, онлайн курсов и прочих источников информации, осваиваются самостоятельно при наличии такого желания. Самое главное в становлении и работе программиста это опыт, а он нарабатывается самостоятельно, работая над своими или чужими проектами, помогая людям на форумах, изучая программы с открытым исходным кодом и многими другими способами. Таким образом, на собеседовании наличие высшего образования при собеседовании будет несомненным плюсом, но основным решающим фактором о принятии на работу будет результат выполнения тестовых заданий.
Специализации программиста
Условно программистов можно разделить на 3 большие группы, которые могут делиться на более маленькие уже внутри себя: это системные, прикладные и веб-программисты. Рассмотрим каждую группу более подробно.
Системный программист – пишет ПО, которое предназначено для обеспечения работы устройства в целом или использования другими компьютерными специалистами. Это могут быть операционные системы, драйвера, интерфейсы к базам данных, работа с сетями и другое. Ещё одной задачей системных программистов является обеспечение правильной и бесперебойной работы созданных программ. Системные программисты, как правило, самые профессиональные, опытные и высокооплачиваемые специалисты.
Прикладной программист – разрабатывает и отлаживает ПО для решения определённых, конкретных задач, а также может заниматься адаптацией уже существующих программ под более узкие задачи, требования предприятия-работодателя или пользователя. К результату труда прикладных программистов можно отнести: игры, редакторы фото и видео, программы для обмена сообщениями, бухгалтерские программы, системы аудио и видеонаблюдения, офисные программы и прочее.
Веб-программист – по работе и задачам похож на прикладного программиста, но основной уклон деятельности идёт на работу с интернетом и пользователями сетей, как локальных, так и общемировых. Такие программисты пишут ПО для работы сайтов, их правильного отображения в браузерах, создают динамически изменяющиеся страницы и разрабатывают интерфейсы к базам данных. Внутри могут делиться на frontend, которые разрабатывают видимую пользователям часть, и backend разработчиков, разрабатывающих механизмы с которыми посетители сайта напрямую не сталкиваются – работа с базами данных, обработка, передача информации и т.д.
Возможные места работы
История профессии
Профессия программиста появилась довольно давно, в XIX веке. Конечно же, это не были те программисты, к которым мы привыкли: компьютеров как таковых ещё не существовало, соответственно и программы с алгоритмами писать было не для чего.
На протяжении многих веков человечество пыталось создать счётную машину: первые попытки известны ещё с древнего Вавилона за 3000 лет до нашей эры. Создавший в 1642 году вычислительную машину Блез Паскаль стал основоположником и первооткрывателем.
Интересно, что первым программистом была женщина, да не просто женщина, а дочь знаменитого поэта Байрона – Ада Лавлейс, написавшая несколько программ для сконструированной Чарльзом Бэббиджем в 1833 году механической машины, умевшей выполнять простейшие арифметические действия.
Первый же полноценный компьютер был создан немцем Конрадом Цузе в 1941 году. Никаких языков программирования тогда ещё существовало, они появились ближе к шестидесятым годам прошлого столетия, и ЭВМ (электронно-вычислительная машина) понимали только свой, машинный язык. Позже появились языки программирования, позволявшие вести процесс записи программы в более понятной человеку форме и затем преобразующие в понятный для компьютера вид.
Далее следовал всё более ускоряющийся процесс развития компьютеров и компьютерных наук, в результате которого вычислительные устройства проникли во все сферы и существование современного мира без них попросту невозможно. Именно поэтому профессия программиста является одной из самых востребованных и высокооплачиваемых.
Самостоятельно
Как уже было сказано ранее, профессии программиста прекрасно осваивается без получения высшего образования. В Вашем распоряжении огромное количество справочной информации, книг, онлайн и оффлайн курсов.
Образовательный IT-портал GeekBrains предлагает разнообразные курсы по программированию для любого уровня с участием известных преподавателей и бесплатными стажировками. Есть как платные, так и значительное количество бесплатных курсов.
Если же Вы затрудняетесь с первоначальным выбором, то Вам обязательно поможет бесплатный курс «Основы программирования ».
Спешите начать обучение. Скидка на обучение профессии «Программист» действует для Вас всего 3 дня!
Классическое высшее образование
Получить высшее образование в области информационных технологий можно во множестве ВУЗов. При поступлении лучше ориентироваться на крупные или федеральные университеты, хорошо зарекомендовавшие себя при подготовке IT-специалистов, имеющих хорошую образовательную базу с известными программистами в качестве преподавателей. Ещё одним фактором качества обучения является процент трудоустроенных по специальности выпускников, особенно работающих в самых известных компаниях: Microsoft, Google, Яндекс, СКБ-Контур и других.
В России обучение программистов ведётся на следующих специальностях:
02.03.02 – Фундаментальная информатика и информационные технологии (бакалавриат)
02.04.02 – Фундаментальная информатика и информационные технологии (магистратура)
09.03.03 – Прикладная информатика (бакалавриат)
09.04.03 – Прикладная информатика (магистратура)
02.03.01 – Математика и компьютерные науки (бакалавриат)
02.04.01 – Математика и компьютерные науки (магистратура)
09.01.02 – Компьютерная безопасность
Будущее профессии программиста
Можно смело утверждать, что потребность в программистах и смежных с ним профессиях будет только увеличиваться. Увеличение сложности и необходимости большего количества программ будут вести к увеличению заработной платы и социального пакета, а за настоящих профессионалов программирования будет вестись борьба.
Обязанности программиста
На основе научно-технических и производственных поставленных задач программист разрабатывает программное обеспечение для их успешного выполнения. Определяет вид, содержание и форму вводимой в компьютер информации, методов и способов её обработки, хранения и вывода готовых результат на экран или средства печати.
Занимается отладкой своих и чужих программ, устраняя допущенные ошибки и дорабатывая функциональность. Определяет необходимость и возможность использования стороннего программного обеспечения на предприятии.
Работает над унификацией и автоматизацией вычислительных процессов, участвует в разработке типовых форм документов предприятия для машинной обработки и хранения.
Плюсы и минусы профессии программиста
Плюсы
- Большая востребованность на рынке труда
- Заработная плата значительно выше среднего
- Отличный соц.пакет (питание, оплата тренажёрного зала, компенсация стажировок)
- Возможность работы фрилансером с зарубежными заказчиками
- Можно разрабатывать личные проекты для души или заработка денежных средств
- Престижная профессия
- Творческая профессия с возможность реализовать себя
- Возможность переквалифицироваться в смежные отрасли
Минусы
- Необходимость постоянно повышать квалификацию
- Длительная сидячая работа за компьютером
- Возможность авралов и необходимости срочно доделать проект сверхурочно
- Часто бывает большой объём работы
- Возможен недостаток межличностного общения
Требования к программисту
Программист должен обладать острым умом, развитой логикой и вниманием. Так как программирование всё время бурно развивается, то необходимо уметь быстро адаптироваться к новым условиям и быть готовым постоянно изучать новые технологии. Иначе его ценность как профессионала будет со временем снижаться.
Для части программистов, которые не занимаются фрилансом или собственными разработками, важно уметь работать в команде с использованием разнообразных современных методологий: SCRUM, KANBAN, AGILE и других. Для продвижения по карьерной лестнице и работы в управлении проектами или ведущим программистом, то крайне желательны навыки управления коллективом и задачами, способность нести личную ответственность за выполнение поставленных задач.
Такие качества как самостоятельность, ответственность и инициативность важны для любой профессии и программисты исключением не являются.
Ещё одним важным и необходимым требованием к программисту является владение английским языком на уровне чтения документации и справочной информации в оригинале. Все новинки и современные технологии разрабатываются за рубежом и лучше читать информацию в первоисточнике.
Зарплата программистов
Указан приблизительный уровень заработной платы. В зависимости от региона и работодателя он может существенно отличаться.
Забавные видео про программистов
День программиста – отмечается 12 сентября. День выбран не случайно и символично: это 256-й день года, а 256 это количество чисел, которые могут быть выражены через восьмиразрядный байт.
Профессия программиста входит в десятку самых востребованных профессий мира.
С четверть всего времени в программировании уходит на размышления о том, что пользователь может сделать не так и как это предотвратить.
Язык программирования Python назван совсем не в честь питонов, хотя иконки, логотипы и повсеместные фанатские изображения изображают именно их. Автор языка любил сериал «Летающий цирк Монти Пайтона» и назвал язык в честь него.
Самый дорогой дефис в истории стоил 135 000 000$, когда благодаря пропущенному дефису в одном из уравнений вскоре после старта потерпел крушение Маринер-1, первый космический аппарат для изучения Венеры.
Программист – не специалист по ремонту компьютеров. Хотя благодаря укоренившимся стереотипам их постоянно просят починить компьютеры и даже бытовую технику.
Женщины занимают всего несколько процентов от общего числа программистов в мире. Обидно, особенно учитывая тот факт, что первым в истории программистом была именно женщина.
Иногда для отладки программы программисты используют так называемый «Метод утёнка», когда перед монитором ставится фигурка утёнка (классический вариант – жёлтый утёнок для купания) и строчка за строчкой ей объясняется, что должна делать программа. Часто такой метод позволяет выявить ошибки, которые пропускаются просто просматривая написанный код.
Известные программисты
Ричард Столлман – основатель движения свободного ПО, Фонда свободных программ и Лиги за свободу программирования, проекта GNU.
Дональд Кнут – учёный, заслуженный профессор Стэнфордского университета, преподаватель и идеолог программирования. Автор множества монографий и всемирно известной серии книг «Искусство программирования». Создатель издательских систем METAFONT и TEX для набора и вёрстки научно-технических книг.
Билл Гейтс – предприниматель, общественный деятель, филантроп. Основатель компании Microsoft и самый богатый человек на планете. Один из рекордсменов по передаче средств на благотворительность.
Линус Торвальдс – создатель ядра Linux, самой распространённой из свободных операционных систем.
Алексей Пажитнов – советский программист, автор знаменитого Тетриса. После переезда в США продолжает заниматься разработкой компьютерных игр.
Стив Возняк – соучредитель компании Apple, в одиночку спроектировал компьютеры Apple I и Apple II, определивших развитие отрасли и начавшие микрокомпьютерную революцию.
Евгений Касперский – российский программист, один из ведущих мировых экспертов в области информационной безопасности. Сооснователь, владелец и руководитель международной компании АО «Лаборатория Касперского».
Марк Цукерберг – американский программист и предприниматель, один из основателей и разработчиков крупнейшей международной социальной сети Facebook.
Павел Дуров – российский программист и предприниматель, один из создателей ведущей отечественной социальной сети Вконтакте. Один из создателей защищённого мессенджера Telegram.
Деннис Ритчи – компьютерный специалист, участвовавший в создании языков программирования BCPL, B, C и разработке операционных систем Multics и Unix.
Цитаты про программистов
Когда кажется, что все уже работает, все объединено в систему — вам еще осталось работы на четыре месяца – Ч. Портман
Генерация случайных чисел — слишком важный вопрос, чтобы оставлять его на волю случая – Р. Ковзю
Ошибка? Это не ошибка, это системная функция – Д. Уэнделл
Пользователь не знает, чего он хочет, пока не увидит то, что он получил – Э. Йодан
Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения – Э. Дейкстра
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы – М. Мичем
В любой программе есть ошибки – аксиома.
Законы Мерфи для программистов
Сложность программы растет до тех пор, пока не превысит способности программиста.
Чем больше программист делает ошибок, тем быстрее он делается учёным.
Если Вам удалось написать с первого раза программу, в которой интерпретатор не обнаружил ни одной ошибки, то обязательно сообщите об этом системному программисту. Он исправит ошибки в интерпретаторе.
Программист видит ошибки только в чужих программах.
Если написанная программа сработала правильно, то, скорее всего, программист не понял задание.
Работающая над программой команда всегда питает отвращение к еженедельной отчетности о достигнутых результатах, поскольку она слишком явно свидетельствует об отсутствии таковых.
Абсолютно любая программа всегда обходится дороже и требует больших затрат времени, чем предполагалось.
Если программа уже полностью отлажена, то ее нужно будет переделать.
Любая программа стремится занять всю доступную память.
Самая серьёзная ошибка будет выявлена, только лишь когда программа пробудет в производстве как минимум полгода.
Увеличение числа программистов при разработке не укладывающейся в сроки программы только замедляет процесс.
Плохо спланированная программа требует в три раза больше времени, чем предполагалось; отлично спланированная — только в два.
Если программа полезна, то её обязательно придётся переделать.
В любой программе всегда есть ещё одна ошибка.
Решительно невозможно создать программу с абсолютной защитой от дураков, ибо дураки крайне изобретательны.
Если разработка идет хорошо — ждите серьёзных осложнений.
Если кажется, что хуже уже некуда, то вскоре выяснится, что это далеко не так.
Если вам непонятен термин в технической документации, то смело игнорируйте его, смысл от этого никак не пострадает.
Всегда оставляйте место для объяснения того, почему написанная Вами программа работает не так как ожидалось.
Если бы строители возводили здания так же, как и программисты пишут программы, первый же залетевший дятел разрушил бы человеческую цивилизацию до основания.