Роль роботи: інженер програмного забезпечення

Автор: Laura McKinney
Дата Створення: 2 Квітень 2021
Дата Оновлення: 1 Липня 2024
Anonim
121 Інженерія програмного забезпечення
Відеоролик: 121 Інженерія програмного забезпечення

Зміст


Джерело: Dragonimages / Dreamstime.com

Винос:

Програмний інженер глибоко пов'язаний з життєвим циклом розробки програмного забезпечення та відіграє велику роль в успіху проекту.

Що робить інженер програмного забезпечення? Проста відповідь полягає в тому, що він або вона бере участь у розробці програмного забезпечення, у процесі застосування інженерних принципів до програмних продуктів.

Однак в описі дій інженерів програмного забезпечення в світі програмного забезпечення є дуже багато деталей і нюансів. Ми розберемося з цим, коли розглянемо "день у житті" програмного інженера, який працює над створенням всіх чудових цифрових речей, якими ми користуємося щодня. (Щоб дізнатися більше про роль від когось у цій галузі, перегляньте, як я дістався тут: 12 запитань із письменником та інженером програмного забезпечення Девідом Ауербахом.)

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

Щоб зрозуміти роль інженера-програмного забезпечення, корисно знати про життєвий цикл розробки програмного забезпечення (SDLC).


Життєвий цикл розробки програмного забезпечення включає різні ключові фази, які часто описуються як планування вимог, проектування, кодування, тестування, реалізація та доставка (надайте або зробіть кілька кроків відповідно до власних процесів).

"Програмне забезпечення починається з проблеми, яку ми намагаємося вирішити", - говорить Джон Квіглі з компанії Value Transformation LLC, описуючи звичайний життєвий цикл розробки програмного забезпечення, починаючи з того, що відбувається на початку процесу. "Це буде сформульовано у якійсь формі документа, і це результат інтерв'ю з клієнтами або людьми, які страждають від цієї проблеми ... У документі буде описано, як виглядає проблема, яка допоможе генерувати ідеї для порівняння з цим для вирішення. Це буде ціллю цієї роботи, визначаючи те, що ми намагаємось досягти ».

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


Потім є кодування: "Інженери програмного забезпечення напишуть конкретні заяви в код, які дадуть потрібний продукт, що відповідає конкретним вимогам", - говорить Квіглі про фазу кодування.

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

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

Ви не можете покращити свої навички програмування, коли ніхто не піклується про якість програмного забезпечення.

"У спритному світі справи виглядають набагато, але ітерації менші і тісніші", - каже Квіглі. "Ця вимога може вирішуватися через користувацькі історії, менш технічні за своєю суттю та більше письмові для розуміння програми, щоб інженери програмного забезпечення могли робити висновки та виводити ключові атрибути, необхідні на основі фактичного використання".

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

Оскільки життєвий цикл розробки програмного забезпечення має різні фази та операції, то є сенс, що робота інженера-програміста також різниться.

"Інженер програмного забезпечення відіграє більш широку роль, ніж більшість у створенні програмного рішення", - пише Самуель Малаховський, професор Рочестерського технологічного інституту. «У кожному елементі SDLC є фахівці: ПЗ та продажів на початкових етапах, архітектори на етапі проектування, кодери / програмісти для складання, КЯ для перевірки / тестування, ІТ для розгортання / обслуговування та менеджери проектів з руху та управління кожен член / фаза команди, але, як очікується, інженери програмного забезпечення широко застосовуватимуться до всього процесу. Враховуючи цю точку зору, кращим питанням може бути запитання, що не робить інженер програмного забезпечення. "

Ось ще один цікавий момент, який Малаховський розповідає про різницю між ІТ та інженерією програмного забезпечення, що багато що розказує про те, якою є робота середнього інженера-програміста:

"ІТ є оперативним і повторюваним, тоді як інженерія обертається навколо нових проблем, які потрібно вирішити як унікальні проекти", - говорить він. «ІТ-персонал набагато частіше шукає індивідуальні сертифікати на основі інструментів через таке повторення. Контраст із чимось на зразок комп’ютерної інженерії виглядає там, де виконуються вимоги - керівники секторів, як правило, зосереджуються на вирішенні проблеми з апаратним забезпеченням та програмним забезпеченням, яке його підтримує. ДП вирішують проблему за допомогою програмного забезпечення, за допомогою апаратного забезпечення ».

Інженер програмного забезпечення та проектні команди

У багатьох компаніях інженери програмного забезпечення групуються та делегуються ролями відповідно до їх участі у складному процесі.

Бреннан Мейгер описує приклад TeleTracking, компанії, яка займає заголовки в галузі інновацій у галузі охорони здоров'я в компанії Fierce Healthcare, Американському коледжі лікарів швидкої допомоги, управління даними про здоров'я, IT News Healthcare та інших місцях.

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

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

"Прикладом того, за що регулярно відповідають інженери програмного забезпечення, може бути: написання, налагодження, тестування блоків та тестові коди на всіх рівнях програм", - каже Меган. "Це включає передній (веб), середній рівень (веб-сервіси) та шари доступу до даних."

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

Потім з'явилася модель DevOps і об'єднала безліч ітеративних процесів, які були дуже конкретно окреслені і категоричні в звичайній моделі. Тож роль інженера-програміста змінюється. (Щоб дізнатися більше про DevOps, див. Менеджери DevOps Поясніть, що вони роблять.)

Це дає вам трохи продовжити, коли ви збираєтесь дізнатися більше про роботу цих центральних фахівців у виробництві програмного забезпечення. Програмний інженер був описаний як "армійський нож Швейцарії" в області дизайну та створення програмного забезпечення - і, в свою чергу, може носити багато шапок у зайнятій компанії.