Профессия Описание
Программист Программист – человек, занимающийся непосредственно написанием кодов, «тела» любой компьютерной программы. Любая компьютерная программа – это последовательность действий, записанная по определённым правилам. В некотором смысле программу можно назвать специальной инструкцией, написанной на понятном машинам языке: как и на что реагировать при каких условиях. Работа программиста требует уединения и сосредоточения. По мнению многих программистов, их профессия – творческая, сродни работе писателя, музыканта или архитектора. Как и другие творческие профессии, профессия программиста требует постоянного самосовершенствования. Нельзя оставаться хорошим программистом, не продолжая постоянного изучения своей сферы. Хороший специалист должен постоянно изучать новые языки программирования, искать новые решения, пытаться самостоятельно решать незнакомые, непривычные задания.
Тестировщик Тестировщик проверят созданные программистом программы, ища возможные ошибки и уязвимости. Работа тестировщика требует особенного склада ума – тестировщик должен уметь мыслить нестандартно и обожать эксперименты. Тестировщик должен попробовать предпринять все возможные действия, чтобы найти любые уязвимости: к примеру, если тестируется программа для онлайн-банка, тестировщик должен проверять возможность ошибок при введении особенно длинных или коротких имён пользователей, при оперировании особенно крупными или особенно мелкими суммами, при прерывании действий (допустим, не пропадёт ли сумма со счёта, если во время операции у пользователя банка внезапно прервалось соединение) и так далее. Работа тестировщика также является достаточно уединённой.
Системный администратор Системный администратор – специалист по поддержанию уже созданных информационных систем. В отличие от других специалистов в IT, системные администраторы профессионально занимаются ремонтом компьютеров. Но их основная задача – внедрение и ремонт информационных систем, а не отдельных компьютеров. В круг типовых задач системного администратора обычно входят такие задачи, как подготовка и сохранение резервных копий данных, установка и настройка необходимых обновлений, установка и настройка нового программного обеспечения, поддержание пользовательских учётных записей, ответственность за информационную безопасность, устранение неполадок. Профессия системного администратора требует готовности к работе в режиме многозадачности.
Системный архитектор Системный архитектор – это экспертная позиция. Системный архитектор не занимается ни созданием нового программного обеспечения, ни его поддержанием; его работа – это знания. Системный архитектор должен обладать всеми навыками умелого программиста. Его задача на работе – подсказывать наилучшие пути решения, принципы архитектуры той или иной новой программы. Допустим, у маркетолога возникает идея: настраивать контекстную рекламу, исходя, в том числе, из запросов близких людей клиентов компании. Первый, с кем нужно будет поговорить маркетологу, – системный архитектор. Исходя из своих знаний, системный архитектор расскажет, из каких именно источников можно будет получать нужные данные, какими способами обеспечить безопасность, а какие инструменты надо будет разработать с нуля. После этого системному архитектору предстоит отстаивать своё решение: обосновывать сроки, размеры бюджета и так далее. При этом работа системного архитектора не предполагает управленческой нагрузки. Это именно экспертная работа – оценка и отстаивание своего суждения.
Системный аналитик Системный аналитик имеет достаточно большую управленческую нагрузку. Его задача – составление техзадания для программистов и контроль выполнения работы. Продолжим предыдущий пример с системным архитектором. После того, как системный архитектор составляет основные принципы функционирования новой программы, системный аналитик разделяет эти принципы на отдельные блоки и описывает, какие именно технические ходы нужно предпринять для решения поставленных задач: допустим, использовать конкретный тип запросов с конкретными методами защитной кодировки. После этого системный аналитик распределяет конкретные задачи по подчинённым программистам и контролирует их работу. Если возникают серьёзные трудности, системный аналитик может настоять на перестройке архитектуры системы или изменении цели программы.