25 апреля 2017 г. | Автор: OYLA
5 самых популярных IT-профессий

“Айтишником" принято считать любого специалиста, занятого в сфере информационных технологий. Хотя такое определение не совсем справедливо, ведь в IT существуют десятки самых разных профессий, и постоянно появляются все новые специализации. Попробуем вместе разобраться с узкой специализацией в среде айтишников.


Программист

Программист – специалист, который пишет программы. Написать программу – это значит создать инструкцию на искусственном языке. Далее эти инструкции выполняет специальное устройство – "компилятор". Это переводчик с искусственного языка на понятный компьютеру язык, то есть "машинный язык" процессора. Инструкции представляют собой набор команд компьютеру на условном языке:

  1. ВОЗЬМИ 100 ФАЙЛОВ ИЗ ПАПКИ "ДОКУМЕНТЫ";
  2. ВЫБЕРИ ИЗ НИХ ФАЙЛЫ С КАРТИНКАМИ;
  3. СОХРАНИ ВЫБРАННЫЕ ФАЙЛЫ В ОТДЕЛЬНУЮ ПАПКУ "МОИ ФОТОГРАФИИ".

Обычный пользователь в повседневной работе с компьютером использует простейшие команды, например, с помощью мыши или клавиатуры копирует и вставляет файлы из одной папки в другую. Но язык программирования обычно рассчитан на решение более сложных и нетривиальных задач, например, поиск простых чисел (числа которые делятся только на себя) в числе 1 000 000 0000. Сложные программы потребуют создания инструкций с гораздо большим количеством команд, чем в вышеприведённом примере. Программистам удобно измерять сложность программ количеством строчек написанных команд. Например, подсчитывая количество строчек в коде операционной системы Windows, можно увидеть, как усложнялась программа со временем:

ГодВерсияСтрок кода (приблизительно)
1994Windows NT 3.54 000 000
1996Windows NT 416 500 000
1999Windows 200020 000 000
2001Windows XP45 000 000
2006Windows Vista50 000 000
2008Windows 7от 60 000 000
Тестировщик

Тестировщик – специалист, занимающийся поиском ошибок, проблем, сбоев в программах, написанных программистами. При написании программ, обладающих большим количеством функций (допустим, Microsoft Word – в этой программе можно рисовать, печатать текст, чертить таблицы), практически всегда возникают ошибки, которые невозможно предвидеть при программировании. Постоянный поиск ошибок в программах занял бы у программиста больше времени, чем их исправление. Кроме того, присущие программисту специфическая логика и способ мышления не позволяют ему непредвзято оценить проблему в программе. Поэтому тестировщик выступает в роли обычного пользователя, ищущего недостатки программы.

Поиск ошибок в программе является очень важной, неотъемлемой частью процесса разработки программ. Порой некачественное тестирование, к сожалению, может привести к катастрофическим последствиям. Так, в 1996 году из-за ошибки в программе на 34-й секунде полёта взорвалась ракета "Ариан-5". А в 1962 году космический аппарат "Маринер-1", который должен был лететь к Венере, потерял связь с Землёй, и его пришлось уничтожить на 292-й секунде после старта. Космическое агентство НАСА объявило, что причиной ошибки оказался пропущенный дефис (!) в программе.

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

Системный администратор

Системный администратор – специалист, обеспечивающий работоспособность:

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

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

С развитием Интернета и сетевых технологий, оборудование, программы и сети становятся очень сложными для настройки, поэтому системные администраторы стали специализироваться в отдельных областях – безопасность сетей, резервное копирование, маршрутизация сетей, обслуживание почтовых и веб-серверов и т.д. Зачастую от него для решения повседневных задач и устранения неполадок требуются знания основ программирования, проектирования баз данных, тестирования и прочего.

Системный аналитик

Системный аналитик, пожалуй, – самая "размытая" специальность. В круг обязанностей системного аналитика может входить и разработка концепции программы (конечного видения того, как программа должна выглядеть и работать), и определение набора функций программы (какие задачи программа должна решать), и написание документации к программе, и постановка задач для программистов. Чаще всего, системный аналитик выступает в качестве посредника между пользователем и программистами, обеспечивая обратную связь. Так как пользователи и заказчики, не являющиеся IT-специалистами, затрудняются сформировать свои требования к программе, которую они хотят в итоге получить, за них это делает системный аналитик. А поскольку программы бывают разные: медицинские, финансовые, развлекательные, промышленные и прочие, от аналитика требуется гибкость ума, аналитические способности, при необходимости уметь быстро и чётко понимать все тонкости работы в любой сфере деятельности – от ресторанного дела до астрофизики.

Если врачам понадобится аппарат, который по капле крови пациента будет определять диагнозы, тут как раз понадобится работа системного аналитика. Он должен будет ознакомиться с существующими в медицине заболеваниями, узнать, как проводится анализ крови, понять все тонкости диагностирования и, уже исходя из приобретённых знаний, сделать выводы о том, какая программа должна быть установлена в таком аппарате, как она должна функционировать и какие задачи нужно будет ставить перед программистами.

Дизайнер интерфейсов

Дизайнер интерфейсов – специалист, который создаёт внешний вид программ. Интерфейс программы – это то, с чем взаимодействует человек, пользуясь программой через элементы интерфейса: окна, кнопки, меню, иконки и т. д.

Прежде чем дать задание программисту, системный аналитик рисует прототип программы, то есть первоначальный набросок внешнего вида программы и отдаёт его дизайнеру интерфейса. Дизайнер, отталкиваясь от прототипа, разрабатывает внешний вид программы уже в деталях: размеры окон программы, кнопки, панель инструментов, меню программы, цветовая схема. Дизайнеру очень важно уметь мыслить как пользователь будущей программы, угадать его действия с программой. Обладая такими навыками, дизайнер может разработать интерфейс, который будет прост и удобен в использовании. Напротив, плохой дизайнер может испортить. Это можно образно сравнить с тем, как если бы у хорошей машины с отличными двигателем и прочими выдающимися характеристиками было бы ужасно неудобное расположение элементов управления: слишком маленький руль, рычаг коробки передач слишком большой и находится с левой стороны при левостороннем расположении руля, педали управления расположены слишком близко друг к другу, а педали газа и тормоза перепутаны местами.

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

Конечно, это далеко не все специализации, которую существуют в IT-сфере, но приведённый перечень даёт понять, что "айтишники" бывают разные, и они не специалисты широкого профиля, а такие же ограниченные в рамках своей специализации представители отдельных дисциплин, как скажем, медики: офтальмолог практикует лечение глазных заболеваний, и в сердечно-сосудистых заболеваниях разбирается куда меньше, чем кардиолог. Так и программист зачастую не может спроектировать вычислительную сеть так, как это сделал бы администратор сети.