В чем разница между разработчиком программного обеспечения, программистом программного обеспечения и инженером-программистом? [закрыто]

Последние два года я работаю в ИТ-секторе в качестве «младшего разработчика программного обеспечения». При подаче заявления на новую работу я встречал такие названия вакансий, как «разработчик программного обеспечения», «программист программного обеспечения» и «инженер-программист», но требования часто кажутся почти идентичными. Есть ли разница между ролями, связанными с этими должностями?

По моему опыту, эти термины означают одно и то же и используются взаимозаменяемо.
Иногда зарплата программиста немного ниже, чем у разработчика/инженера, но, вероятно, это больше связано с компанией, чем с какой-либо общепринятой практикой. Возможно, из-за меньшей ответственности или из-за того, что работа заключается в более чистом кодировании — без встреч с клиентами, сбора требований и т. д. — в то время как разработчик/инженер может выполнять эти действия в дополнение к кодированию.
Помимо юридических последствий, это обычно выдает то, как компания видит людей. В более широком смысле это то, что вы можете использовать, чтобы понять, что такое корпоративная культура. Конечно, это всего лишь показатель среди многих других.
Этот вопрос кажется не по теме, потому что он касается терминологии. Различие между этими терминами субъективно и произвольно.
также см.programrs.stackexchange.com /q /4951
Взгляните на эти ответы: english.stackexchange.com/a/27299/14671

Ответы (2)

Вполне возможно, что конкретная компания может использовать эти названия для обозначения разных вещей и описания различных должностей в этой компании.

Но я не считаю, что между ними существует четкое различие, характерное для разных компаний.

Лично у меня были все три титула «разработчик», «программист» и «инженер» на разных работах, связанных с программированием программного обеспечения. Не было никакой связи между разными должностями и разной работой, которую я выполнял на этих должностях.

Не придавайте слишком большого значения названиям, просто взгляните на фактические требования и должностные инструкции.

Редактировать: как было указано в комментариях, звание «Инженер» имеет значение в некоторых странах, например, в Финляндии (спасибо Юхе) и Канаде (спасибо Догберту). Это не тот случай, когда я (Австралия), и не похоже, что это имеет место в США или Великобритании, где может иметь место более высокий уровень образования или опыта, но я думаю, что это не более чем следствие .

Инженер обычно относится к юридическому титулу, который требует какого-то экзамена после получения степени (по крайней мере, в некоторых странах), поэтому с юридической точки зрения инженер-программист является разработчиком программного обеспечения, но обратное не обязательно. Понятия не имею, есть ли в США такое различие, или оно принимается во внимание.
@Bakuriu В Великобритании я не верю, что у вас должна быть какая-либо квалификация, чтобы называть себя инженером. Это яблоко раздора для тех из нас, кто получил инженерное образование...
В Финляндии в инженерном дипломе конкретно указано (в переводе): «Получив этот диплом, вы имеете право использовать звание ______ инженера». Акцент мой.
В США моя должность когда-то была «Системный программист», а я занималась разработкой веб-приложений. Названия не имеют большого значения, если только одна компания не использует более одного. Тогда у вас есть хороший вопрос, который вы можете задать на собеседовании: «В чем разница между X и Y в вашей компании?»
@JuhaUntinen: Что поставить вместо _______? Что-то вроде ученой степени?
@ORMapper: «Электротехника», «ИТ», «Механика», «Химия» и так далее, в зависимости от вашей программы обучения.
В то время как в США «инженер», как правило, подразумевает более формальное образование, единственное время, когда существует фактическое письменное требование для этого, - это если вы являетесь «сертифицированным профессиональным инженером», что подразумевает, что вы сдали экзамен, подобный упомянутому @Бакуриу
@Liath Да, я считаю, что British Gas отправляет инженеров проверить ваш котел, и если они борются, они вызывают техника (очевидно, более престижное звание). Я слышал, что когда у вас есть докторская степень в области инженерии, использование этого титула только усугубляет страдания упомянутого сломанного котла. Я хотел бы добавить к драке свой бессмысленный (но все же довольно приятный) титул «консультант по программному обеспечению».
Хотя со временем это различие могло стать размытым, когда я поступил в колледж, я изучал «программную инженерию», что означало, что нужно было посещать занятия по формальному структурированию программного обеспечения, сложным программным системам (операционным системам и т. д.) и проходить лабораторные работы по разработке программного обеспечения. в командах и используя модули от других команд. Чтобы стать инженером-программистом, нужно было иметь высшее образование. Быть «программистом» может просто означать, что вы научились писать сценарии Excel VB, или это может означать нечто большее. Это более общий термин, но более узкий в отношении требуемых учетных данных.
Использование слова «инженер» в названии должности или слова «инженер» в названии вашей компании в Канаде является незаконным, если только ваш самый старший инженер или те, кто подписывает продукт, не являются зарегистрированными профессиональными инженерами (P.Eng.). apeg.bc.ca/For-Members/Professional-Practice/…
@Dogbert cheers, отредактировано, чтобы упомянуть Канаду наряду с Финляндией как страну, где «инженер» имеет реальное значение.

Теоретически разработка представляет собой весь процесс от принятия требований к планированию проекта до его выполнения, в то время как инженеры планируют технический дизайн программного обеспечения, а программирование — это выполнение этих проектов.

Но на практике разница между этими названиями незначительна. В реальном мире можно было бы ожидать, что человек, занимающий любую из этих должностей, будет охватывать весь спектр разработки программного обеспечения или будет сведен к тому, чтобы быть только кодовой обезьяной. Ответственность «старшего разработчика программного обеспечения» в компании А может быть даже меньше, чем у «младшего программиста» в компании Б.

Чтобы узнать, какую работу на самом деле влечет за собой должность, прочитайте между строк фактическое описание работы и какие навыки в нем указаны как требуемые. Или еще лучше: спросите их.

+1: я согласен. Фактически, термин «программист» применительно к этим ролям чаще всего является не чем иным, как свидетельством того, что высшее руководство понятия не имеет, что на самом деле влечет за собой разработка программного обеспечения.