Ключова різниця: розробник програмного забезпечення є людиною, що займається аспектами процесу розробки програмного забезпечення. Їхня робота включає розробку, впровадження та тестування програмного забезпечення. Інженер-програміст, з іншого боку, є практиком розробки програмного забезпечення. Вони застосовують принципи інженерії до проектування, розробки, підтримки, тестування та оцінки програмного забезпечення та систем, що створюють комп'ютери або що-небудь, що містить програмне забезпечення.
Розробник програмного забезпечення є людиною, що займається аспектами процесу розробки програмного забезпечення. Їхня робота включає розробку, впровадження та тестування програмного забезпечення. Інженер-програміст, з іншого боку, є практиком розробки програмного забезпечення. Вони застосовують принципи інженерії до проектування, розробки, підтримки, тестування та оцінки програмного забезпечення та систем, що створюють комп'ютери або що-небудь, що містить програмне забезпечення. Отже, можна стверджувати, що робота програмного інженера має більший обсяг.
Розробник програмного забезпечення розробляє автономне програмне забезпечення, що є більш ніж простою програмою. Він залучається до всіх етапів розробки, проектування та кодування. Він бере участь у проектуванні, комп'ютерному програмуванні або управлінні проектами програмного забезпечення. Розробник може внести свій внесок у огляд проекту на рівні програми, а не на рівні компонентів або окремих завдань програмування. У групі 15-0000 Computer and Mathematical Occupations Major Group розробники програмного забезпечення можуть бути класифіковані в одне з трьох назв:
- 15-1131 Комп'ютерні програмісти
- 15-1132 Розробники програмного забезпечення, програми
- 15-1133 Розробники програмного забезпечення, системне програмне забезпечення
Робота розробника включає:
- Дизайн програмного забезпечення
- Фактична реалізація ядра (програмування, яка часто є найважливішою частиною розробки програмного забезпечення)
- Інші необхідні реалізації (наприклад, інсталяція, налаштування, налаштування, інтеграція, міграція даних)
- Участь у визначенні програмного продукту, включаючи аналіз бізнес-кейсів або розбіжностей
- Специфікація
- Аналіз вимог
- Розробка та вдосконалення викидних моделей або прототипів для підтвердження вимог
- Аналіз доцільності та витрат та вигод, включаючи вибір архітектури та рамки програми, що призводить до бюджету та графіку проекту
- Розробка документації, необхідної користувачам та партнерам з реалізації
- Тестування, включаючи визначення / підтримку приймального тестування та збір зворотного зв'язку від попередніх тестерів
- Участь у випуску програмного забезпечення та після звільнення, включаючи підтримку евангелізації запуску продукту (наприклад, розробка демонстрацій та / або зразків) та конкурентний аналіз для наступних циклів побудови / випуску продукту
- Технічне обслуговування