Программист
Программистами обобщенно называют категорию людей, занимающихся разработкой алгоритмов и программ на основе математических моделей. Условно программистов можно разделить на три категории:
Прикладные программисты. Такие специалисты занимаются разработкой конкретных программ, необходимых для работы организации. Например, сюда можно отнести программистов 1С.
Системные программисты программируют операционные системы, интерфейсы к распределенным базам данных, работают с сетями.
Web-программисты имеют дело с сетями, но, как правило, с глобальными, такими, как Internet. Они пишут web-интерфейсы к базам данных, создают динамические web-страницы и т.п.
Специфика профессии:
Плюсы профессии:
Постоянное профессиональное самосовершенствование,
Высокий спрос на рынке,
Высокая заработная плата,
Работать можно не имея диплома,
Преимущественно творческая профессия.
Минусы профессии:
То, что понятно программисту, не всегда понятно пользователю приходится многое объяснять,
Случается работать в авральном режиме,
Работа за компьютером плохо сказывается на здоровье,
И здесь находится место рутине,
Профессия накладывает отпечаток на характер.
Место работы:
Научно-исследовательские центры,
IT-компании,
Организации, которые в свой структуре подразумевают отделы программистов (или штатную единицу).
Личные качества:
Прежде всего, программист должен обладать терпением и выдержкой. Это совершенно незаменимые качества в его работе.
Программирование, бурно развивающаяся область, поэтому нужно уметь быстро адаптироваться и постоянно изучать что-то новое. Иначе через несколько лет ваша ценность как специалиста может заметно снизиться.
Умение объективно оценивать возможности технологий и их использование в каждом конкретном случае. Чтобы не получалось так, что дрова пилятся с применением новейших лазерных разработок.
Карьера и зарплата:
Руководитель группы программистов, IT-директор, менеджер проекта, можно перемещаться в рамках специальности, совершенствуясь профессионально.
Программист: гений поневолеВ его голове цифры, алгоритмы и оригинальные идеи складываются в полезные, простые и доступные программы, способные облегчить жизнь миллионам пользователей персональных компьютеров.
Программист – одна из самых востребованных и высокооплачиваемых профессий в России. Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта.
Хорошим стартом карьеры может стать присоединение к группе программистов при разработке какого-либо проекта. Крупные проекты часто привлекают внимание западных компаний, которые «перекупают» российских программистов. К примеру, когда-то группа наших молодых ученых разрабатывала процессор «Эльбрус» для Минобороны, а в итоге их всех перекупила корпорация Intel, и теперь наши ученые и программисты работают за рубежом, а сам проект «Эльбрус» потихоньку закрылся. Проблема «утечки мозгов» в этой профессии – одна из самых острых. Впрочем, и в России сегодня у программистов работы предостаточно – они нужны как отечественным компаниям-разработчикам программного обеспечения, так и любой фирме, где существует компьютерная сеть и необходимо адаптировать и настраивать ПО для нужд организации.
К лидерам рынка IT в России можно отнести «Лабораторию Касперского», R-Style, ЛАНИТ, EPAM Systems и др.
Я бы BIOS изобрел…
Спрос на рынке труда на программистов высокий, но и конкуренция соответствующая. Найти интересную и высокооплачиваемую работу вам удастся только в том случае, если вы знаете свое дело «на отлично». Одной из самых сложных в программировании считается разработка системного программного обеспечения – сервисов, которые управляют компонентами вычислительной системы (процессором, коммуникационными и периферийными устройствами, а также тех, которые предназначены для обеспечения функционирования и работоспособности всей системы (загрузчики, операционные системы, драйверы устройств и т. д.). Такие специалисты в России сегодня не слишком востребованы, поскольку практически все продукты подобного рода производятся за рубежом. Поэтому есть шанс найти высокооплачиваемую работу в западных компаниях.
Творцы и «кодировщики»
Другой фронт работ для программистов – разработка и создание программного обеспечения (ПО), предлагающего определенные услуги пользователям (текстовые редакторы, бухгалтерские программы, игры, ПО для систем видеонаблюдения, базы данных и др.).
Требования к таким программистам зависят от потребностей работодателя: от базового знания самых популярных языков программирования (Delphi, Java, C++ и др.) и умения устранить неисправность любой оргтехники до таких редких навыков, как разработка Lotus Notes, знание WinSock, WinInet, ATL, STL и т. д.
Востребованы сегодня и специалисты, адаптирующие уже готовые программы (в основном «1С: Бухгалтерия», «1С: Склад» и т. д.) под особенности конкретного предприятия.
Web-программеры
Интернет с каждым годом развивается все более активно, и не иметь своего web-сайта для организации уже просто несерьезно. Соответственно, неуклонно растет потребность в профессионалах, способных создать сайт и обеспечивать его техническую поддержку. Традиционные требования к веб-программистам: знание PHP, MySQL, JavaScript, HTML, DHTML, CSS, XML и т. д. Зачастую программистам приходится заниматься и web-дизайном.
В этой работе есть один минус – через некоторое время обязанности штатного web-специалиста сводятся к обновлению контента, устранению ошибок и написанию несложных скриптов. Если вы творческий человек и любите работать самостоятельно, то лучше обсудить условия работы и обязанности заранее.
Другой вариант – найти место в компании, профессионально занимающейся разработкой web-сайтов по заказу.
Карьера & Зарплата
Первой ступенькой карьеры может стать должность программиста-стажера. Крупные IT-компании часто публикуют подобные вакансии. Необходимо иметь хорошую теоретическую подготовку, желательно знать языки высокого уровня (C++, VB, VFP, C#, VB. Net.). Зарплата стажера – около $ 1000. Штатный программист в компании среднего уровня (не IT) получает до $ 1500-1800, чуть больше – в организации, связанной с массовой разработкой ПО. Зарплата ведущего программиста – $ 2500-3000. Следующая ступень – руководитель IT-отдела. К необходимым знаниям добавляется обязательный опыт работы, владение иностранным языком, навыки управления персоналом и др., а заработок может достигать $ 4000. Хороший программист может стать руководителем крупного проекта по разработке ПО, и тут уровень доходов достигает $ 5000 и выше.
Многие программисты предпочитают не работать в штате компании, а быть фрилансерами (т. е. «свободными художниками») и выполнять разовые заказы, не выходя из дома. Фрилансер получает вознаграждение, напрямую зависящее от сложности проекта. За типовое задание, выполнение которого занимает два-три дня, можно получить $ 300-500. Верхняя граница оплаты может быть абсолютно любой ($ 3000 и выше). Плюс этого способа работы в том, что можно одновременно выполнять несколько заданий разных работодателей, зарабатывая, таким образом, намного больше.
Прикладная информатикаЧто такое быть выпускником специальности «Прикладная информатика»? Это значит быть стопроцентно уверенным, что с помощью информационных технологий, автоматизации рутинных процессов, технологий сбора и обработки информации жизнь современного человека можно сделать проще и удобнее.
Кому подходит профессия
Вы вовсе не обязаны уметь собирать компьютер с завязанными глазами и переустанавливать программное обеспечение одним взглядом на мышь. Конечно, ощутимо легче будет учиться тому, кто уже интересуется компьютерами. Однако важно другое: верите ли вы всей душой, что развитие технологии - это правильно, что надо искать моменты, требующие усовершенствования, и автоматизировать различные процессы, чтобы многомиллионным количеством операций они проходили без участия человека. (Например, в сфере биржевой торговли ценными бумагами ежедневно проводятся по счетам за средний день даже около 1,3 миллиарда сделок: 99,9% - автоматически, и только для 0,1% оставшихся требуется участие человека.)
Те, кто желает освоить специальность крайне регламентированную, ошибутся, если выберут прикладную информатику. Это инновационная специальность, здесь вы всегда первопроходцы. Даже если есть кто-то, кто делает то же самое, ваша задача - придумать, как делать по-другому.
И к сведению слишком уж творческих людей: в этой сфере, особенно если речь идет о сложной области применения, проще не автоматизировать работу с нуля, а совершенствовать что-то. Есть от чего оттолкнуться, есть уже общее видение системы заказчиком. В проекте «с нуля» может пройти и полгода, прежде чем клиент начнет понимать, что же ему нужно.
Суть дела и широкие возможности
Оценить работу инновационного специалиста корректно - сложно. Зачастую в ней нет правильного и неправильного, потому что спустя время оказывается, что другой способ решения задачи оптимален по отношению к некогда общепризнанному. И это время нужно выждать.
Прикладная информатика изучает информационные технологии, применяемые где-либо. Специалист в прикладной информатике сочетает умения и навыки по построению информационной среды, удобной и простой для применения, а также оптимально соответствующей задаче, - и познания в какой-либо выбранной им предметной области.
Давайте окинем взглядом профессионала… библиотеку, например. Какие процессы требуют здесь нововведений? Возможно, это накопление информации о различных авторах и темах, построение каталога библиотеки по выбранному признаку… Или процесс приема и выдачи книг - кстати, а почему бы не ускорить его благодаря применению штрихкодового сканера? Так и читательская задолженность будет определяться точнее, и библиотекари станут радостнее!
Теперь представьте себе, что это не библиотека, а банк. Изменилась область применения - но глобально не изменилось ничего. Есть необходимость каталогизации, накопления информации и, возможно, применения сканера штрихкода (для более быстрого и удобного способа внесения денег на счет клиентами или перемещений этих денег со счета клиентов).
Так что любая область требует профессионального внимания прикладника. Есть определенная логика процессов, которую необходимо изучить, прежде чем приступать к улучшениям. И цель специалиста - понять, как можно адаптировать технические знания для решения задач предметной области.
Автоматизация нужна повсеместно. Кассиры в магазине пробивают чеки с помощью сканера штрихкодов, настроенного на ассортимент этого магазина и на его бухгалтерские документы. На заводе информация о каждой детали тоже поступает в бухгалтерскую программу напрямую со станка. В стоматологической клинике ваша карта ведется в электронном виде; во многих западных и в некоторых наших медицинских лабораториях обработка анализов производится автоматически, без участия человека. Бухгалтеры работают с системами R-keeper, 1C, SAP-R3, автоматизирующими их труд.
При этом средства автоматизации еще далеки от совершенства - и постоянно развиваются. Скажем, если вам интересны иностранные языки и вы хотите изучать прикладную информатику - пожалуйста, есть системы типа Lingvo или Promt и электронные словари, и вы, как специалист, интересующийся языками, будете лучше других понимать требования к таким системам и сможете с удовольствием улучшать существующие программы либо разрабатывать новую, которая будет успешно с ними конкурировать.
Широкий выбор области применения знаний - это, безусловно, преимущество для выпускника. Знания о том, как искать задачи усовершенствования процессов работы с информацией и как их решать, совершенно унифицированы. После выпуска можно с одинаковым успехом идти работать как в лабораторию, так и в торговую компанию; как в школу, так и в государственное учреждение. Выбор определяется тем, к чему лежит душа.
Должностные обязанности
Аналитик в основном общается с командой разработки и с заказчиком (проект может быть и сторонним, и внутренним). Он собирает сведения и у заказчиков, и у предполагаемых пользователей продукта и описывает это для команды разработки в понятных для нее терминах. Отвечает на вопрос: что надо сделать? Именно аналитик занимается наиболее соответствующей специальности деятельностью.
Программист - член команды разработки. Отвечает на вопрос: как надо сделать? Получает информацию либо напрямую от заказчика и пользователей (если проект совсем маленький и не предполагает аналитиков), либо от аналитика и из документов, которые тот подготовил. После этого он создает программу.
Тестировщик - инженер по тестированию. Увы, роль этого специалиста в проекте недооценивают. Однако именно тестировщик, или тестер, отвечает за качество продукта: он составляет сценарии проверки программы, чтобы покрыть максимально возможные варианты ее использования и выявить максимально возможное число сбоев в ее работе, а также максимально возможное количество ошибок программиста.
Менеджер проектов зачастую совмещает роль аналитика проекта и обязанности по управлению проектом - распределение задач, контроль над их выполнением, помощь команде в сложных ситуациях и обеспечение дружественной инфраструктуры (комфортных условий и наличия всех необходимых программ).
Дополнительные требования
Специалисту с самого начала придется привыкать оценивать свой труд в трудозатратах. Нужно будет предугадывать, сколько времени отнимет та или иная задача, чтобы начальник проекта или клиент далее смогли оценить эти трудозатраты по установленным для них тарифам.
Для этой работы нужны и хорошо развитые коммуникативные способности. Одно из основных умений - умение доказать и показать, что всё хорошо придумано. Очень сложно доказать клиенту, что он неправ. А еще сложнее признать потом, что именно клиент был прав, потому что «идеальный» сценарий не работает.
Но есть и еще более важное умение - умение признать клиента основным носителем знаний в его предметной области. Увы, очень часто специалист додумывает за клиента, что тому якобы нужно, а потом клиент удивляется: сделано даже то, о чем не просили. Впрочем, бывает, что клиент и сам не знает, чего он хочет. Либо формулирует свои пожелания неточно и невнимательно, поскольку просто не понимает, что же еще надо объяснить: для него-то всё очевидно.
Работая на стыке областей знаний, вы зачастую будете посредником между узкими специалистами выбранной предметной области и специалистами техническими. И именно от вас зависит, найдут ли они общий язык, обретут ли они общее видение ситуации и единую точку зрения на решаемую задачу. Если вы создаете систему для коммерческой компании, то больше полугода вы будете объяснять остальным прикладникам, «а что такое дебет и кредит», «а как мне рассчитать вот этот коэффициент, который указан в документе». И объяснять как можно проще. А потом будете многократно растолковывать пользователям, «а когда нажимать на эту кнопку», и возражать на выпады типа «разве это сложно - добавить новый отчет? Он ведь почти такой же, как другой отчет».
Ваш круг общения расширится. Вы сможете ориентироваться в реалиях предметных областей. Однако возможны и конфликты - так что ваш выбор зависит от того, насколько комфортно вы чувствуете себя в конфликтных ситуациях и при обилии общения.
Базовые знания
Надо прекрасно разбираться в алгебре и школьном курсе информатики - это не обсуждается. А как быть с физикой и геометрией? Они тоже нужны, чтобы развивать абстрактное мышление.
Очень важно знать английский язык! Именно английский: иначе будет сложно работать даже с русскоязычными клиентами. В специальности полно англицизмов и непереводимых терминов, новые технологии сопровождаются документацией только на английском. Если основной иностранный язык не английский, то надо хорошо подумать, прежде чем выбирать прикладную информатику.
И хорошо бы уметь играть в шахматы - это разовьет логическое мышление.
Выбор вуза и учеба
Очень хороший критерий выбора - преподаватели-практики! Если же преподавание - основная и единственная занятость вузовских педагогов, то это плохо: есть риск, что очень скоро они будут учить устаревшей информации.
Ищите вуз, где дают много задач, где необходимо много думать абстрактно, учиться думать непривычным для себя способом, а также постоянно искать аналогии: ведь чем сложнее предметная область и чем дальше она от того, с чем программист уже знаком, тем сложнее и интереснее будет работать.
А как стать востребованным экспертом, если вам более интересен именно прикладной аспект, а не технические подробности? Обратите внимание на вузы, специализирующиеся в той предметной области, которую вы хотите выбрать. Одного человека больше заинтересует прикладная информатика в экономике, другого - в медицине или туризме. И подготовку по специальности «Прикладная информатика» ищите именно в соответствующих высших учебных заведениях.
Необходимо постоянно учиться новому
Прикладник учится всегда. А учиться нужно процессам производства программ и технологий, изучать и сами новые технологии, используемые в конкретном проекте, осваивать новые области приложения знаний, постигать по-другому поставленные бизнес-процессы. Результата в обучении надо достигать очень быстро - и так же быстро переключаться между разными знаниями, которые уже есть. За то время, пока вы студенты, будут придуманы новые алгоритмы проектирования процессов, новые способы автоматизации, новые программы для документирования - всё станет по-новому.
В области информационных технологий изменения носят нерегламентированный и зачастую недокументированный характер. Различных технологий на сегодняшний день столько, что специалисту с большой вероятностью придется работать в проекте, где часть применяемых технологий будет ему практически незнакомой. Попадая в проект, вы можете столкнуться с такой ситуацией, что не только вы не имеете ни малейшего представления, как работать с новой технологией, но и матерые специалисты тоже не в курсе дела. И это нормально. Однако будет ли у вас время на доучивание? А не окажутся ли новые знания слишком сложными?
Однако еще только-только окончив вуз, вы уже окажетесь на одном уровне со многими коллегами в своей отрасли.
Программист: с компьютером на ты
Работные сайты перегружены вакансиями для программистов. Зарплата в $1000 сегодня считается минимальной…
Сфера информационных технологий (IT) в России развивается стремительно: темпы роста составляют 25% в год – это выше, чем в Европе и США. Российские вузы ежегодно выпускают до 100 тысяч программистов, и все равно спрос превышает предложение. Дефицит специалистов испытывает не только Россия. Профессионалов приглашают в иностранные фирмы (в частности США) для так называемого оффшорного программирования – работы под заказ зарубежных компаний. Российский специалист в такой фирме может получать $3-4 тыс. в месяц.
Вперед
9-09-2015, 19:10