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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




Отзывы и комментарии
Ваше имя (псевдоним):
Проверка на спам:

Введите символы с картинки: