Ответы:
При приеме на работу мы ищем различие между кем-то, кто сможет помочь нам спроектировать нашу систему, определить процессы, создать технические спецификации, внедрить расширенный рефакторинг и т. Д., И кем-то, кто собирается помочь нам выполнить задачи программирования вне контрольного списка. , Я полагаю, что вы могли бы назвать первого программистом, а второго - программистом .
На самом деле дело за компанией, так как я не думаю, что существует правовая основа для принудительного исполнения деноминации или другой, или, по крайней мере, я не знаю об этом, и это может варьироваться от страны к стране (например, использование термина «инженер» на самом деле справедливо регулируется во Франции, но есть варианты, которые допускаются для «оскорбительных» случаев).
При этом общая тенденция выглядит так:
Программист позиция, как правило, один из профессиональных наняли , чтобы произвести код компьютерной программы . Это будет означать, что вы знаете, как писать код , можете понимать алгоритм и следовать спецификациям . Тем не менее, это обычно останавливается там с точки зрения ответственности.
Разработчик позиция, как правило , считаются супер-типом позиции программиста . Он включает в себя те же обязанности, а также способность проектировать и разрабатывать программный компонент , а также писать техническую документацию для него (включая спецификации). Вы можете - по крайней мере, технически - руководить другими (то есть, программистами), но не обязательно командой (наступает неясность ...)
Должность инженера обычно подразумевает, что вы разработчик, обладающий определенным типом ученой степени , обладающий определенными знаниями в области проектирования и способный проектировать систему (например: комбинация программных компонентов / модулей, которые вместе образуют единое целое) , По сути, вы видите более широкую картину , и вы способны разработать и объяснить ее и разделить на более мелкие модули .
Тем не менее, все это спорно , и , как я сказал, что нет никакого юридического требования , что я знаю в странах США / Великобритании . При этом во Франции вы можете называть себя «инженером» только в том случае, если вы из инженерной школы (признанной Комиссией по титрам инженеров или кем-то в этом роде). Вы не можете сказать, что у вас есть «степень инженера», но вы можете сказать, что у вас есть «степень инженера», если вы изучали дисциплину, которая подпадает под «инженерное дело и технологии».
Возможно, что в некоторых странах есть подобное различие, я просто не знаю.
Вернемся к названию разработчика программного обеспечения ... Однажды один из моих преподавателей сказал нашему классу - и это правильно - что на сегодняшний день не существует такого понятия, как так называемая "разработка программного обеспечения" . Поскольку проектирование чего-либо (будь то здание, транспортное средство, аппаратное обеспечение ...) означает, что вы способны представить его проект и все этапы его производства, а также с точностью предсказать ресурсы, которые вам понадобятся, и, таким образом, Стоимость продукции.
Это верно для большинства «настоящих» инженерных дисциплин. Конечно, есть колебания (например, цены на материалы будут меняться с течением времени), но существуют очень ограниченные теоретические модели (для проектирования и планирования) и эмпирические модели (в значительной степени для удержания любого из первых в рамках доступных ограничений) которые позволяют вам предсказать дату завершения проекта и использования его ресурса.
Основная проблема с программным обеспечением заключается в том, что его еще нет. Мы хотим стремиться к разработке программного обеспечения, но мы еще не достигли этого. Потому что у нас очень изменчивая и динамичная среда, очень изменчивые ограничения для проектов и все еще недостаточная зрелость в наших процессах. Конечно, мы могли бы сказать, что у нас это получается лучше (хотя и с жесткими данными), но мы занимаемся этим только с 60-х годов (более ранние проекты были фактически ближе к аппаратным компьютерам, таким образом, по иронии судьбы, ближе к реальному проектированию). ). Принимая во внимание, что мы производим моторные транспортные средства уже более столетия, транспортные средства вообще на несколько тысячелетий и строим еще больше тысячелетий (и на самом деле мы чертовски хороши в некоторых частях мира, заставляя вас чувствовать, что мы '
Мы не в состоянии систематически точно прогнозировать сроки , мы не в состоянии систематически точно прогнозировать расходы , мы не в состоянии систематически определять и снижать внутренние и внешние риски эффективно и детерминистически . Лучшее, что мы можем сделать, это создать достаточно хорошие предположения и приспособиться к некоторому буферу, прилагая все усилия для оптимизации процессов, чтобы уменьшить циклы и накладные расходы.
Но, может быть, это то, что такое инженерия. И это то, что, когда кто-то говорит о «инженере программного обеспечения», он должен думать и стремиться.
Так что это вряд ли взаимозаменяемо с простым процессом программирования или более продвинутым процессом разработки приложений.
Тем не менее, все зависит от тенденций. В последнее время довольно часто встречается горизонтальная команда разработчиков, где все в команде являются старшими разработчиками программного обеспечения (да, столицами, потому что это заставляет нас чувствовать себя особенными, не так ли?), Без реального различия возраста (достаточно справедливо, по моему мнение) и не так много различий в навыках (э-э-э ...) и обязанностях (теперь это не может быть хорошо, кроме чисто для пиара).
Это также иногда просто сила привычки и характерные для культуры и жаргона в данной отрасли промышленности, Больше позиций для производства встроенного программного обеспечения используют названия для разработчиков программного обеспечения. Главным образом потому, что это, вероятно, будет означать, что вам всегда придется иметь дело в определенной степени и с аппаратным обеспечением в этой области, поэтому вы, очевидно, имеете дело с другими аспектами производства и всей производимой вами «системы». Не только кусочки, сходящие с ума внутри. С другой стороны, вы не видите, как термин инженер используется на должностях по производству финансового программного обеспечения. Это либо потому, что является миметической эволюцией этой отрасли от одного из ее предшественников (скажем, встраиваемое проектирование уходит корнями в автомобильное машиностроение, например), либо потому, что они просто хотят более или менее приписывать / весить позиции.
И чтобы наверняка потерять всех в тумане, вы найдете и другие названия, смешивающие оба (например, «Инженер-разработчик программного обеспечения» или «Инженер-программист в тесте»!), А затем другие, подчеркивающие еще более сумасшедшие мосты с другими доменами ( подумайте о «Архитекторе программного обеспечения» и о том, как «архитектура программного обеспечения» может быть бесстыдной кражей словарного запаса). И продолжайте в том же духе: Релиз Инженер, Менеджер по разработке изменений, Инженер по сборке (он также доступен для ffaaarrrrrr) А иногда просто "инженер".
Надеюсь, что это помогло, хотя это не совсем ответ.
О, и это означает, что ваша новая компания либо пытается заманить вас новым названием, либо что они действительно не заботятся о названиях, или что вы действительно собираетесь занять должность более высокого уровня. Единственный способ узнать это - прочитать ваши рабочие характеристики, поговорить с ними и, в конце концов, дать ему шанс и судить самим. Я надеюсь, что это последний вариант, и что вы довольны им (и, возможно, заработаете больше). ;)
Инженеры-программисты - это люди, которые работают в компаниях, которые называют людей, которые пишут программное обеспечение для них, «разработчиками программного обеспечения».
Программисты - это люди, которые работают в компаниях, которые называют людей, которые пишут программное обеспечение для них, «программистами».
Есть также разработчики или разработчики программного обеспечения . Это люди, которые работают в компаниях, которые называют людей, которые пишут программное обеспечение для них, «разработчиками» или «разработчиками программного обеспечения» соответственно.
Таким образом, есть «Инженер-программист», «Программист», а также «Разработчик», «Кодер», и вы никогда не забудете «Эксперт по SOA».
Все это маркетинговые термины для людей, которые не могут сказать что-то значимое в своем резюме, например, их реальную роль (а не просто должность) на предыдущих должностях.
В объявлениях о работе разница сводится к кадровому персоналу.
Итог: каждый человек имеет свое собственное мнение о том, «что делает хороший работник, который работает с кодом», и некоторые любят ассоциировать такие и такие навыки с такими и такими названиями.
Что тебе необходимо сделать? Объявления о вакансиях должны содержать описание необходимых навыков, а резюме должны содержать подробную информацию об опыте кандидата.
Нет отличий Это одно и то же. Компании, однако, могут иметь формальные должностные инструкции, используя термины, и тогда может быть некоторое специфическое для компании значение этого термина.
Это действительно зависит от того, как компания определяет позиции. Может случиться так, что, как инженер-программист, у вас будет больше возможностей для принятия решений, в то время как разработчик предоставит вам UML-диаграммы, а вы напишете программу.
Но нет реального определения набора, так что на основе названия люди будут знать, что вы делаете, или насколько вы опытны.
Когда я был архитектором / разработчиком, меня звали программистом, но я бы просто сказал людям, что я программист, так как первые два определить нелегко, но большинство людей знают, что делает программист.
Если заголовок важен для вас, примите новый, так как инженер звучит выше, чем разработчик.
Я не думаю, что есть какие-либо «официальные различия», для моего опыта это может означать:
Кроме того, изменяются и модные термины ... Сначала термин был "программист", затем "инженер-программист", а теперь, похоже, "разработчик" ...
Лучше прочитать описание работы или кому-то в конкретной компании
В некоторых юрисдикциях «Инженер» несет с собой требование быть профессиональным инженером, то есть иметь P. Eng. Признание среди своих полномочий. Тем не менее, в других областях, возможно, не будет такой разницы, поскольку я был «инженером-разработчиком Softwere», работающим в штате Вашингтон несколько лет назад.
Инженеры-программисты, как правило, работают с очень большими системами, на разработку которых уходит много человеко-лет, например, от 5 до 16 лет. Программисты склонны иметь этот стереотип просто кодирования и ничего больше. Но это действительно зависит от организации, в которой вы работаете, и от того, как HR продвигает свою роль, как описано выше. По сути, это одно и то же. Только не слишком привязывайтесь к названию, потому что это синоним.