Відповідь 1:

Тут ви можете отримати кілька різних визначень, оскільки термін «Системна інженерія» не визначений чітко і однозначно. Розробка програмного забезпечення - це створення програмного забезпечення. Це простий біт. Для мене різниця полягає в тому, що інженерія систем будує повноцінні системи, які часто містять елементи поза програмним забезпеченням. Можуть бути апаратні елементи, що включають / або електроніку, або механічні пристрої. Може навіть потрібна технологічна технологія. Дійсно, системний інженер може спроектувати систему без програмного компонента (хоча це все рідше) або систему, що містить лише програмний компонент. Завданням системного інженера є об'єднання цих різних компонентів у єдине ціле.

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

Ще одна думка - це системне програмування, яке є дуже спеціалізованою областю інженерії програмного забезпечення, що бере участь у взаємодії з апаратними засобами або ОС. Але більшість людей розрізняють "інженерію систем" та "програмування систем".


Відповідь 2:

Інженерія систем - це все про системи, які можуть не складатися з програмного забезпечення / програм, його документацію щодо системного аналізу (тобто, що будувати, як будувати, навіщо будувати), технічне мовлення, аналіз вимог, техніко-економічне обгрунтування, план побудови , зручність роботи та наскільки добре робота систем відповідає вимогам користувачів !!! Система побудована будь-якими способами і складається з нічого, крім програмних засобів, це означає, що система може бути виготовлена ​​з програмного забезпечення, а може і не бути, вона включає в себе посібники користувача, поради щодо усунення несправностей, архітектуру системи / філософія дизайну тощо. все, що стосується лише програмного забезпечення, тобто те, як готується програмне забезпечення, яке програмування потрібно використовувати, як визначається взаємодія користувача / інтерфейси. Система може бути пов'язана з будь-якими цілями, тоді як програмне забезпечення суто пов'язане з комп'ютером !!!


Відповідь 3:

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

Системний інженер, що спеціалізується на програмному забезпеченні ..., є інженером програмного забезпечення.

Яку спеціалізацію вказує пропозиція на роботу? Яку ділову діяльність підтримує робота?


Відповідь 4:

Інженер програмного забезпечення та системний інженер насправді мають багато спільного.

Обидва повинні розуміти основні вимоги бізнесу та підтримки дизайнерських рішень. Вони повинні обиратись прийомами та процесами з різних дисциплін при вирішенні складної проблеми або набору проблем. І від них, як очікується, вони принесуть кілька років досвіду роботи з різними мовами програмування на свої ролі, а також співпрацюватимуть із забезпеченням якості (QA) та апаратними інженерами.

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

Програмний інженер

Інженер програмного забезпечення ІТ розробляє та створює технічні характеристики для побудови програмних програм та повинен мати широкий досвід інформаційних систем. Інженери програмного забезпечення, як правило, працюють з QA та інженерами апаратних засобів для розробки планів тестування. Інші обов'язки можуть включати визначення методології розробки та документування вимог до програмного забезпечення.

Мінімальні вимоги до цієї ролі, згідно з посібником із заробітної плати Роберта Халфа, включають в себе ступінь бакалавра з інформатики, електротехніки, комп'ютерної інженерії або пов'язаної з цим дисципліни. Більшість кандидатів на розробку програмного забезпечення також мають досвід роботи в певних мовах програмування, таких як C # і C ++, Java або Visual Basic .NET. Необхідні мови програмування залежать від роботодавця.

Системний інженер

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

Мінімальні вимоги до освіти для системного інженера є дзеркальним відображенням вимог програмного інженера: ступінь бакалавра з інформатики, електротехніки, комп'ютерної інженерії або відповідної дисципліни. Як і системні інженери, інженери програмного забезпечення, як правило, мають багаторічний досвід роботи з декількома мовами програмування і здатні співпрацювати з QA та інженерами обладнання.

М'які навички особливо важливі для фахівців із системної інженерії, оскільки вони повинні вміти ефективно спілкуватися як з технічними, так і з нетехнічними користувачами. Багато роботодавців захочуть кандидата системного інженера, який має великий досвід роботи з конкретними апаратними та програмними системами, і здатність продемонструвати, що він / вона може розробляти, аналізувати та вирішувати проблеми ІТ на системному рівні.


Відповідь 5:

Інженер програмного забезпечення: Це стосується розробки програмних продуктів та їх обслуговування.

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