Сайт о телевидении

Сайт о телевидении

» » Какие есть программисты. Специалист по созданию и разработке компьютерных игр. Каким должен быть программист

Какие есть программисты. Специалист по созданию и разработке компьютерных игр. Каким должен быть программист

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Игорь Котов, директор по производству

Недавно прочитал на hh статью о том, что IT сфера является наиболее привлекательной на российском рынке. Из плюсов автор выделяет высокие зарплаты, возможности для роста, возможность удалённой работы и качество труда. Однако в этих пунктах кроются причины многих бед российского IT. Рынок IT очень перегрет предложениями. Зачастую можно увидеть зарплаты для мобильных, фронтенд и других разработчиков (по РТ) превышающие 100 тысяч рублей. При этом средняя зарплата в том же Татарстане чуть больше 37 тысяч. Поиск действительно стоящего кадра для не очень крупной компании может занять продолжительное время и приходится постоянно повышать планку зарплат, предлагать, как можно больше “плюшек” и более свободный график. Но даже это не всегда является стопроцентным вариантом найти действительно стоящего программиста (об этом ниже). К сожалению, эта погоня рынка за кадрами только в маленьком проценте случаев является оправданной. В большинстве же это приводит к тому, что небольшие компании не могут угнаться за рынком и либо просаживаются по качеству, отпуская сотрудников за крутыми оферами, либо потихоньку загибаются.

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

Разберём сначала кодеров . Эти ребята зачастую отличные исполнители, они делают всё, что им говорят или ставят в задачах аналитики, PM’ы или другие старшие товарищи. Как правило, их плюсы на этом заканчиваются. Кодер не развивается. Он считает, что знает достаточно для того, чтобы выполнять свою работу. При этом кодер может быть на волне хайпа и участвовать в обсуждениях новых технологий. Но не надо путать кодера и условный грейд джуниора в компании, подразумевающий небольшое количество опыта и знаний. Я рассматриваю именно тип программиста. Кодер не может вырасти выше мидла (среднего уровня). Разумеется, даже для этого ему нужно больше времени и внешних сил (техлид, коллеги, обучающие курсы). Кодера, как правило, не заботит тестирование своего продукта. Он считает, что работающий продукт не может сломаться, если работал однажды. К сожалению, автоматическое тестирование тоже не всегда может “исправить” кодера. Если в компании ведётся хоть какой-то учёт задач, то легко отследить кодера по количеству возвратов задач в работу. Начинаете узнавать кого-то? 🙂 В кодеры приходят люди со всех профессий и в любом возрасте (но это не означает, что среди них нет профессиональных, в образовательном плане, программистов). Это напоминает индийцев, которые не считают программирование чем-то сложным и требующим определённых навыков. Отсюда всем известные дешёвые фрилансеры индийцы, которые могут просто поразить Вас “качеством” кода. Зачастую кодера бывает сложно определить на собеседовании, так как оно не может в полной мере определить все требуемые для программиста навыки и знания. Кодеры раскачали этот рынок и не стесняются каждые N месяцев менять работу в погоне за большей зарплатой, более свободным графиком и большим количеством “плюшек”. Почему так происходит? Потому что настоящих программистов на самом деле не так много. Кто это такие?

Настоящие программисты (НП), как по мне, это люди, которые своим складом ума и, возможно, характера идеально подходят на эту работу. НП никогда не кичатся своими знаниями. Они постоянно развиваются и изучают новые технологии (а в IT они меняются ой как быстро). Эта черта человека осознавать свою глупость и даёт возможность быть умнее других и постоянно расти, развиваться. Настоящий программист применяет все свои знания для решения задачи, ускорения, улучшения, а не для галочки или хайпа. В этом возможно и заключается особенность НП. Для них решение очередной задачи - это не монотонная работа, а некая внутренняя игра для поиска оптимального, красивого и практичного результата. Иногда это бывает проблемой для бизнеса, когда такие люди «заигрываются», ведь часто надо сделать быстро, и чтобы работало (и пускай это костыль). Среди НП можно часто встретить людей, увлекающихся математикой, а также олимпиадными задачами, ведь именно в этих сферах можно заниматься поиском решения, которое так завлекает. К сожалению, или счастью это образ мышления, образ жизни. НП нельзя стать (я не знаю ни одного такого случая). НП мне встречались только двух типов: асоциальные или же резко противоположно очень активные ребята. Из этих сотрудников всегда и вырастает основной технический костяк в компании. Вторые [активные], как правило становятся тимлидами, техлидами и некоторые, дорастая до определённого уровня уходят в менеджмент, становясь техническими директорами и руководителями тех. департаментов. Как я уже написал ранее, если кодеры доходят до мидлов, то предела у настоящих программистов нет. НП не пишет на каком-то языке программирования, для него не важен синтаксис и версия IDE. Он знает паттерны и подходы, которые будут работать практически везде. Для него достаточно посмотреть пару примеров и правила синтаксиса, чтобы уже начать разбираться и писать программный код. НП не просят разжёвывать задачи, они сами предлагают правильные решения и исправляют ошибки.

