Интернет. Железо. Программы. Обзоры. Операционные системы

Чем занимается разработчик. Кто круче: разработчик или программист? Профессиональные навыки и знания

Программер и девелопер Феликс в блоге своего имени разместил статью, в которой попробовал разграничить такие виды деятельности, как разработка и программирование. По его мнению, деление по уровням (junior, middle, senior) и ролям (front-end, back-end, админ) является недостаточным. Феликс предлагает различать разработчиков и программистов и учитывать этот раздел при найме специалистов.

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

Разработка программного обеспечения

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

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

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

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

Программирование

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

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

Как определить и кого выбрать?

Определить, кто перед вами, по мнению Феликса, довольно просто. На собеседовании стоит задать вопрос, не относящийся непосредственно к сфере деятельности потенциального работника. У специалиста по JavaScript спросите о Python и наоборот. Разработчик скорее всего не будет знать ответов, а программист погрузится в рассуждения.

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

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

Mobile-developer – IT-специалист, специализирующийся на создании программ для планшетов и смартфонов на iOS и Android. Так как мобильные приложения создаются путем программирования, mobile developer – это прежде всего программист, работающий в зависимости от платформы разработки с языками Java, Objective-C или Swift.

Какие перспективы у разработчика мобильных приложений?

Согласно исследованию портала Statista, в 2014 году в мире насчитывалось 1,57 млрд активных пользователей смартфонов, а на конец 2017 их количество достигло 2,32 млрд, увеличившись за этот период на 48%. Темпы прироста мобильных пользователей увеличиваются с каждым годом, одновременно увеличивается количество создаваемых приложений. Чтобы охватить растущую аудиторию, на рынке ощущается дефицит квалифицированных разработчиков.

Рынок разработки для мобильных устройств – золотая жила для многих сфер бизнеса. Тренды последних лет демонстрируют не только увеличение количества скачанных продуктов, но и рост продаж внутри приложений. Так, валовый доход компаний по разработке мобильных приложений ежегодно растет в среднем на 20%, и к 2020 году превысит 100 млрд долларов (данные App Annie).

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

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

Особенности профессии

Mobile developer специализируется на разработке программных продуктов для мобильных устройств.

Мобильные приложения бывают различных типов в зависимости от тематики и выполняемых функций. Есть развлекательные приложения (для изучения языков, чтения книг, путешествий, спорта), приложения для покупок (сегмент e-commerce) и отдельная категория – мобильные игры. Мобильные программы также классифицируются в зависимости от того, для какой платформы они предназначены (Android, iOS, Windows Phone или кроссплатформенные утилиты).

Профессия разработчика довольно новая, особенно на территории России и СНГ, поэтому пока не выработаны конкретные требования к этой категории специалистов. Согласно анализу вакансий многий IT-студий, от разработчика требуется разбираться как в программировании, причем и frontend и backend, так и в дизайне пользовательских интерфейсов и верстке.

Плюсы и минусы профессии

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

  • Достойный уровень оплаты труда. На рынке наблюдается дефицит квалифицированных разработчиков, что сказывается на уровне заработной платы. Сегодня mobile-developer в Москве и Санкт-Петербурге зарабатывает на треть больше, чем, например, php-программист. Средняя зарплата разработчиков мобильных приложений в Москве составляет от 60 до 250 тыс. рублей, в среднем по России – от 40 до 150 тыс. рублей.
  • Интересная и увлекательная профессия. Технологии стремительно устаревают, поэтому чтобы оставаться на вершине мастерства, программисту необходимо совершенствоваться, быть в курсе новинок IT-индустрии, постоянно пополнять багаж знаний и умений. Постоянный поиск информации на форумах и специализированных площадках, анализ больших массивов информации держит мозг в тонусе.
  • Перспективы карьерного роста. Для хорошего Java-разработчика программы– не конечная цель. Он может успешно развиваться, осваивая технологии искусственного интеллекта и интернета вещей (internet-of-things).

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

Необходимые навыки и личные качества

Для того чтобы разрабатывать серьезные продукты, необходимо:

  • Знание ООП (Java, Objective-C, Swift);
  • Знание Java Script, HTML, SCC;
  • Опыт работы с шаблонами проектирования (design patterns);
  • Знание SQL и сетевых протоколов.

Чтобы и дальше прогрессировать в сегменте мобильной разработки, придется углубиться в Computer Science, алгоритмы, структуры данных. Профессиональный разработчик также должен понимать философию пользовательского интерфейса и пользовательского опыта (UI/UX), чтобы не просто писать программы, а делать полезные и удобные в использовании продукты.

Личные качества

  • Настойчивость и упорство;
  • Любознательность;
  • Стрессоустойчивость;
  • Многозадачность;
  • Нацеленность на результат.

