Должность: инженер-программист

Автор: Laura McKinney
Дата создания: 2 Апрель 2021
Дата обновления: 1 Июль 2024
Anonim
Что делает инженер-программист #яинженер
Видео: Что делает инженер-программист #яинженер

Содержание


Источник: Dragonimages / Dreamstime.com

вынос:

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

Что делает инженер-программист? Простой ответ заключается в том, что он или она участвует в разработке программного обеспечения, в процессе применения принципов разработки к программным продуктам.

Однако в описании того, что делают разработчики программного обеспечения в мире программного обеспечения, есть масса деталей и нюансов. Мы разберемся с этим, когда рассмотрим «день из жизни» инженера-программиста, работающего над созданием всех великолепных цифровых материалов, которые мы используем каждый день. (Чтобы узнать больше о роли от кого-то в этой области, посмотрите, как я попал сюда: 12 вопросов с писателем и инженером-программистом Дэвидом Ауэрбахом.)

Жизненный цикл разработки программного обеспечения

Чтобы понять роль инженера-программиста, полезно знать о жизненном цикле разработки программного обеспечения (SDLC).


Жизненный цикл разработки программного обеспечения включает в себя различные ключевые этапы, часто описываемые как планирование требований, проектирование, кодирование, тестирование, внедрение и поставка (дайте или сделайте несколько шагов в соответствии с запатентованными процессами).

«Программное обеспечение начинается с проблемы, которую мы пытаемся решить», - говорит Джон Куигли (John Quigley) из Value Transformation LLC, описывая обычный жизненный цикл разработки программного обеспечения, начав с того, что происходит в начале процесса. «Это будет сформулировано в какой-либо форме документа и является результатом интервью с клиентами или людьми, которые страдают от проблемы ... В документе будет описано, как выглядит проблема, что поможет генерировать идеи для сравнения с этим для решения. Это будет целью этой работы, установление того, чего мы пытаемся достичь ».

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


Затем есть кодирование: «Инженеры-программисты напишут конкретные утверждения в коде, который произведет желаемый продукт, который соответствует определенным требованиям», - говорит Квигли об этапе кодирования.

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

Нет ошибок, нет стресса - ваше пошаговое руководство по созданию изменяющего жизнь программного обеспечения без разрушения вашей жизни

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

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

Разнообразная роль инженера-программиста

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

«Инженер-программист играет более широкую роль, чем большинство, в создании программного решения», - пишет Самуэль Малаховски, профессор Рочестерского технологического института. «У каждого элемента SDLC есть специалисты: RE и продажи на начальных этапах, архитекторы на этапе проектирования, программисты / программисты для сборки, QA для проверки / тестирования, IT для развертывания / обслуживания и менеджеры проектов для перемещения и управления каждый член команды / фаза, но ожидается, что инженеры-программисты будут широко применять весь процесс. Учитывая эту точку зрения, лучше задать вопрос, чего не делает инженер-программист ».

Вот еще один интересный момент, который делает Малаховский в отношении различий между ИТ и разработкой программного обеспечения, который многое показывает о том, на что похожа работа среднего программиста:

«ИТ является оперативным и повторяющимся, в то время как инжиниринг вращается вокруг новых проблем, которые должны быть решены как уникальные проекты», - говорит он. «Из-за этого повторения ИТ-персонал гораздо чаще ищет индивидуальные сертификаты на основе инструментов. В отличие от компьютерного инжиниринга, взгляды выполняются там, где требования выполняются - CE стремятся сосредоточиться на решении проблемы с аппаратным обеспечением, с программным обеспечением, поддерживающим его. SE решают проблему с программным обеспечением, с поддержкой оборудования ».

Инженер-программист и проектные команды

Во многих компаниях инженеры-программисты сгруппированы и делегированы роли в соответствии с их частью в сложном процессе.

Бреннан Мигер (Brennan Meagher) описывает пример из TeleTracking, компании, которая делает заголовки в области инноваций в здравоохранении в Fierce Healthcare, Американском колледже врачей неотложной помощи, управлении медицинскими данными, новостях в области здравоохранения для ИТ и других местах.

«В TeleTracking инженеры-программисты отвечают за кодирование и тестирование всех модулей и приложений, являющихся частью платформы TeleTracking», - говорит Мигер. «Они также помогают в разработке программных решений и производств. Это включает исследования, проектирование, документирование и разработку нового программного обеспечения. Короче говоря, наши разработчики программного обеспечения создают программные решения, которые соответствуют техническому видению TeleTrackings для улучшения доступа к пациентам ».

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

«Примером того, за что разработчики программного обеспечения регулярно несут ответственность, могут быть: написание, отладка, модульное тестирование и тестирование производительности на всех уровнях приложений», - говорит Миган. «Это включает в себя интерфейс (веб), средний уровень (веб-сервисы) и уровни доступа к данным».

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

Затем появилась модель DevOps, которая объединила множество итерационных процессов, которые были очень четко очерчены и категоричны в обычной модели. Так что роль инженера-программиста меняется. (Чтобы узнать больше о DevOps, посмотрите, как DevOps Manager объясняет, что они делают.)

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