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

Реклама
Дебютант

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

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

Программист — специалист, занимающийся написанием и корректировкой программ для компьютеров, то есть

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

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

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

Реклама

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

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

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

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

Реклама

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

Реклама

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

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

Реклама

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

Реклама

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

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

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

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

Реклама

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

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

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

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

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

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

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

И еще немного о требованиях к уму или интеллекту программиста. Согласно общепризнанным оценкам психологов, профессия программиста требует высокого уровня развития интеллекта.

Реклама

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

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

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

Реклама