Чим відрізняється архітектор програмного забезпечення, інженер програмного забезпечення та розробник програмного забезпечення (програміст)? [зачинено]


24

Я читаю статтю CNN про найбільш високооплачувану роботу в Америці. Архітектор програмного забезпечення вказаний як 1 . Інженер - програміст в списку № 9 . А розробник програмного забезпечення (програміст) вказаний під номером 35 . Я вважаю, що справедливо замінювати комп’ютера на програміста, правда?

До цього я завжди бачив "Інженерів програмного забезпечення" як назву для досвідчених програмістів та керівників команд. Але куди тоді вписується «Програмний архітектор» і що саме вони роблять? Я читаю описи CNN, але вони насправді не задовольняють мене, тому я припускаю, що я можу отримати більш ретельні та досвідчені описи із дивовижної бази користувачів тут.

Заздалегідь дякую за будь-які отримані відповіді.


1
У назв вакансій вже є багато пов'язаних питань , це може бути занадто локалізовано або дублювати.
Джош К

1
Вони здаються актуальними як потенційні дублікати: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… . Я не бачу жодної, яка все це зближує.
Адам Лір

9
Архітектору програмного забезпечення хочеться заплатити більше :-)
Стівен C

4
Гм, стрижка?
Павка

7
@Rob S, комп'ютер, НЕ розробник програмного забезпечення (програміст).
системович

Відповіді:


24

Попередження : випливають анекдотичні докази ....

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

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

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

Версія TL; DR :

  1. Програмний інженер часто є лише прославленим назвою "програміст", можливо, вказує на те, що він дещо старший.
  2. Архітектор програмного забезпечення, мабуть, приблизно відповідає керівництву команди високого рівня, який несе відповідальність за розробку загальної архітектури проекту.
  3. Директор програмної інженерії - менеджер проектів високого рівня, тип, який, можливо, звітує про найвищі рівні і, ймовірно, зовсім не торкається коду.

0,02 дол


22
Яке чудове ім’я користувача "Столи Бобі".
Джош К

2
що становить 0,02 долара ???
Sarawut Positwinyu

10
@Sarawut: "Мої два центи". Це просто означає "це моя думка". :)
Столи Бобі

7

Я дізнався це так:

  • Інженер програмного забезпечення - це той, хто знає всі аспекти процесу розробки програмного забезпечення (вимоги, специфікація, дизайн, архітектура, дизайн, реалізація тощо), щоб вони могли досягти управлінських завдань або працювати в будь-якому місці процесу, вдосконалювати його тощо.
  • Архітектор програмного забезпечення - це той, хто працює лише у фазі архітектури, яка після етапу проектування є найвищою технічною роботою, якій можна прагнути. Вам все одно потрібно програмувати, на відміну від Software Engineer, який може стати управлінням. Це також робота майстра-підмайстра.
  • Крім того, не порівнюйте з Computer Science, Computer Scientist може програмувати, але також може робити багато іншого, тому вони не обмежуються сферою програмування.

А як щодо "розробника програмного забезпечення"?
Адам Лір

Я дійсно не знаю, як визначити цю роль. Я думаю, що це програміст, але я не впевнений. Я мав на увазі сказати, що не варто порівнювати його з Computer Computer. Вибачте з цього приводу: s
Osukaa

"Комп'ютерний вчений" - це лише академічне звання, не більше і не менше. Більшість програмістів, де я працюю, - «Комп’ютерні вчені», тому що вони вивчали «Комп’ютерні науки» - предмет, де вони багато чого вчать, як працювати з цифровими системами та державними машинами, а також математикою за цим. "Комп'ютерна інженерія" - це професія, в якій "більше, ніж програмування", адже вони багато чого вчать і про фізику, і про електрику.
Ям Маркович

6

Тут, у Великому штаті Техас, багато компаній прагнуть ухилятися від терміна "інженер програмного забезпечення", тому що в Техасі ми ліцензуємо інженерів, а насправді існує таке поняття, як "Опечатаний" професійний інженер, програмне забезпечення ( http: // www .tbpe.state.tx.us / eng_req.htm ).

Я ніколи не зустрічав жодного, ні когось, кого я знаю. Звичайно, Гільдія інженерів дуже хотіла б обмежити конкуренцію, вимагаючи ліцензій на написання "привіт світ", але цього ще не сталося.

"Розробник програмного забезпечення" частіше використовується для особи, основна робота якої - написання програмного забезпечення.

Компанії також мають трохи легший час для вирішення питань Visa для "Розробників програмного забезпечення", а не для "Інженерів програмного забезпечення".

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.