Чем software engineer отличается от software developer
VirtualIreland.ru — Виртуальная Ирландия > Все об Ирландии > Работа в Ирландии > Software Developer vs Software Engineer (зарплата, обязанности, будущая карьера)
03.09.2015, 19:13
Кто то может подсказать, в чем разница между Software Developer и Software Engineer в Ирландий? Меня больше всего интересует:
— есть разница в зарплате?
— какие обязанности входять?
— будущая карьера. существует разница в карьерной леснице? Например если долгое время (несколько лет) работал Software Engineer могу пытаться получить работу как Senior Software Developer.
03.09.2015, 19:44
в чем разница между Software Developer и Software Engineer в Ирландий?
Обычно «Software Engineer», это больше человек, который больше багфиксит, занимается траблшутингом и всякой разной мелочью. Иногда пишет код.
Девелопер, пишет код, потом все остальное.
Тут в Ирландии вообще мне кажется что есть Java Developer, C++ Developer и Software Developer/Engineer (типо .NET, frontend etc.)
Выбирайте.
Если я не прав, кто-нибудь, поправьте.
03.09.2015, 21:07
Несогласен с первым определением. А «Principal Software Engineer» — это самый главный человек, который занимается всякой разной мелочью? 🙂
На практике разницы никакой нет. Вот вообще. Название зависит в первую очередь от того как должности именуются в самой компании. Ну и технический ВУЗ, строго говоря, выпускает инженеров.
— будущая карьера. существует разница в карьерной леснице? Например если долгое время (несколько лет) работал Software Engineer могу пытаться получить работу как Senior Software Developer.
Ну во-первых, название не гарантирует никакого роста. Всё в ваших руках.
Во-вторых, как и «software engineer» может пойти на другую работу под новым названием «software developer», так и наоборот. Таким же образом и может получить приставку «senior» к тому или другому названию. Чаще всего лет через 3-5, или после интенсивного поиска и умения себя продать.
03.09.2015, 21:23
Несогласен с первым определением. А «Principal Software Engineer» — это самый главный человек, который занимается всякой разной мелочью? 🙂
На практике разницы никакой нет. Вот вообще. Название зависит в первую очередь от того как должности именуются в самой компании.
Выскажу предположение, что в компаниях, которые исключительно прикладным софтом занимаются, а здесь расположены отделения по поддержке (Майкрософт, Гугл), может быть такое различие.
Видел, что в Интеле должности называются инженерами.
У нас в компании (небольшая, 50чел, занимаемся и софтом и железками), Junior, Software и Senior Software Engineer, дальше V.P. Software.
Сеньорская позиция подразумевает менторство.
03.09.2015, 21:30
Сеньорская позиция подразумевает менторство.
Зарплату Я бы сказал, опыт, а стало быть, ответственность и самостоятельность.
03.09.2015, 23:00
спасибо за комментариев 🙂
сейсас я работаю по временому контракту в университете в Великобританий как Software Engineer, хотя большей части времени я провожу в компанию с которым мы разрабатываем софтуер. вопрос в том, что контракт закончиться через некоторое времени и мне придется искать новую работу и сейчас просто пытаюсь разобраться с этими делами.
хотел также спросить как в софтуерных компаниях в Ирландий относяться, к специалистам имеющих некоторый научный background?
у меня просто несколько лет опыта как программиста в научном институте в РФ, и год с чем то в софтуерной компаний.
03.09.2015, 23:31
хотел также спросить как в софтуерных компаниях в Ирландий относяться, к специалистам имеющих некоторый научный background?
Научный background, как по-моему, это лучше если без него. Хотя иногда упоминают, что нужен опыт коммерческой разработки. Я отношусь к таким требованиям с непониманием — от инженера в первую очередь нужна голова. Процессу обучиться быстрее и проще.
Вы на job-сайты уже ходили, смотрели какие есть вакансии? Видели что-то подходящее? Интервью техническое пройдете?
04.09.2015, 04:58
Не знаю как принято в Ирландии, но обычно Software Engineer — это инженер-программист, который может быть занят применением азов компьютерной науки в индустрии (e.g. структуры данных, алгоритмы и прочее), а Software Developer — разработчик всяких графических интерфейсов, библиотек и приложений. В чем-то эти две профессии схожы, работал на обеих должностях и сказать что надо дифференцировать по особенному, как-то не корректно, я как программист сам выбираю своё направление чем мне заниматься, разумеется заранее предварительно обсудив это с начальством.
Alpine skier
04.09.2015, 10:07
В реальности разницы нет. Важно что вы знаете и чем конкретно занимались.
04.09.2015, 20:18
Вы на job-сайты уже ходили, смотрели какие есть вакансии? Видели что-то подходящее? Интервью техническое пройдете?
в научных организациях где я работал программистом занимался улучшение и программирование различных алгоритмов, обработка данных, визуализация данных с нейтронными спектрометрами и прочие.
я смотрел в Linkedin какие требования к программистам. Напримере в Google для некоторых позициях требуют магистратуру (у меня она есть), также требуют опыт работы с алгоритмами, базу данных, и security/encryption software development. В принципе все вещи, которые входять в моих интересах.
Что касается, технического интервью. На том месте, где сейчас работаю в Великобританий интервью заключалось в короткой презентации (с чем я занималься) и потом были вопросы в виде дискуссии. В Болгарий также проходил технических интервью, но там меня не устрайвали условия, которые мне предлагали. К сожалению, никогда не проходил интервью в больших компаниях как напримере Google.
Вы не подскажите, в больших компаниях как проводиться интервью тест или просто беседуют с тобой, или и то и другое)?
sveleshki добавил 04.09.2015 в 21:27
Software Engineer — это инженер-программист, который может быть занят применением азов компьютерной науки в индустрии (e.g. структуры данных, алгоритмы и прочее), а Software Developer — разработчик всяких графических интерфейсов, библиотек и приложений.
Мне понравились ваши определения 😀 то, что сказали на счет Software Engineer входить в моих задач + непосредственного программирования приложений только без GUI интерфейса .
15.09.2015, 13:04
Вы не подскажите, в больших компаниях как проводиться интервью тест или просто беседуют с тобой, или и то и другое)?
Бывает по-разному от компании к компании и от менеджера к менеджеру. Типично и то и другое, и даже по несколько раз.
Alpine skier
15.09.2015, 13:17
Я примерно припоминаю на своих работах:
Engineer -> Engineer -> Developer -> Developer -> Developer и вот на новой снова Engineer будет 🙂
Это больше от балды название, мне кажется.
15.09.2015, 21:40
Бывает по-разному от компании к компании и от менеджера к менеджеру. Типично и то и другое, и даже по несколько раз.
Спасибо nexus! Хотел у вас спросить, Вы бы могли порекомендовать какие то англоязычные сайты, которые содержать тесты и задач для технического интервью? Я понимаю, что можно написать в google и начинать читать страницу за страницу ну там бывает иногда просто куча мусора или сайты для которого надо платить незная, что внутри содержиться.
sveleshki добавил 15.09.2015 в 22:54
Engineer -> Engineer -> Developer -> Developer -> Developer и вот на новой снова Engineer будет 🙂
Спасибо за ваших коментариях по моей теме «Software Developer vs Software Engineer ….». Я также увидил Вашу тему «developer (IT) job, контракт или перманент», которую думаю можно сказать очень схожей с моей темой. Коротко сказанно: Куда идти программисту в будущее и как лучше стройт свою карьеру?
Мне интерестно в софтуерных компаниях есть, что то вроде personal development budget, который программист решать как тратить на свое развитие (кончено в сфере IT 🙂 )?
15.09.2015, 22:05
англоязычные сайты, которые содержать тесты и задач для технического интервью?
Муж недавно делал два теста в разные компании, одна в Нидерландах, обе использовали https://codility.com/
15.09.2015, 22:18
Муж недавно делал два теста в разные компании, одна в Нидерландах, обе использовали https://codility.com/
Спасибо большое :-D. Посмотрю его детайльно обязательно, пока только увидил, что там 14 дней безплатного доступа. надо попробовать себя протестировать.
16.09.2015, 09:58
Спасибо nexus! Хотел у вас спросить, Вы бы могли порекомендовать какие то англоязычные сайты, которые содержать тесты и задач для технического интервью? Я понимаю, что можно написать в google и начинать читать страницу за страницу ну там бывает иногда просто куча мусора или сайты для которого надо платить незная, что внутри содержиться.
В свое время искал aptitude tests, но так ничего хорошего и не нашел, а с техническими тестами/задачами попроще: например, Euler Project (https://projecteuler.net).
Могу порекомендовать такую книгу:
http://ecx.images-amazon.com/images/I/51F6Lwyq5JL._AC_UL115_.jpg (http://www.amazon.co.uk/gp/product/0984782850/ref=as_li_tl?ie=UTF8&camp=1634&creative=6738&creativeASIN=0984782850&linkCode=as2&tag=virtuirela-21)
16.09.2015, 23:32
В свое время искал aptitude tests, но так ничего хорошего и не нашел, а с техническими тестами/задачами попроще: например, Euler Project (https://projecteuler.net).
Спасибо большое 🙂 Книжка тоже хорошо выглядить почитаю .
vBulletin®, Copyright ©2000-2023, Jelsoft Enterprises Ltd. Русификация: zCarot, Vovan & Co
©2003-2023 VirtualIreland.ru
Не каждый программист может так себя назвать: кто такой Software Engineer и как им стать

Навыки и технологии в IT-сфере постоянно меняют нашу жизнь, а спрос на них постоянно растет. Еще 35 лет назад компьютер считался непонятной диковинкой. Сегодня многие люди не могут представить себе жизнь без ноутбука и смартфона. И попробуй только не оплати счет за интернет — точно наступит конец света.
Стратегічний курс від laba: Business English для фінансистів.
Завоюйте світовий ринок.

Немного о Software Engineer
Редакция Highload публикует перевод материала.
Перевод от
Информационные технологии просачиваются во все сферы нашей жизни. К примеру, представьте себе электронную торговлю или доставку еды без гаджетов и интернета. Нереально же, правда? Заказать блюда из любимого ресторана сегодня проще простого: открыли приложение доставки еды, один клик — и через полчаса заказ уже будет у вас на столе.
Действительно, сфера IT затронула почти все — от каршеринга до оплаты счетов, от онлайн-развлечений — до медицины и машиностроения. Кроме того, благодаря этому постоянно расширяется список профессий, по которым можно работать на удаленке.
Інтенсівний курс від laba: Фінансовий директор.
Ефективне фінансове управління компанією.
Скорость развития информационных технологий также связана с относительно низким барьером входа. Кто угодно может изучить основы, освоить один из языков программирования и создать революционную программу, которую быстро подхватят пользователи. Начать изучение программирования можно на курсе от наших друзей – тут.
Если взять, к примеру, машиностроение, там довольно трудно создать нечто грандиозное, не имея за плечами многолетнего практического опыта и технического образования.
Когда речь заходит о работе в IT-сфере — вариантов уйма. Мы решили рассмотреть одно из самых популярных направлений. Инженер ПО или Software Engineer работает над созданием программ и приложений.
И самое интересное — далеко не каждый, кто занимается программированием, может сказать, что он инженер.
Чтобы добиться карьерного успеха в инжиниринге ПО , нужно изучить требования. В целом здесь нужны навыки специалиста по вычислительной технике, чтобы решать инженерные задачи, но сперва поговорим о самом главном.
Карьерная лестница Software Engineer
Прежде всего нужно прояснить один вопрос. Многие не понимают разницы между инженером ПО и программистом. Люди путаются в этих определениях, и в итоге всех айтишников называют «программистами». Разберемся, в чем же разница:
- Программист. На самом деле, как бы заезженно это ни звучало, программист — это человек, пишущий код. Обычно он получает конкретное задание и объяснение, как его решить. Он следует инструкциям и пишет код на том или ином языке программирования.
- Software Engineer. Цель инженера — создать оптимизированные аккуратные программы, которые можно обновлять и расширять их функционал. Например, инженер может искать оптимальные решения по разработке ПО . Карьера Software Engineer начинается с начального уровня (чаще это специалист по вводу данных). По мере набора опыта и знаний вы начнете накапливать портфолио проектов и решений. Со временем инженер переходит от джуниора к мидлу, а затем уже к уровню сеньора. Но продвижение по карьерной лестнице индивидуально и зависит от политики компании.
Добравшись до уровня сеньор, можно стать архитектором или тимлидом. Архитекторы, как и инженеры, тоже решают проблемы, но на более высоком уровне. Они работают над внутренней структурой и внешним интерфейсом программного комплекса. Найдя сложное архитектурное решение, они передают задание инженерам.
Експертний курс від mate.academy: IT Рекрутмент Вечірній.
Експертний курс від mate.academy: IT Рекрутмент Вечірній.
«Разумеется, Senior Software Engineer — не последняя ступенька карьеры в айти. Но здесь нередко бывает так, что приходится выбирать техническую часть, то есть больше сосредоточиться на инженерно-технических навыках и обмене опытом или же пойти в руководящем направлении. Во втором случае у нас есть такие должности как тимлид, менеджер по программному инжинирингу (Engineering Manager) и так далее. Коммуникационные навыки здесь куда важнее, поскольку ваша задача — обеспечить гладкий, бесперебойный рабочий процесс и продуктивность команды», — говорит Юрий Грушевой, директор информационных технологий в Proxet .
Специализация и обязанности Software Engineer
Теперь рассмотрим основные обязанности инженера ПО на разных уровнях.

Два состояния каждого программиста: «я — бог» и «я не имею представления, что делаю»
Начальный уровень
Когда вы делаете первые шаги в инжиниринге ПО, вам предложат тестирование, чтобы оценить ваши умения. А дальше, в зависимости от результатов, вас нанимают и определяют конкретные обязанности.
Ваши задачи могут быть какими угодно, но все они будут направлены на то, чтобы вы могли учиться и приобретать опыт. Очень часто придется работать с более опытными сотрудниками, которые будут следить за вашим прогрессом и делиться с вами знаниями. Имейте в виду: чем лучше будете выполнять задания, тем больше возможностей у вас появится в будущем!
Джуниор и мидл
Обычно при найме Junior Software Engineer главное требование — опыт. Для этого уровня наличие опыта — не столько бонус, сколько обязательное условие. На собеседовании вас первым делом спросят о том, есть ли у вас опыт работы на аналогичной должности или в этой сфере.
Тем не менее работа — не единственный способ набраться опыта. У вас могут быть и личные, и групповые проекты. Не лишними окажутся и семинары или курсы. Закончили школу инжиниринга ПО — тоже хорошо.
Помимо опыта, джуниор должен уметь работать автономно, без постоянного надзора более продвинутых специалистов.
Работодатель предполагает, что у вас есть базовые знания в сфере разработки ПО. У вас должно быть достаточно навыков, чтобы свободно работать со всеми инструментами, которые используются в программном инжиниринге.
То же самое касается и мидл-уровня, но с одним нюансом. На Middle Software Engineer возлагают больше обязанностей, и навыков у него должно быть больше (как технических, так и коммуникационных). Такой эксперт уже может выступать ментором для разработчиков начального и младшего уровней.
Сеньор
Как и большинство опытных специалистов, Senior Software Engineer должен выполнять свои непосредственные обязанности, а также вести и поддерживать команду. Здесь потребуются еще и коммуникационные, и управленческие навыки. Плюс умение активно слушать, хотя с этим связана не каждая должность в этой сфере. С другой стороны, вам доверят самые важные и сложные задания, поэтому и уровень ответственности значительно возрастет. Если вы доросли до сеньора, значит карьера в этой сфере у вас вполне сложилась.
Експертний курс від robotdreams: Product Manager PRO.
Керуйте продуктом на високому рівні.
Архитектор
Архитектор платформ должен сделать так, чтобы платформа выглядела простой и понятной для внешних пользователей. А чтобы этого добиться, можно воспользоваться, к примеру, интерфейсом прикладного программирования (API). В таком случае помимо организации процесса, вы будете участвовать еще и в проектировании API.
В основном ваша задача — выбор и реализация архитектуры , а остальное время вы будете тратить на анализ рынка и совместную работу с продакт-менеджерами.
Честно говоря, с такими навыками уже можно запросто открывать свой стартап.
Иногда времени на участие в разработке продукта не остается. Но архитектор все равно будет тесно сотрудничать со многими командами инженеров и разработчиков. К обязанностям могут добавить контроль разработки приложений и сервисов. Придется заниматься масштабированием, подбирать подходящие технологии и обеспечивать надежность и бесперебойность процессов. В этом случае Software Architect должен обладать творческим мышлением , иначе он не сможет решать сложные задачи.
Все, что нужно знать о начальном уровне Software Engineer
А теперь посмотрим, какие профессиональные навыки потребуются инженеру на начальном уровне.
Требования к навыкам здесь довольно непритязательны: наличие диплома бакалавра компьютерных наук, разработки приложений или ПО. На самом деле, любое образование, связанное с компьютерами, уже позволит вам претендовать на должность Software Engineer. Не лишним также будет желание учиться и расти.
Профильное образование тоже имеет большое значение. В некоторых областях здесь могут работать и самоучки (или те, кто закончил онлайн-курсы), но для программного инжиниринга этого мало. Разумеется, здесь тоже попадаются специалисты, которые до всего дошли своим умом, но для этого требуется особый тип мышления, настойчивость и огромное желание развиваться. В общем и целом это довольно нетипичная карьерная стезя.
Что же касается технических требований, то начинающий инженер должен мыслить логически и уметь анализировать, хорошо знать математику и компьютерные технологии, уметь документировать свои рабочие процессы.
И хотя это только начальный уровень, вам все равно понадобятся базовые навыки и знания. И помните, что при наличии приличного портфолио проектов у вас будет куда больше шансов устроиться в хорошую компанию.
Чего ждать: будущее профессии
У IT-сферы большое будущее. Можно даже сказать, что это будущее всего человечества. И разработка ПО — большая часть этой истории.
«Я всегда мечтал увидеть будущее»
- Спрос на опытных специалистов по разработке ПО будет только расти. Почему? Потому что весь современный мир работает на программном обеспечении.
- Все больше компаний задумываются об автоматизации процессов. По прогнозам Forrester, одного из ведущих исследователей конъюнктуры рынка, к 2023 году компании потратят на автоматизацию глобального маркетинга более 25 млрд долларов .
- Взгляните на развитие искусственного интеллекта, интернета вещей, облачных технологий, блокчейна, комплектов инструментальных средств разработки, или даже прогрессивных веб-приложений. Все это так или иначе связано с разработкой ПО. К примеру, в отчете Ericsson Mobility Report сказано, что к 2024 году количество подключенных к сети устройств превысит 22 млрд.
- По данным Бюро трудовой статистики США , к 2026 году отрасль разработки ПО резко вырастет.
Большинство экспертов уверены, что у этой сферы большое и светлое будущее.
Примеры должностей
Давайте посмотрим, какие должности могут быть востребованы в этой сфере:
- Chief Technical Officer (CTO);
- VP of Engineering или Director of Engineering;
- Delivery Manager;
- Chief Architect;
- Software Architect;
- Engineering Project Manager или Engineering Manager;
- Technical Lead или Engineering Lead;
- Principal Software Engineer;
- Senior Software Engineer;
- Software Engineer;
- Software Developer;
- Junior Software Developer;
- Intern Software Developer.
Теперь у вас есть полная картина, и вы будете знать, с чем доведется столкнуться в мире разработки ПО, если вы решите двигаться в этом направлении.
Разница между разработчиком и программистом

Несколько лет назад на вопрос «кем ты работаешь?» можно было многозначительно двинуть бровями и сказать: «компьютерщик». Этого было достаточно. Объяснять тонкие материи неподготовленным людям, которые в лучшем случае могли похвастаться строчкой в резюме «Уверенный пользователь ПК» было лишним, так как породило бы только ещё больше вопросов. Но времена меняются, грамотность повышается, и теперь, когда «уверенный пользователь ПК» стало атавизмом, за ним же последовало и некогда универсальное слово «компьютерщик».
У профессий программиста и разработчика много общего, да и в быту эти слова часто используют как синонимы, но разница, хоть и не всегда заметная, есть. Иначе почему вообще появились такие понятия как software developer, computer scientist и programmer?
Программирование
Сегодня нет четко прописанных правил, кого называть программистом, а кого — разработчиком. Поэтому нет иного выхода, как обратиться к истокам.
Компьютеры, интернет, мобильная связь, а также масса других прекрасных вещей, которые сегодня являются достоянием общественности, если и не изобретались военными, то рано или поздно попадали под их чуткое крылышко и кураторство. Если что-либо может летать, стрелять, взрываться или защищать от аналогичных действий врага, вот вам бригада ученых. Распишитесь, получите. В высокотехнологический век солдату без ученого пришлось бы туго — ведь даже такие мелочи, как берцы и бронежилеты, впитали в себя множество технологических ноу-хау. Что уж говорить о программировании лазерных пушек и межконтинентальных ракет!
Первые компьютеры не представляли интереса для масс, поэтому основным локомотивом их развития были военные мужи, которые понимали, что быстрый счёт в итоге позволит побеждать в войне. Сложно представить себе, чтобы какой-нибудь одаренный фермер интереса ради задался целью и нашел средства на постройку у себя в сарае компьютера на 2500 ламп, который при этом был бы способен расшифровывать перехваченные немецкие радиосообщения, позволяя таким образом экономить на расшифровке сотни человекочасов. Зато легко можно представить, что подобным проектом озадачились британцы, выпустившие для этих целей в году самый большой компьютер своего времени — «Колосс».
Если бы не нужда, которая стимулировала государство находить деньги на финансирование, — неизвестно, на сколько десятилетий позже мы получили бы в своё распоряжение компьютеры и интернет. Так что кто ещё не успел, может мысленно поблагодарить государства-агрессоры, которые в огне войн рождали и продолжают рождать новые технологии.
И даже переместившись в будущее на пару десятков лет, всё еще сложно представить себе какого-нибудь Билла Гейтса, который собрал бы у себя в гараже компьютер длиной в 17 и высотой более 2.5 метров, который бы состоял из 765 тысяч деталей, синхронизировался при помощи вала и приводился в движение электрическим двигателем мощностью в 5 лошадиных сил — как Марк-1, разработанный несколькими гарвардскими математиками по контракту с IBM в году.
Слишком трудо- и мозгоёмким было это дело, поэтому исторически так сложилось, что кто компьютер строил, тот его и «танцевал». Компьютеров было мало — тех же «Колоссов» к концу войны работало всего 10 штук. Лишь через несколько лет начали появляться первые коммерческие модели — например, IBM 701 (в первый год продано 19 штук, или IBM 650 (в первый год продано уже 450 штук). Основными покупателями были научные лаборатории, авиакомпании, государственные институты.
И пусть даже с 1965 года американцы тысячами начинают выпускать PDP-8, который стоит «всего» 18 тысяч долларов — он имеет несовершенную архитектуру памяти, из-за чего немалое количество требовательных к ресурсам проектов на нём загнулось. Так что программировать в те времена было нелегко (привет железу) и совсем не так удобно и доступно, как сейчас. Людей, которые умели программировать, были единицы. Тех, кто мог на этом что-то заработать — ещё меньше. И всё это время за программистом вполне заслуженно держится слава «ботана», носителя одного свитера и завсегдатая библиотек. Экий вундеркинд не от мира сего, который занимается очень узкой областью, недоступной для масс.
Исторически так сложилось, что люди с мозгами, которые умели разговаривать с машинами на «ты», работали исключительно на военно-промышленный комплекс либо в науке. Отсюда истинный программист в историческом смысле этого слова — это человек, который пишет программы для оборонного/оружейного комплекса, для вычислительных мощностей в каких-нибудь КБ или научных институтах, программирующий роботов, ракеты для полёта в космос и так далее. Исключительно дела государственной значимости. Максимум инноваций. Денежный интерес либо отсутствует, либо занимает вторые места. Общественности не важно, сколько миллиардов долларов они отдали изобретателям за компьютеры и интернет, и точно также им не важно, сколько денег ушло на программу Аполлон. Зато теперь у каждого в кармане по компьютеру, а на Луне флаг и следы сапог. Никто не помнит богачей, зато все помнят инноваторов, потому что первые потребляют, тогда как вторые дают.
Разработка
Коммерческого программирования в чистом виде не существовало и не существует до сих пор — слово «программирование» здесь явно не к месту. Вот разработка — другое дело. То, что Microsoft, IBM, HP, Apple и другие компьютерные первопроходцы захватывали рынки и зарабатывали огромные деньги, не отменяло того факта, что в каждом новом продукте закладывался шаг вперёд. Они решали новые, нетривиальные задачи.
Был ли Торвальдс программистом? Разумеется. Ведь он написал ядро для Linux. При этом совершенно не важно, использовал ли он в процессе своей работы лучшие практики и методологии разработки (например, правильно ли называл переменные, оптимально ли использовал память, и так далее). Главное, что работает. Да и победителей не судят. Как не судят и Брендана Ейха — создателя JavaScript, хотя объективно есть за что.
Является ли гений и по совместительству начальник нулей и единиц, будучи даже умнее Торвальдса и Ейха, программистом, если он только и делает, что решает типовые задачи? Например, пишет интернет-магазины. Наводящий вопрос: человек, который служил в спецназе, но теперь работает охранником в магазине — это спецназовец или охранник? Многие охранники, дабы выглядеть лучше в своих же глазах, многозначительно потирая армейские татухи называют себя спецназовцами. Редко кто поставит рядом со своей профессией слово «бывший». Но лишь единицы признаются, что либо они потеряли квалификацию и поэтому работают в охране, либо они слишком круты для занимаемой должности, тем самым паля из пушки по воробьям.
Некоторые сегодняшние программисты как раз напоминают этого спецназовца, который явно не на своём месте и занимается исключительно зарабатыванием денег, спустив свой талант в трубу. Есть и другая, намного более многочисленная категория людей (99%), которые именуют себя программистами, на деле являясь разработчиками (в эту категорию также включены и быдлокодеры). Пишут и меняют свой или чужой код, общаются с заказчиком, клиентами, постоянно фиксят баги — потому что разработчик может позволить себе допускать их; работают не за идею, но за бабло: сегодня на одного дядю, завтра — на другого. Кто больше даст.
Как говорил один академик, — «Диссертация по философии должна заканчиваться революцией, иначе это не диссертация»; или, по-нашему, труд программиста должен заканчиваться технологическим прорывом. Иначе это не труд программиста.
И пусть не вводят в заблуждение записи в трудовой а-ля «инженер-программист первой категорииї». HR’ы сами не ведают, что творят, используя штампы исчезнувшей 25 лет назад страны. Достаточно лишь задать наводящий вопрос: «Над чем ты сейчас работаешь?». Потому что можно заниматься сколь угодно сложной разработкой с громоздкой и трудной для понимания архитектурой, напичканной массой зависимостей и мозгодробильных элементов, которая требует незаурядных умственных способностей. Но если это интернет-магазин, очередной высосанный из пальца «сервис», спам-робот или, упаси Иисусе, браузерная игра, и человек при этом в своё свободное время не занимается программированием, то дело пахнет разработкой. Как в словосочетании «разработка нефтяных месторождений».
Поэтому на вопрос «Кем работаешь?» более точным мог бы быть ответ «В душе — программист, но работаю разработчиком», «Я разработчик, но когда-нибудь стану программистом», или же: «Я разработчик, рублю капусту». Когда ситуация требует неточного и быстрого ответа, «программиста» можно понять, — все-таки разработчик в контексте ПО — слово относительно новое. Но и называть себя программистом, попивая сок на задворках аутсорса — себя обманывать.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
Подобається Сподобалось 3
До обраного В обраному 0
«Должности ничего не значат»: чем отличается разработчик от инженера?
Мнения двух технических руководителей компаний, которые рассказали, в чем разница между ролями разработчика и инженера.

В индустрии разработки термины “разработчик” (software developer) и “инженер” (software engineer) используются взаимозаменяемо. Если вы устраиваетесь на роль разработчика, вы, вероятно, будете проходить собеседование для обеих ролей.
Путаница тут возникает в нескольких ключевых областях — когда использовать название, кто пишет код и кто занимается сборкой, как лучше всего различить две роли и являются ли инженеры программного обеспечения “настоящими” инженерами, а также имеет ли что-то из этого вообще значение.
Почему название имеет значение?
Для новичков это может размыть границы при поиске работы. А это большой пул должностей: сейчас в Австралии доступно 1,200 объявлений для должности разработчика и 1500 объявлений для должности инженера .
Если у вас уже есть работа, и вы пытаетесь подняться выше или построить карьеру в программировании, это тоже важно для оценки доступного плана действий.
Вокруг этого вопроса ведется много дискуссий, а в этом посте на Reddit ответы отличаются от “никакой разницы” до более активных действий по изменению названия своей должности. Как написал один пользователь:
В моем письме о приеме на работу была указана должность “Разработчик ПО”, но однажды я изменил свою должность на сайте на “Инженер”. Это было два года назад, и никто до сих пор ничего не заметил.
И ничего изменится в скором времени. С развитием программного обеспечения количество должностей в технологии и инженерии будет только расти, поэтому мы решили, что пришло время поискать ответы.
Что говорят работодатели
Мы решили поговорить с двумя лидерами, чтобы обсудить тему и получить мнения с обеих сторон. Мы поговорили с Аароном Семпфом, главой отдела технологии в Tribal Melbourne, и Бреттом Рейвеном, CTO Big Red Group.

Аарон — инженер с опытом в структурированных системах и разработке. Он создавал свою команду и исследовал, какие роли предлагают компании. При общении с рекрутерами он обнаружил недостаток понимания различий ролей инженера и разработчика.
Бретт присоединился к RedBalloon в начале 2017, чтобы помочь в изменении продукта и создании плана технического развития. Затем он перешел в Big Red Group и руководит с технической стороны Redii и другими компаниями. Бретт изучал информатику в университете (поэтому он не инженер), но у него сильные команды инженеров в Lux Group и RedBalloon.
Разработчик или инженер
“Существует фундаментальная разница между ролями разработчика и инженера”.
Аарон: Хотя я обычно согласен с тем, что должности ничего не значат, существует фундаментальная разница между ролям разработчика и инженера.
Инженер
Разница между должностями легко прослеживается на примере их ролей и задач в цикле разработки. Однако в постоянно развивающейся творческой среде, в которой границы доступного сдвигаются всего-лишь при помощи JS-фреймворков, Markup-препроцессоров, фреймворков для языков и приложений, разницу между инженером и разработчиком становится сложнее различить.
Обычно инженер в любой сфере — это человек, который компетентен благодаря своему фундаментальному образованию и может применять научные методы для анализа и поиска решения инженерных проблем. Это означает, что у инженеров есть образование в принципах инженерии, и они создают решения, применяя инженерные концепции.
Разработчик
С другой стороны, разработчик мыслит более творчески и применяет паттерны и методы, о которых узнает в процессе самообразования, на работе, в книгах и блогах или курсах, посвященных более конкретным аспектам цикла разработки, а не научным методам или инженерным принципам.
Хотя пока я говорил только о разнице в образовании и методах инженеров и разработчиков, их роль в команде также отличается. Черты, которые я ищу в инженерах и разработчиках, могут немного отличаться, и хотя я даю им одни и те же задания, оцениваю я их по-разному.
Технические вопросы — это простой способ получить базовое представление об уровне и области знаний кандидата, но технические задачи и неоднозначные вопросы могут помочь отличить разработчика от инженера. Мой любимый неоднозначный вопрос — это простое математическое задание 6÷2(1+2)=?. Человек должен предоставить ответ и пояснение к нему.
Эта задача показывает образование кандидатов. Два самых распространенных ответа — это 1 и 9, но пояснение от кандидата показывает больше всего. Но действительно выявить кандидата с математическим или научным образование можно при помощи третьего, менее распространенного ответа.
“Уравнение нельзя решить из-за неопределенности”. Дискуссия с таким человеком показывает, что они хотят не просто предоставить немедленный ответ, но понять все на более высоком уровне. В инженерных задачах и математике высокого уровня неопределенности может не быть, но понимать цель уравнения и потенциальный эффект — это важно.
Настоящая креативность разработчика проявляется в технических задачах, например, в тесте, где кандидаты должны написать логику, которая примет входные данные и предоставит ожидаемые выходные данные. В таком тесте навыки разработчика проявляются при использовании паттернов в создании такой логики.
Не существует верного или неверного ответа — если решение работает, то оценка касается способности человека превращать инструкцию в работающую программу. Если человек демонстрирует способность мыслить творчески и придумывать логические решения модульных проблем, его или её можно назвать разработчиком.
Но если кто-то демонстрирует, что может применять научные и инженерные методы для создания всеобъемлющего решения на высоком уровне, а не только описывать работу многих модулей, этот человек — инженер.
Разработчик как инженер
“Я предпочитаю использовать категории junior, mid и senior, а разработчик и инженер — это одно и то же ”.

Бретт: Мне тоже кажется, что должности ничего не значат, а границы между ними размываются. Все мы слышали, как термины “разработчик”, “программист”, “инженер” и “кодер” используются на равных.
Традиционные определения размываются и исчезают. Количество людей, которые пишут код или платят за него, увеличилось за последние годы, так что в какой-то степени мы все недалеко ушли от “разработчиков”.
Другой тип категорий
Я думаю, что различия между разработчиками и инженерами лежат в области горизонтального мышления, находящегося между задачами, целями и бизнес-проблемами. Я предпочитаю использовать категории junior, mid и senior, а разработчик и инженер использую в качестве равнозначных понятий.
Я ожидаю от senior-разработчика целостного подхода. Они должны применять научный или инженерный метод во всем, что делают, и учитывать побочные эффекты своей работы. Junior-разработчики должны выполнять данные им задачи и концентрироваться на том, что они знают, а не пытаться знать все. Mid-разработчики должны переходить к более широкому видению влияния их кода, выполнять данные задачи, но начинать думать об архитектуре и бизнес-задачах более глубоко.
Для меня это вопрос профессионального развития, которое требует понимания ширины и деталей задачи, а не подробного описания каждой роли. Это касается людей и их способностей, а не традиционного описания работы.
Разница во мнениях
Аарон подводит итог своему мнению: “Разработчики внедряют. Они применяют свои таланты в определенной области или в конкретной среде, а не смотрят на картину в общем. Инженер создает архитектуру и всегда смотри на общую картину. Инженер может выполнять роль разработчика, но их главный фокус лежит в архитектуре, планировании и создании. На простой аналогии это можно показать так: работа в механике не делает человека инженером-механиком, а написание кода не делает человека инженером программного обеспечения”.
Бретт несогласен: “Аналогию механика и инженера лучше заменить журналистами и редакторами. Редакторы могут применять на работе больше навыков, полученных за годы работы. У механиков обычно нет возможности изучить необходимые дисциплины (математику, физику, материаловедение и так далее), чтобы создавать машины, которые они чинят”.
Заключение
Честно говоря, этому сложно подвести итог. Сложно понять, что означает каждая роль без информации о человеке, который размещает вакансию.
Почти все ответы говорят о том, что названия мало что значат. Лучше всего подвести итог может совет от Джейсона Руса, инженера по программному обеспечению в Sony Interactive Entertainment, который говорит, что все зависит от того, во что вы верите сами:
Термин “инженер” обычно означает создателя, процесс работы которого методичен и включает тщательное применение установленных паттернов и принципов.
Определенно существуют разработчики, которые подходят под этот термин, однако на деле формальное название ничего не значит. Инженер программного обеспечения — это не лицензируемая профессия, и компании часто эксплуатируют этот факт, предлагая его как преимущество для своих разработчиков, которое не зависит от работы самих разработчиков.
Я не считаю себя инженером, потому что работодатель говорит мне, что я такой. Я считаю себя инженером, потому что я себя таким полагаю. Я делаю так, потому что уважаю значение термина и каждый день пытаюсь жить согласно этому смыслу.
Если кто-то считает так же, то и он или она — это инженер.
Если вы думаете, что ваша текущая должность некорректна, работодатели наверняка с этим согласятся. Если это важно, можете поговорить со своим начальником и договориться об изменении названия. А если вы ищете новую работу, убедитесь, в какую категорию вы хотите попасть и потом задавайте вопросы человеку, который разместил объявление, чтобы узнать, что требуется на данной роли.
Если вы нашли опечатку — выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.