Дмитрий Юлин Дебютант

Стоит ли вашему ребенку быть программистом?

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

Andresr , Shutterstock.com

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

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

Нередко программист, кроме основной работы (написания программного кода), занимается многими другими делами:

- планирование рабочего дня (иногда только своего, иногда и составление списка дел для подчиненных);

- общение с заказчиками (чтобы понять, что именно нужно сделать);

- написание документации к той части работы, которая уже выполнена;

- передача опыта молодым коллегам;

- поиск информации (бывает, чтобы узнать, как сделать что-либо, нужно пересмотреть кучу сайтов и книг);

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

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

Является ли программирование творчеством? Конечно! Во время моей учебы в МАИ на факультете прикладной математики руководитель нашей группы уважаемый и заслуженный профессор часто повторял, что «программирование — процесс творческий». Программирование обычно делится на несколько уровней (этапов): архитектура, проектирование, реализация (кодирование). Кодирование из них наименее творческое, но и там есть нетривиальные и интересные задачи. Не видел творчества в программировании только тот, кто вообще толком не сталкивался с программированием или сталкивался только с самым примитивным уровнем кодирования, которое обычно предоставляется наиболее неквалифицированному персоналу (кодерам).

Понять разницу между программистом и простым кодером, или понять суть программирования как творчества, можно так. Посадите 10 программистов независимо решать одну и ту же задачу (реализовать проект) или написать кусочек системы. Да, программы состоят из стандартных конструкций, но в итоге вы получите 10 разных программ, и некоторые из них, возможно, будут отличаться в корне и структурно. Именно в этой разнице и заключено творчество. Для одной задачи существует огромное множество программ, которые ее решают. Умение выбирать «правильные» программы из этого множества — это и есть творчество программирования!

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

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

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

И в каждой этой области программист должен обладать теоретическим и практическим минимумом знаний и опыта, то есть изучить и уметь применять основные технологии и языки программирования, относящиеся к выбранной сфере деятельности. Например, веб-программисту (или веб-разработчику) хорошо бы знать в полном объеме: JavaScript, PHP (ООП), jQuery, AJAX, HTML, XML, CSS ну еще с БД MySQL или PostgreSQL. С этим пакетом знаний вы как веб-программист сможете претендовать в Москве на 150 (и более) тысяч рублей зарплаты, да еще будете расти по карьерной.

Есть, конечно, и общий теоретический минимум для каждого программиста. Что он включает? Да обычно все то, что изучают программисты несколько лет в вузе или колледже. Не пропускайте нижеприведенные курсы, они весьма пригодятся вам в работе программиста.

1. Вводные курсы:

Математика
Логика
Дискретная математика

2. Полные курсы:

Аппаратное обеспечение
Операционные системы
Общее программное обеспечение
Графика, форматы
Сеть
Базы данных, язык запросов T-SQL
Языки программирования
Теория программирования, алгоритмы и комбинаторная оптимизация
Методология разработки
Криптография (основы)
Инструментальные средства (среды) разработки
Прикладное программирование
Веб-программирование и скриптовые языки

3. Факультатив:

Психология (отношения с клиентами, коллегами и начальством)
Физиология (организация эффективной работы)

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

Вот, в принципе, и все. Думайте, решайте и учитесь. Успехов всем будущим программистам!

Обновлено 26.07.2014
Статья размещена на сайте 24.07.2014

Комментарии (5):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети:

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

  • Добавлю.

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

    Минусы работы программистом:
    - работа есть не везде: где-нибудь в Урюпинске программист обычно нафиг не сдался, вакансий с достойной оплатой просто не будет. В 99% случаев человек идущий учиться на программиста, должен быть готовым к переезду в Москву или Питер. В России всего 2-3 города где реально можно работать и есть выбор.
    - сидячая работа по 8-10 часов в сутки, со всеми вытекающими последствиями малоподвижного образа жизни
    - 95% работы это рутина, зачастую весьма скучная и неинтересная (впрочем это наверно в любой профессии так)

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

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

      • Дмитрий Елисеев Мастер 28 июля 2014 в 17:11 отредактирован 28 июля 2014 в 17:19

        Марта Александрова, на удаленную работу работодатели соглашаются _очень_ неохотно, да и з/п в таком случае зачастую меньше. Обычно это разрешается лишь в случае необходимости типа болезни или срочного отъезда.

        Хотя да, бывает что работодатели специально ищут программистов из Урюпинска на удаленную работу - чтобы платить меньше. Но понятно что на "московскую" зарплату в этом случае рассчитывать не придется. График относительно гибкий - но его все же нужно согласовывать с коллегами, чтобы была возможность обсудить вместе рабочие моменты, ну и 8 часов в день отработать все-равно придется. Гибкость обычно заключается в возможности придти если надо на 1-2ч пораньше, и уйти тоже пораньше: все-таки программист это не врач и не продавец, и клиенты его под дверями не ждут, в этом плане проще.

        В мелких городах "программистами" обычно называют сисадминов умеющих поставить Винду, или в лучшем случае сделать что-то простое под 1С. Никаких серьезных ИТ-проектов в таких городах обычно нет.

  • Эдуард Ермоленко Эдуард Ермоленко Читатель 28 июля 2014 в 09:35 отредактирован 28 июля 2014 в 09:36

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

    Оценка статьи: 4