Рубрики
Uncategorized

Разработчик программного обеспечения против инженеров -программистов: поддельные или реальные

Из стола блестящего чудеса #1: «Разница между разработчиком программного обеспечения и программным обеспечением … Tagged с DevOps, Codequality.

От стола блестящего чудеса #1:

» Разница между разработчиком программного обеспечения и инженером -программистом совпадает с разницей между членом и половым членом ». — Неизвестно.

То, что вы собираетесь читать, в основном вращается вокруг моих личных мыслей, вычетов и необычного воображения.

Если у вас есть разные чувства, добавьте их в раздел комментариев и давайте оспорим!

Итак, сегодняшняя тема …

Лично это меня бесит. Каждый раз, когда я вижу статью по этой теме, мой эмоциональный банковский счет ограбит. Они все о SEO. Неуместные ключевые слова втиснулись в крошечные предложения, чтобы получить лучшие рейтинги. Нет намерения развлекать или просветить читателя. Иногда такие статьи могут быть даже совершенно неправильными.

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

Итак, давайте посмотрим, что вы чувствуете к тому времени, когда вы закончите читать эту статью.

Без дальнейших церемоний:

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

Тем не менее, некоторые компании рассматривают эти условия как названия рабочих мест.

Общая тенденция «программист-разработчик-инженер» идет по линии:

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

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

  • Наконец, инженер подразумевает, что вы настоящая сделка. Вы получили степень, имеете некоторые технические знания и предпочтительно опыт … и вы способны разработать программную систему (комбинация программных компонентов, которые создали ваши пионы, программисты). Ты как надзиратель. Вы можете увидеть большую картину. И вы обязаны четко объяснить эту «картину» вашей команде.

«Как правило, инженеры -программисты будут играть роль руководителей команд, находясь на фронте в работе с клиентами и принимают различные проекты для команды, работающей сзади». — Талха Васим, редактор технического контента в Invozone.

Кстати, это также может зависеть от страны, в которой вы находитесь. Например, во Франции вы можете назвать себя инженером, только если вы закончили инженерную школу, которая была признана Комиссией Des Titres d’Ingénieur.

«В Канаде термин« инженер »ограничен теми, кто сертифицирован провинциальной ассоциацией. Так что не каждый может назвать себя «инженером» в Канаде ». — Бриана Браунелл, основатель и генеральный директор в Purestrategy.

Другие предполагают, что это могут быть просто термины, созданные с целью маркетинга. Возможно, компании хотят, чтобы их списки занятости и должностные инструкции выглядели круто и привлекали больше кандидатов. Брилланте!

Хорошо, давайте погрузимся глубоко.

Вот некоторые…

По словам Фелима О’Доннелла, директора по операциям в Liberty IT, разработчики работают специально над доставкой программного обеспечения в пределах жестких параметров. Им не нужно видеть всю картину. Разработчики должны сосредоточиться только на задаче, которая была назначена им инженерами -программистами.

С другой стороны, говорит О’Доннелл, инженер-программист-это тот, кто принимает 10 000-футовый вид на разработанное программное обеспечение. Они общаются с другими заинтересованными сторонами, чтобы уточнить требования к проекту и постоянно ищут способы оптимизировать рабочий процесс. Они часто спрашивают себя: «Есть ли лучший способ сделать это?»

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

«Если вы не работаете в таком месте, как Google и преследуете эту престижную рекламу от« инженера -программиста 4 »до уровня инженера -программиста 5, какая версия названия программного обеспечения, в основном, указывает на то, как они сами думают о роли. » — Основатель Джастина Пинкар и технический директор достижимого.

Честно говоря, с названием инженера -программиста или разработчика в порядке. Что не хорошо, так это называется программистом. Люди, которые называют нас программистами, как правило, мелкие люди, лишенные каких-либо ИТ-знаний. Отвратительный. Как они посмели …

Я имею в виду, что вы проводите все эти годы, получив степень CS, работая элитным инженером -программистом (или разработчиком), только чтобы в конечном итоге его называли простого «программиста».

Да ладно, программирование было чем -то, что я сделал в своей комнате в 3:00 утра в возрасте 15 лет.

«Программная инженерия» — моя карьера, гл. Вроде как называть бухгалтера налогом или отцом по имени.

