Программист — специалист, занимающийся написанием и корректировкой программ для компьютеров, то есть
Профессия программиста считается одной из самых популярных и престижных, она приносит высокий доход или зарплату, благодаря которой ситуация «где жить, за что поесть, одеться, полечиться
Специальность программиста даёт возможность широкого выбора места работы как в России, так и за рубежом. Работу программист может найти в офисе любой компании или в специальных компьютерных фирмах, а может работать и дома в качестве фрилансера (фрилансер — это «свободный художник», то есть человек, который самостоятельно ищет для себя проекты, он свободен в выборе заказчика и берет на себя всю ответственность по выполнению заказа).
Нередко программист, кроме основной работы (написания программного кода), занимается многими другими делами:
- планирование рабочего дня (иногда только своего, иногда и составление списка дел для подчиненных);Реклама
- общение с заказчиками (чтобы понять, что именно нужно сделать);
- написание документации к той части работы, которая уже выполнена;
- передача опыта молодым коллегам;
- поиск информации (бывает, чтобы узнать, как сделать что-либо, нужно пересмотреть кучу сайтов и книг);
- соблюдение распорядка (во многих компаниях установлен свой рабочий регламент, в котором нужно разобраться и придерживаться его).
Но в основном характер работы программиста — это кропотливый труд, долгое сидение за компьютером за разработкой программного кода (программного обеспечения).
Является ли программирование творчеством? Конечно! Во время моей учебы в МАИ на факультете прикладной математики руководитель нашей группы уважаемый и заслуженный профессор часто повторял, что «программирование — процесс творческий».
Программирование обычно делится на несколько уровней (этапов): архитектура, проектирование, реализация (кодирование). Кодирование — из них наименее творческое, но и там есть нетривиальные и интересные задачи. Не видел творчества в программировании только тот, кто вообще толком не сталкивался с программированием или сталкивался только с самым примитивным уровнем кодирования, которое обычно предоставляется наиболее неквалифицированному персоналу (кодерам).
Понять разницу между программистом и простым кодером, или понять суть программирования как творчества, можно так. Посадите 10 программистов независимо решать одну и ту же задачу (реализовать проект) или написать кусочек системы. Да, программы состоят из стандартных конструкций, но в итоге вы получите 10 разных программ, и некоторые из них, возможно, будут отличаться в корне и структурно. Именно в этой разнице и заключено творчество. Для одной задачи существует огромное множество программ, которые ее решают. Умение выбирать «правильные» программы из этого множества — это и есть творчество программирования!
Причем через несколько лет (если этот проект или система будут работать и поддерживаться программистами) вы увидите, что код одних из этих программ был уже до неузнаваемости переписан, код же других живет и по сей день. Более того, из него программисты смогли выделить несколько повторно используемых решений, которые стали «прорастать» в весь проект или в его новые версии.
Но прежде чем вы станете отличным программистом (не просто кодером), вам придётся долго и много учиться. А потом снова учиться, уже будучи программистом. То есть постоянное самообразование и развитие своих навыков программирования — это непременное условие для работы программистом. Ведь выходят новые версии программ, меняются характеристики оборудования и вам всегда нужно быть в курсе всех изменений, иначе легко потерять квалификацию и стать профнепригодным.
Конкуренция на рынке труда среди программистов высокая, и вы сможете найти действительно хорошую работу только в том случае, если знаете своё дело на «отлично». Впрочем, в этом нет ничего страшного, ведь программирование может быть весьма увлекательным, творческим и выгодным (во всех смыслах) делом.
А прежде чем учиться на программиста, определитесь, каким программистом вы хотите стать. Программисты бывают разные.
- По области работы они делятся на системных программистов, прикладных программистов, веб-программистов, программистов и администраторов СУБД, составителей алгоритмов, сетевых администраторов, системных администраторов, специалистов по компьютерной безопасности и других…Реклама
И в каждой этой области программист должен обладать теоретическим и практическим минимумом знаний и опыта, то есть изучить и уметь применять основные технологии и языки программирования, относящиеся к выбранной сфере деятельности. Например, веб-программисту (или веб-разработчику) хорошо бы знать в полном объеме: JavaScript, PHP (ООП), jQuery, AJAX, HTML, XML, CSS ну еще с БД MySQL или PostgreSQL. С этим пакетом знаний вы, как веб-программист, сможете претендовать в Москве на 150 (и более) тысяч рублей зарплаты, да еще будете подниматься по карьерной лестнице.
Есть, конечно, и общий теоретический минимум для каждого программиста. Что он включает? Да обычно все то, что изучают программисты несколько лет в вузе или колледже. Не пропускайте нижеприведенные курсы, они весьма пригодятся вам в работе программиста.
1. Вводные курсы:
- Математика.
- Логика.
- Дискретная математика.
2. Полные курсы:
- Аппаратное обеспечение.
- Операционные системы.
- Общее программное обеспечение.
- Графика, форматы.
- Сеть.
- Базы данных, язык запросов T-SQL.
- Языки программирования.
- Теория программирования, алгоритмы и комбинаторная оптимизация.
- Методология разработки.
- Криптография (основы).
- Инструментальные средства (среды) разработки.
- Прикладное программирование.
- Веб-программирование и скриптовые языки.Реклама
3. Факультатив:
- Психология (отношения с клиентами, коллегами и начальством).
- Физиология (организация эффективной работы).
И еще немного о требованиях к уму или интеллекту программиста. Согласно общепризнанным оценкам психологов, профессия программиста требует высокого уровня развития интеллекта.
Чаще всего для программистов необходимы такие качества, как способность к абстрагированию и пониманию отношений между элементами, гибкость мышления, критичность, склонность к планированию, анализу и систематической работе, готовность пополнять знания и переучиваться.
На качественно различных этапах работы программиста (анализ задачи, составление блок-схемы, разбиение на модули, кодирование, отладка, стыковка модулей, документирование, сопровождение
Вот, в принципе, и все об особенностях профессии программиста. Думайте, решайте и учитесь. Успехов всем будущим программистам!