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