О, и, кстати, вы не являетесь реальным разработчиком программного обеспечения, если вы не работаете над Linux и имеете механическую клавиатуру с Rainbow Light от Razer.

«Зачем мне это нужно?» — Я слышу, как ты кричишь.

Что ж, внешний вид вашей работы определяет качество вашей работы. Если вы не знаете, теперь вы знаете.

» Сэр, это Венди. «

Знаю, знаю.

Я отвлекся.

Давайте посмотрим на факты …

По определению, инженер — это человек, который проектирует, строит или поддерживает двигатели, машины или конструкции.

Википедия описывает термин «инженер -программист» как человека, который применяет принципы разработки программного обеспечения, к проектированию, разработке, обслуживанию, тестированию и оценке компьютерного программного обеспечения.

Мастер на все руки.

«Я предпочитаю называть себя инженером -программистом, потому что это звучит более солидно и профессионально». — Джин Мал, технический директор Static Jobs

По определению, разработчик программного обеспечения — это тот, кто что -то разрабатывает — достаточно справедливо.

Что значит «развиваться» тогда?

Разработайте по определению, средства для роста или повод для роста и стать более зрелыми, продвинутыми или сложными.

Хорошо.

Посмотрим, что Википедия думает о разработчиках программного обеспечения:

Разработчик программного обеспечения — это человек, который создает программное обеспечение. Фраза «разработка программного обеспечения» часто означает больше, чем просто проектирование или написание программного обеспечения, это обычно означает кого -то, кто управляет проектом, или делает только основные вещи. Большинство разработчиков программного обеспечения по -прежнему возглавляют ведущий инженер программного обеспечения, который руководит проектом.

Черт, даже Википедия предвзята.

Хорошо, давайте немного обсудим программистов.

Мои два цента:

Если кто -то называет меня программистом, с которым я ассоциируюсь … пион … ленивый пион … ленивый пион в World of Warcraft.

Я думаю, что программисты также можно назвать младшими разработчиками. Их работа состоит в том, чтобы следовать плану, разработанному старшими разработчиками или технологическим лидером.

Интересный факт: программисты обычно проводят 90% своего времени либо в своем любимом редакторе кода, либо на переполнение стека на поиск исправлений. Остальные 10% их времени уходят в игру Fortnite.

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

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

«В наших программах обучения мы используем инженера-программист для описания учеников, которые будут работать над более сложными алгоритмическими проблемами и бизнес-решениями, которые более ориентированы на предприятие. Наши разработчики программного обеспечения работают над меньшей линейкой бизнес -приложений, мобильных приложений и веб -сайтов, которые требуют UX с более высокой степенью польского языка. » — Майк Робертс, генеральный директор San Diego Code School

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

Вот что мне кажется справедливым:

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

Они не «обезьяны, видят, обезьяны до» типа программистов каким -либо образом, но все же … они следуют набору четких инструкций. Иногда разработчики программного обеспечения также могут считаться разработчиками/инженерами с полным стеком.

Как было сказано ранее, инженер -программист и термины разработчика могут использоваться взаимозаменяемо.

Только для некоторых компаний или отдельных лиц они имеют в виду разные вещи.

Итак, когда мы рассматриваем зарплату, мы можем рассматривать один как младшего разработчика, а другой — старшим разработчиком или лидером технической команды.

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

Поскольку разработчики программного обеспечения занимают рейтинг выше программистов, мы можем назвать их старшими разработчиками.

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

Основываясь на Glassdoor, средняя зарплата младшего разработчика подводит итог около 63 502 долл. США в год.

Средняя зарплата для старшего застройщика составляет около 82 518 долларов за год.

А средняя зарплата технической команды в соответствии с Payscale составляет около 101 381 долл. США в год.

Поистине, одним из основных преимуществ быть инженера -программиста является получение зарплаты, которая ставит вас в топ -1% населения мира в отношении финансовой безопасности.

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

На какой -то момент в вашей карьере вы столкнетесь с задачами, которые вам трудно заполнить самостоятельно. Возможность внимательно слушать других членов команды, а не прерывать и делать парные программирование — Это то, что поможет вам установить должность хорошей разработчика/инженера программного обеспечения.

Вот три хороших правила, которые, как я полагаю, помогут вам стать лучшим разработчиком программного обеспечения и повысить вам рейтинг.

  1. Задавать вопросы.
  2. Никогда не многозадачная.
  3. Если вы хотите, чтобы результат составлял 10, протестируйте на 9 и 11. Неправильные результаты могут создать твердое решение.

