Программная инженерия?

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

  • Инженер-программист приложений
  • Инженер-программист компьютерных систем
  • Инженер-программист хранилища данных
  • Инженер по встроенному программному обеспечению
  • Инженер-программист промежуточного программного обеспечения

Программная инженерия это:

Системный подход к анализу, проектированию, оценке, внедрению, тестированию, обслуживанию и реинжинирингу программного обеспечения, то есть применение техники к программному обеспечению. (Источник: Comprehensive Dictionary of Computer Science, Engineering, and Technology, Филип А. Лаплант.)

Тем не менее, также важно знать, чем разработка программного обеспечения не является. Дело в точке:

Разработка программного обеспечения и программная инженерия — взаимосвязанные термины, но они не означают одно и то же. Инженер-программист занимается разработкой программного обеспечения; однако не все разработчики программного обеспечения являются инженерами. Программная инженерия означает применение инженерных принципов к созданию программного обеспечения. ("Источник".)

Инженер-программист применяет информатику и математические принципы для разработки и обслуживания программных приложений и/или систем. Но что на самом деле делают инженеры-программисты? Некоторые из их повседневных задач включают в себя:

  • Написание, модификация и отладка программного обеспечения.
  • Проектирование и разработка компонентов приложения.
  • Тестирование и документирование программного обеспечения.
  • Анализ требований и преобразование их в технические проекты.

Каким инженером-программистом вы хотите быть? Например, вы предпочитаете работать с системами (например, операционными системами) или приложениями (например, базами данных, играми)? От ваших предпочтений будет зависеть, будете ли вы преуспевать в качестве инженера системного программного обеспечения или инженера прикладного программного обеспечения.

И все же этот вопрос — системы или приложения? — просто царапает поверхность. В оставшейся части этой статьи я перечислил краткие практические шаги, которые могут помочь начать вашу карьеру программиста уже сегодня.

Пройдите курс обучения программированию

Учебные курсы — это интенсивные, иммерсивные программы личного обучения, которые готовят вас к работе на полную ставку. Учебные курсы по кодированию часто длятся от одного до трех месяцев и обучают вас стать разработчиком программного обеспечения начального уровня.

Соберите портфолио

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

Внести вклад в репозиторий кода

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

Совершенствуйте свои нетехнические навыки

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

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

  • Политические навыки. В бизнесе часто нецелесообразно занимать позицию, что вы никогда не будете участвовать в «офисной политике». Конечно, вы можете быть одним из немногих счастливчиков, которые работают в среде, где политика не особо присутствует. Но в большинстве компаний политика является фактом бизнеса. Итак, рассмотрите возможность использования своего политического опыта и играйте в игру.
  • Коммуникативные навыки. Вы будете иметь дело с множеством нетехнических людей, поэтому вам придется говорить так, как они. Биз говорят. Не технический жаргон. Вы не должны предполагать, что если вы будете говорить о «программном обеспечении как услуге» (SaaS), например, с продавцами, они смогут вас понять.
  • Навыки решения проблем. Этот навык особенно пригодится вам не только в повседневной работе, но и во время собеседований в крупные ИТ-компании. Например, на собеседовании Microsoft на должность инженера-разработчика программного обеспечения кандидата спросили: Как бы вы протестировали лифт?
  • Навыки управления временем. Программные проекты печально известны проблемами, связанными со временем. Чтобы избежать нехватки времени и поздних запусков, я рекомендую вам выяснить, что работает для вас, чтобы быть максимально эффективным и продуктивным со своим временем.

Блаженство? Страсть? Давайте будем реалистами…

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

Автор Ли Боб Блэк.