С чего начать знакомство с разработкой мобильных приложений?

Новичку советуем начать с основ объектно-ориентированного программирования (ООП). В сети выложено множество обучающих материалов и видео-туториалов по этой тематике. Исследование ООП лучше проводить на примере конкретного языка, Java или Objective-C. Мы рекомендуем Java, так как это не только язык android-программирования, но одна из основных платформ для создания программного обеспечения.

После того как вы ознакомитесь с основами программирования на Java, уделите время практике. Пробуйте программировать на новом языке, создавая программы разного уровня сложности. Как только вы почувствуете, что стали с Java на ты, переходите к следующему этапу – изучению особенностей разработки для мобильных платформ Android или iOS.

В сети можно найти множество курсов по основам созданию программ для iOS и Android. Рекомендуем следующие из них:

  • Курс мобильной разработки Стэнфордского университета;
  • Курс разработки для iOS на языке Swift Торонтского университета;
  • Курс по андроид-разработке Московского института физики и технологии (MIPT).

О том, что представляет собой процесс андроид-разработки, читайте в нашей статье:

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

Все мы знаем, что XXI век - это век современных технологий. С приходом в нашу жизнь сети Интернет, количество получаемой и передаваемой нами информации увеличилось в десятки раз. За этим увеличением последовало значительное прибавление в количество профессий, актуальных в современном мире. Оказалось, что в таком количестве возникших web специальностей не так то просто разобраться. В этой статье мы рассмотрим одну из важнейших профессий в сфере IT - профессию веб разработчика.

Что входит в основные обязанности?

В обязанности разработчика web приложений входит достаточно широкий круг обязанностей. Помимо процесса разработки сайтов или приложений, сотруднику придется также общаться с клиентами, понимать и воплощать в жизнь их желания. После того, как специалист уточнил все пожелания клиента, он приступает к подготовке технического задания. Чем тщательнее составлено тех.задание, тем насыщенней будет воплощенный в жизнь ресурс. Далее следует непосредственно процесс разработки сайта. На этом этапе веб разработчик должен применить свои навыки владения языками программирования. Стоит упомянуть также о том, что дизайн сайта веб разработчик зачастую создает самостоятельно, хотя можно и прибегнуть к помощи web дизайнеров. Итак, сайт готов к использованию, теперь специалист должен презентовать его своему клиенту, для этого требуется продемонстрировать заказчику, что готовый продукт полностью соответствует его изначальным требованиям. И, в заключение, можно сказать о том, что в обязанности разработчика также входит поддержание актуальности сайта, путем постоянных его модификаций.

Итак, для того чтобы стать представителем этой профессии, нужно обладать рядом важнейших навыков:

  • умение общаться с людьми, нужно убедить клиента в том, что именно ваш продукт идеально подойдет для выполнения поставленных им задач
  • владение различными языками программирования, стремление постоянно совершенствовать свои навыки. Хороший специалист должен владеть как минимум тремя самыми актуальными языками программирования.
  • владение навыками web дизайна. Эти умения значительно поднимут вас в рейтинге по сравнению с другими специалистами
    -стремление постоянно быть в тренде. Вы должны следить за обновлениями и новшествами в IT сфере.
    -Умение обрабатывать много информации сразу. Востребованный веб разработчик обычно занимается сразу несколькими проектами одновременно

Где работают представители этой профессии

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

Тут же сразу возникает вопрос: чем отличается программист от разработчика? Ответ на него достаточно прост. Разработчик - это человек, в обязанности которого, как мы уже выяснили, входит очень широкий спектр различных обязанностей. Разработчик зачастую должен создать что-то новое с нуля. То есть не просто написать код, а создать архитектуру будущего сайта, его дизайн и концепцию. Web программист же - это человек, задача которого состоит в основном из написания различных кодов. Эта профессия в меньшей степени требует творческого подхода, тут скорее нужна высокая степень профессионализма и квалификации. Программист, как правило отвечает не за проект в целом, а за его небольшую часть, код к которой он должен написать.

Как стать веб разработчиком

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

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

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

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

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

Интернет - это почти 3,5 миллиарда пользователей и свыше миллиарда сайтов. Стремительное развитие информационных технологий привело к появлению профессий, о которых 10 лет назад никто даже не думал. Верхние строчки в рейтингах самых востребованных и высокооплачиваемых IT-специальностей занимает профессия .

В мире более 11 миллионов веб-разработчиков разного профиля и уровня. Однако, по данным CMS Magazine и «Рейтинга Рунета», 62% компаний и веб-студий остро ощущают нехватку кадров. Вот как они ответили на вопрос о дефиците сотрудников в сфере веб-разработки.

На сегодняшний день только четверть всех веб-студий устраивает количество их штатных сотрудников. Получается, программистов много, но всё равно не хватает. Почему?

