Чи справді інформаційні технології інженерні? [зачинено]


13

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

Це змусило задуматися, і я спантеличився. Процент мого мозку погодився ще й тому, що в індійській армії немає такого предмета, як комп’ютерна інженерія в інженерному корпусі. Вони не розглядають програмування як інженерію. Це те, що я чув кілька років тому, я не знаю, що зараз думає індійська армія.

Які ваші погляди?


5
Мій погляд: Він просто заздрить тому, що вам платять більше: P
Simon

4
На мій погляд Архітектура не інженерна
hiena

@hiena - дійсно, юридично кажучи, це різні професії, і закон (залежно від вашої юрисдикції) регулює, що таке архітектура, а що таке інженерія.
Скотт Вітлок

Відповіді:


17

Якщо ми будемо слідувати цьому опису , ми 75% інженерів, або 75% з нас інженери :)

На відміну від інших інженерних дисциплін:

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

Я думаю, це зміниться в майбутньому. Колись ми будемо 100% інженерами.


Інженер

джерело: http://en.wikipedia.org/wiki/Engineer

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

Слово інженер походить від латинського кореня ingenium, що означає «кмітливість».

Професія

  • Імена інженера
  • Тип професії
  • Сектори діяльності Прикладні науки

Опис

  • Компетенції Математика, наукові знання, навички управління
  • Освіта вимагає інженерної освіти
  • Галузі зайнятості Дослідження та розробки, промисловість, бізнес
  • Супутні роботи Вчений, архітектор, керівник проекту

15

Інженерія програмного забезпечення - це інженерія, але ІТ або програмування - це не так. Це так, як машинобудування - це інженерія, а фізика чи зварювання - ні.

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

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


Ви маєте на увазі, що інженерія програмного забезпечення не включає програмування?
РПК

1
@RPK: важко сказати, оскільки я більше програмний виробник :) Але в основному я думаю, що програмування полягає в інженерії програмного забезпечення, що таке будівництво для цивільного будівництва. Перший закінчується в хаосі без останнього, а останній не має сенсу без першого, але обидва відносно виразні.
back2dos

@ back2dos: Я б схильний погодитися. Однак я думаю, що інженерам-програмістам майже треба знати, як кодувати, тоді як інженерам-інженерам не обов’язково знати, як зварювати.
Майкл К

1
Скажіть інженеру-матеріалісту або металургу, що зварювання не інженерне, і він буде заварювати вам рот :)
Vitor Py

@Vitor Braga: Який твій погляд? Я б дуже сподівався від хорошого інженера зрозуміти різницю між машинобудуванням і ремеслом. І мені також цікаво, скільки металургійних інженерів насправді зварюють на своїй роботі.
back2dos

14

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


1
100% погодились. Я працюю в критично-інфраструктурній компанії. Ми тут інженер .
Пол Натан

8

Як власне P.Eng., Я б сказав, загалом, ні. Однак я думаю, що і програмісти, і інженери роблять значну конструкцію . Якщо питання було: "Чи є дизайнери програмістів?" Я б точно сказав так.

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

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

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


Як ви думаєте, причина розробки програмного забезпечення не регулюється таким же чином, як інженерні галузі, через те, що ризик різний або відносна молодь програмування як професії? У таких додатках, як системи управління медичними приладами, військові системи та симулятори, схоже, що внаслідок помилок програмування може виникнути реальна шкода у світі. Або це непросте розмежування між розробником системи ракетного наведення та розробником системи облікових записів з точки зору уряду / галузі?
Aubreyrhodes

@aubreyrhodes - Я думаю, що в цьому випадку існує інший регулюючий орган для медичних приладів, тож вони можуть потрапити за межі сфери інжинірингу. Існує дуже сувора лінія, наприклад, між тим, що таке інженерія та що таке архітектура. Хоча програмування бере участь у багатьох завданнях, це не означає, що вам також не потрібна інженерія. Техніка не проектування; Інженерія говорить: "Я засвідчую, що ця конструкція відповідає нормативним рекомендаціям, використовую найсучасніші знання в галузі, не представляє надмірного ризику для громадськості, і я буду ставити свою кар'єру на цьому".
Скотт Вітлок

2