Теперь, когда Вы понимаете, как я различаю программистов, можете задать вопрос в чём же проблема? НП намного меньше чем кодеров, но компаниям нужны кадры. Это приводит к тому, что всё большее количество людей начинают считать себя программистами, отзываясь на завышенные зарплаты и хорошие условия. К сожалению, большинство HR’ов не могут отличить настоящего программиста от кодера. Возможно это происходит как раз из-за различной самооценки собеседуемых кандидатов. В результате и без того перегретый рынок предлагает равные зарплаты кодерам и НП. Качественный уровень российских программистов снижается. Это можно наблюдать по тому, как ценятся наши ребята на западе. Спойлер: ниже, чем ранее. Многие хорошие кандидаты грезят работой в крупных гигантах рынка вроде Яндекса, Google, Microsoft и т. д., и уходят туда, как только вырастают до нужного уровня.

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

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

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

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

Особенности обучения

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

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

Работа IT-техника может иметь несколько направлений:

  1. Прикладной техник. Специалист занимается программным обеспечением, его разработкой и усовершенствованием для удобства работы в организациях. Обычно это специалисты программы 1C, техники занимаются настройками, описаниями функций и доработкой под требования конкретной фирмы.
  2. Системное направление. Работники занимаются разработкой и описанием баз данных, интерфейсов. Также они являются администраторами социальных сетей.
  3. Специалист ТП (технической поддержки). Незаменимые работники, помогают устранить неполадки и ошибки в сжатые сроки.
  4. Тестировщик. Они, в частности, занимаются доработкой и тестированием уже готовых программ.

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

Каким должен быть программист?

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

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

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

Положительные стороны и недостатки профессии

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

Но все же существуют следующие минусы профессии программист:

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

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

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

Где найти работу?

IT-техник в целом – многогранная профессия. Несмотря на то, что по статистике на 1 рабочее место приходится 15 работников, всё же реально получить своё место под солнцем. Всё зависит от навыков и целеустремлённости каждого, ведь если сидеть и ничего не делать – навряд ли удастся получить высокую должность.

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

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

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

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

Если был выбрано «свободное плавание», то тут нужно также постараться. Главным преимуществом фрилансеров является то, что в большинстве случаев работодатели не требуют документов, а также свобода в выборе работы. Самостоятельно можно искать проекты, ТЗ и выполнять в любое для себя удобное место. Но все же есть и минус – такая работа нестабильна и не даёт гарантий. Какой путь выбрать – решает каждый.

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

Как уже говорилось, программист – весьма прибыльная профессия. Однако всё же многих интересует вопрос, сколько зарабатывают программисты? Заработная плата зависит от уровня специалиста, а также от того, где он работает. В больших городах специалисты работают в хороших фирмах, и для каждого находится своё место. Что касается более маленьких городов, тут зарплаты меньше, но соответствуют уровню жизни.

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

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

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

Профессия программист

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

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

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

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

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

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

Работа в области программирования считается преимущественно мужской, но первым программистом является женщина. Это дочь знаменитого английского поэта Байрона – Ада Лавлейс. Именно благодаря ей появились первые приёмы управления вычислениями, которые до сих пор используются в современном программировании.

День программиста

11 сентября 2009 года Дмитрий Медведев подписал Указ № 1034, подготовленный Министерством связи и массовых коммуникаций Российской Федерации, который установил в России новый официальный профессиональный праздник - День программиста .

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

Что такое программирование?

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

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

Бит – единица измерения количества информации. 1 бит информации - это символ или сигнал, который может принимать два значения: включено или выключено, да или нет, высокий или низкий, заряженный или незаряженный; в двоичной системе исчисления это 1 (единица) или 0 (ноль).

Байт – единица измерения количества информации, равная 8 битам.

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

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

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

Псевдокод

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

Четких правил для псевдокода не существует. Это своего рода переходное звено между естественным языком и высокоуровневым языком программирования. Пример программы «Здравствуй, Мир!» с помощью псевдокода:

Алг ЗДРАВСТВУЙМИР нач вывод ("Здравствуй, Мир!") кон алг ЗДРАВСТВУЙМИР