Причин несколько:

  • 15,9% работодателей считают, что уровень образования потенциальных сотрудников не соответствует требованиям рынка (нет достойного портфолио, отсутствует опыт командной работы).
  • 15% компаний полагают, что на рынке в принципе мало квалифицированных веб-программистов, способных разрабатывать сложные проекты (особенно в регионах).
  • 7,3% компаний замечают, что многие специалисты веб-разработки предпочитают фриланс работе в штате.
  • 6,3% веб-студий полагают, что сотрудничества не получается из-за несовпадения зарплатных ожиданий соискателей с возможностями работодателей.

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

Взгляните, например, вот на этот график «Рейтинга Рунета».


Из статьи «Рынок веб-разработки остаётся рынком „ручного“ труда»

Разработчики-фрилансеры занимают довольно крупную нишу в дорогих проектах. Им достаётся 6% проектов стоимостью от 100 до 300 тысяч рублей и 8,3% проектов дороже 300 тысяч рублей.

Требуется веб-разработчик

Убедиться в востребованности профессии веб-программиста легко. Достаточно зайти на любой онлайн-сервис по трудоустройству.

Только в Москве почти полторы тысячи вакансий. Среди IT-компаний и веб-студий за хороших разработчиков идёт нешуточная борьба.

28,4% компаний ищут сотрудников с помощью job-ресурсов, 21,4% - через социальные сети и по рекомендациям, 16,2% признают достаточно эффективным раздел с вакансиями на собственном сайте и 12,7% хантят сотрудников «со школьной скамьи», то есть приглашают на стажировку талантливых студентов, отслеживают медалистов и олимпиадников, устраивают конкурсы для студентов и так далее.

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

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

Владимир Завертайлов, основатель и руководитель интернет-студии «Сибирикс»

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

Квалификация

Под веб-разработчиком работодатель обычно понимает универсального специалиста full-stack.

Full-stack состоит из front-end- и back-end-разработки. Разработчики front-end обеспечивают создание внешнего вида сайта (портала, проекта). Back-end-разработка включает в себя теневую сторону ресурса, то, чего не видно пользователю, изнанку сайта. Но, независимо от специализации, веб-программист должен знать полный цикл. Без этого невозможно представить, как тот кусок задачи, который ты реализуешь, будет интегрироваться с общим проектом.

На сегодняшний день стандартом веб-разработки (full-stack) является следующий комплекс знаний.

Вёрстка + браузерный язык программирования + серверный язык + язык для работы с базами данных + фреймворк(и).

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

  1. HTML / CSS . Это основы создания сайтов. Обучение идёт через практику: студенты разрабатывают сайт интернет-магазина, изучая параллельно свойства и возможности HTML / CSS.
  2. JavaScript - первый и второй уровни. Этот язык программирования призван сделать сайт живым: он взаимодействует с посетителем ресурса, реагирует на движения курсора, клики мыши и нажатия на клавиши. В первом курсе по JavaScript даются азы, во втором полученные знания закрепляются.
  3. Основы баз данных . Это 20 интенсивных видеоуроков о системах хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language).
  4. PHP - первый и второй уровни. Этот язык программирования входит в тройку самых популярных. На первом уровне студенты изучают принципы объектно-ориентированного программирования и учатся правильно использовать основные конструкции языка. Второй уровень позволяет отточить владение PHP до виртуозности.
  5. HTML5 и CSS3 . Эта связка даёт возможность верстать макеты, создавать и редактировать статические сайты. На курсе студенты проходят все этапы создания рекламного сайта для коммерческой организации.
  6. AngularJS / D3.js . Здесь студенты учатся работать с D3.js в симбиозе с мощнейшим фреймворком построения одностраничных веб-приложений Angular.js.
  7. Yii framework . Это один из самых популярных и востребованных фреймворков на PHP. На лекциях рассматривается базовый и продвинутый шаблоны приложения и разрабатывается аналог программы Evernote. В качестве домашнего задания студентам предлагается создать программу-календарь, которую впоследствии можно использовать в портфолио.

Полноценный кейс для портфолио можно составить во время двухмесячной стажировки от GeekBrains. На ней выпускники проходят весь путь от генерации идеи до реализации проекта и учатся взаимодействовать с командой. Также всегда есть шанс попасть на оплачиваемую стажировку с последующим трудоустройством в одну из компаний-партнёров GeekBrains или найти единомышленников для стартапа.

Сливки

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

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

Средняя зарплата веб-разработчика по стране - 60 310 рублей, в Москве - 75 270 рублей, в регионах - 46 790 рублей.

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

В индустрии разработки термины “разработчик” (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! Для связи с нами вы можете использовать .

Похожие публикации