Я б сказав, що насправді більшість програмістів software mechanics. Я маю на увазі, більшість програмістів у галузі програмного забезпечення займаються не лише технічним обслуговуванням та виправленням помилок.


Думаю, ти плутаєш механіку з обслуговуванням.
Грак

@Rook: Але що в основному робить автомеханік?
Майкл К

@Michael - Мені більше до душі. англ. які займаються розвитком, порівняно з обслуговуванням.
Грак

3
@mhitza Ваша думка полягає в тому, що механіки програмного забезпечення не створюють оригінальні компоненти програмного забезпечення, а лише підтримують застарілі системи. Я сумніваюся, що програмісти MOST виконують лише таку роботу. Я б сказав, що програмісти MOST НЕ будують нові компоненти та системи регулярно.
Морган Херлокер

@Prof Plum: Mhitza правильний. Левова частка програмного забезпечення полягає в обслуговуванні, оскільки більшість успішних систем мають досить тривалий термін експлуатації. Я знаю людей, які займаються в цій галузі вже тридцять років, які ніколи не розробляли нічого важливого з нуля. Вони просто фіксують та змінюють існуючі бази коду.
біт-твідлер

2

Є деякі подібності щодо застосування навичок, але я твердо перебуваю в таборі "ні". Відмінність не складна - інженерні професії мають ради, які керують, які можуть називати себе інженерами на основі кваліфікації та досвіду. "Інженерія програмного забезпечення" такого не має (існують нові зусилля, але я не чув жодних наслідків щодо того, щоб не належати ні до кого). Будь-хто може назвати себе інженером програмного забезпечення, і звідси назва не говорить роботодавцю нічого про ваші можливості. Те саме стосується того, хто описує себе як "звукоінженер" - не хочу коментувати "Політ" або "Локомотив", тому що я не впевнений у платах для них.

Особисто я вчений-комп’ютер, який працює в академічному середовищі - я займаюся дослідженнями, я не просто будую. Я також провів кілька років у галузі, і свою роботу там я називаю "Розробка програмного забезпечення". Мені не потрібно робити вигляд, що я не є.

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


Згоджуйся! Я теж працюю вченим-комп’ютером в академічному середовищі, але понад двадцять років працював у дослідженні та розробці промислового програмного забезпечення, перш ніж приєднатися до моєї поточної організації. Я абсолютно ненавиджу, щоб мене називали програмістом. Програміст - це майстер, як і машиніст - це майстер. Різниця полягає лише в тому, що машиністи досить розумні, щоб платити за понаднормовий час.
біт-трейдлер

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

1

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

Все залежить від того, як ти на це дивишся.

Але чому це важливо. Зрештою, що в імені?


3
На жаль, багато. Ім'я як ідентифікатор не означає дуже багато, але якщо я скажу «виродку» своєму татові, він вважає «грубим», тоді як якщо я скажу своїм друзям, вони вважають «комп’ютерним генієм». Ім'я викликає зображення у слухача, і ви хочете, щоб це зображення було точним.
Майкл К

@Michael - Умм, це було не зовсім моєю точкою.
Грак

1

Наступного разу, коли хтось спробує вас принадити до теми, запитайте їх про такі завдання:

  • Інженер-локомотив
  • Льотчик
  • Аудіоінженер

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


1
Але насправді ці люди не є професійними інженерами (PE) та, отже, насправді не є інженерами.
Vitor Py

@Vitor Точно в тому, що лише деякі програмісти - справжні (сертифіковані) інженери.
Брайан Ноблеуч

1

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

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


1

Розробка програмного забезпечення - це інженерія.

Однак більшість людей, які називають себе програмними інженерами, не є інженерами. Багато хто з них не є програмістами та кодерами, які не обов'язково слідують інженерному процесу. У цьому немає нічого поганого, оскільки а) кодування є основоположним для інженерії програмного забезпечення, і 2) сама по собі є наукою. Але мати інженерний процес є основоположним для існування та роботи в якості інженера. Це одна група.

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

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

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

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

ps ... Я здогадуюсь, що Математик у вашій історії просто болить недопалок. У нього було це лайно глибоко в грудях, бо Бог знає, як довго, і ви були просто першим, хто випустив це на відкритому повітрі.


-1

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


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

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