По сути, кто -то, кто хочет, чтобы его считали инженером -программистом (старшим разработчиком или техническим лидером), должен иметь возможность получить трудные вещи, из которых все остальные работают.

Лучшее, что можно сделать, это, очевидно, получить степень бакалавра.

Это то, что большинство людей думают, по крайней мере. Если у вас есть время, деньги и терпение, вы можете также измерить немного дополнительного, чтобы получить степень магистра. Здесь вы можете найти некоторые из лучших школ разработки программного обеспечения.

Большая часть профессиональных разработчиков, опрошенная Stackoverflow, заявила, что их исследования были сосредоточены на информатике и разработке программного обеспечения.

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

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

Многие разработчики рекомендуют посещать онлайн -курсы или кодирующие лагеря. Это определенно может помочь вам получить вашу первую работу.

Обучение с помощью книг и выполнения онлайн -экзаменов также можно рассматривать как высокоэффективную практику для улучшения ваших навыков кодирования.

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

Вы также можете попробовать искать наставника.

LinkedIn, я полагаю, является идеальным местом для поиска наставника в 2020 году.

Вы просто должны выделиться среди типичного парня, ищущего наставника.

Если вы приземлитесь в почтовом ящике своего будущего наставника с сообщением, которое идет по линии: «Эй, дорогой Майк, я некоторое время следил за тобой, я люблю твои вещи. Я ищу наставника. Вы доступны? »… Скорее всего, вы не получите много ответов.

Вместо этого будь остроумным. В конце концов, вы инженер -программист.

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

Я нашел довольно некоторый успех в следующих строках:

«Привет, Майк. Я хотел представиться так, чтобы показать, что я был интересным, умным и остроумным — увы, я написал это сообщение вместо этого ».

А затем движется вперед, чтобы объяснить, почему вы отправляете им сообщение.

Конечно, это может не сработать с первого раза. На самом деле, если это работает в первый раз, я называю это чудом.

Справьте зубы и продолжайте отправлять сообщения. В конце концов вы найдете подходящего наставника. И когда вы найдете это, убедитесь, что вы переполняете. Будьте готовы работать бесплатно, чтобы поглощать как можно больше знаний и навыков (личные мысли).

Тем не менее, ваш наставник должен быть тем, кем вы хотите быть через 10 лет (в противном случае, какой смысл получить наставника?).

LinkedIn, хотя, может не всегда работать в вашей ситуации. В этом случае Google Up местных застройщиков в вашем городе.

Или пойти на семинары и не стесняться взаимодействовать с динамиками.

Или, может быть, пойти в университеты и найти там единомышленников. (Это может быть немного сложно из -за текущей ситуации с вещами Но вы поняли.)

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

Достаточно этого.

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

После того, как их схватки завершится, они продвигаются вперед со своими обычными задачами.

Программисты (или младшие разработчики), скорее всего, будут сосредоточены на кодировании.

Разработчики программного обеспечения (старшие разработчики) могут проверить команду, чтобы увидеть, есть ли у кого -то трудности с выполнением определенной задачи.

Инженер -программист (руководитель технической команды) может провести другие встречи, чтобы убедиться, что цели и требования проекта четко переданы команде разработчиков.

После работы они либо тусуются с друзьями, либо сидят на своих компьютерах, выполняют какую -то внештатную работу, смотрят видео на YouTube, слушают музыку или играют в Fortnite, пытаясь наконец обеспечить эту победу в 1 -м месте после их 47 -й попытки.

Их рутина перед сном состоит из аниме-видео, просматривающих аниме-видео (не все, я думаю, лол), чтения мотивационных книг, рекомендованных Опра, или прокрутки хакеровских новостей, прежде чем их глаза будут раздаваться.

Как прошло? Тебе понравилось это? Вы в ярости? Выполните свои мысли в комментариях ниже.

Быстрая реклама: и, конечно же, если вы ищете репозиторий классного исходного кода с упрощенным трекером проблемы и встроенным CI/CD, перейдите, проверьте Codegiant . Это бесплатно для небольших команд.

Оставаться без изменяемой,

Оригинал: «https://dev.to/codegiantio/software-developer-vs-software-engineer-differences-bogus-or-real-48ib»