О типах программистов: специализация и мотивация

9
70436
views

Программисты и их типы

Программирование давно уже стало крупной отраслью, объединяющей под одним названием множество разных профессий. Только далекие от сферы IT люди считают, что программист сможет им быстро установить Windows или «собрать простенький интернет-магазин». И очень удивляются, если оказывается, что человек никогда не работал с веб-сайтами или о системе Windows знает меньше, чем многие пользователи. Хотя бы потому, что сам пользуется Linux или Mac.

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

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

Front-end разработчик

Эти программисты специализируются на интерфейсах. Все кнопочки на экране, которые вы можете нажимать, выпадающие меню, и весь внешний вид сайта или приложения – их сфера деятельности. Т.е. Front-end – это работа над динамикой интерактивных интерфейсов. Кроме того, при отсутствии верстальщика от Front-end разработчика могут потребовать работу с HTML-кодом (верстку шаблонов).

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

Необходимо знать технологии:

  • HTML и CSS;
  • Различные фреймворки;
  • препроцессоры (SASS/LESS);
  • JavaScript вместе с библиотеками;
  • Системы отладки и сборки программ.

Также важно понимать, что такое адаптивная и мобильная верстка, изучить работу популярных CMS, разбираться в серверных технологиях и принципах бэкэнда, изучить основы SEO-оптимизации, работу с веб-шрифтами, уметь пользоваться Photoshop, Illustrator, другими графическими редакторами.

Фронтенд-разработчик

Back-end разработчик

Программист Back-end занимается созданием программно-административной частью проекта – он создает архитектуру, продумывает логику, пишет исполняемый код.

Такие специалисты работают в крупной или средней IT-компании. Вообще, разделение Front-end и Back-end – признак солидного проекта.

Может пользоваться самыми разными языками программирования, фреймворками и библиотеками. Самые популярные:

  • PHP;
  • Python;
  • Java;
  • Go;
  • Ruby.

Также обязательно нужно изучить JavaScript, MySQl, PostgreSQL и NoSQL.

Full-stack разработчик

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

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

Game Developer

Разработчик игровых приложений – это одно из крупных понятий. Обычно Game разработчики делятся на специализации: разработка декстопных, мобильных игр и MMORG.

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

Необходимые технологии:

  • C/С++. С# или другой язык программирования того же класса;
  • Java и библиотеки;
  • Open GL или DirectX;
  • Unity, Unreal Engine, Torque или другие игровые движки.

Android-разработчики

Android разработчик

Занимается приложениями для мобильных устройств под управлением ОС Android. В крупных компаниях здесь также разработка делится на Back-end и Front-end. Но в большинстве случаев Android-программисты изучают полный цикл создания приложения, после чего могут работать с любой частью проекта.

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

Необходимые знания:

  • Android Studio;
  • Java;
  • OpenGL;
  • Android SDK.

iOS разработчик

Создает различные мобильные приложения под iOS (ОС для устройств Apple). Выполняет функции, аналогичные описанию Android-программиста. Также востребован в стартапах, компаниях по разработке мобильных приложений и других подобных проектах.

О преимуществах и недостатках систем iOS и Android мы уже писали ранее. Оба направления одинаково важны и востребованы. А с опытом многие программисты учатся работать под обе мобильные ОС.

Что нужно знать iOS разработчику:

  • Swift или Objective-C;
  • CoreData;
  • XCode;
  • OpenGL;
  • Cocoa Touch;
  • CoreGraphics.

1C программист

Специалисты по работе с различными конфигурациями программного обеспечения 1С. В профессиональной среде к этой категории отношение двоякое. Многие разработчики язык 1С вообще не считают языком программирования, а специалистов по 1С – программистами. Но, тем не менее, именно так называют эту специальность. И в России она широко востребована.

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

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

Что должен знать 1С-программист:

  • Язык конфигураций 1С;
  • Типовые конфигурации (Бухгалтерия, Предприятие, Управление торговлей и т.д.);
  • Базы данных T-SQL.

Инженер-программист

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

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

А потому инженеры-программисты чаще всего заняты в сфере разработок программного обеспечения для автоматизации производства: станков с ЧПУ, конвейерных линий. Они же обычно программируют бытовую технику – хлебопечки, роботы-пылесосы и т.д. В компаниях, специализирующихся на создании программных систем, часто именно инженеры-программисты становятся разработчиками, так как в отличие от «кодеров»-самоучек, эти специалисты получили глубокие знания алгоритмизации.

Основные технологии:

  • Языки программирования C/C++, C#, Delphi и другие;
  • Знание низкоуровневого программирования (Assembler);
  • Значительный багаж технических знаний (в первую очередь, связанных с отраслью, в которой программист работает).

Мотивация программистов

Типы мотивации

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

Это могут быть:

  • Бизнес-мотивация (оплата, прибыль, репутация);
  • Технологии (возможность опробовать и внедрить что-то новое);
  • Решение задачи (поиск интересных вариантов решения).

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

Бизнес-мотивация

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

Технологическая мотивация

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

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

Решение задач как мотиватор

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

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

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

А как вы себя позиционируете? Какой тип программиста – ваш?



9 КОММЕНТАРИИ

  1. По поводу Инженеров — Программистов …не совсем точно отражено то , чем они занимаются !
    Поясню ))) Ни какой математики или физики не надо ! Здесь имеется в виду самый загадочный человек………. ( для вас разумеется , ибо вижу что тот кто это написал , совсем не понимает то , о чём пишет….) ……….И имя этому человеку — трудяга Советский Радиолюбитель ! А проще говоря — Электронщик.
    Вот кто этот человек. К стати в России это вообще то сленговое название. Вот кто это такой ! ( чоб вы знали )….
    А что знает электронщик ? Он понимает , что такое электронная схема и как она работает. И вот насколько глубоки его знания в области проектирования ( то есть создания ) электронных схем ( вот тут именно и нада знать физику и кучу законов Ома как для постоянного тока , так и для переменного , а от сюда и само собой математику ….(( а как же ! Как же ты будешь предположим без знаний математики расчитывать к примеру исходные намоточные данные для выходного трансформатора ЛАМПОВОГО УСИЛИТЕЛЯ )) ….И вот момент истины. Есть у тебя магнитофон скажем Вега 122. И вот ты бы хотел , что бы некоторые режимы его стали автоматическими. Ну скажем по окончанию перемотки влево , он должен остановиться и включиться на воспроизведение.
    Следовательно в магнитофон надо ввести ( на стадии проектирования ) какой то вероятно простенький процессор , который в свою очередь посредством простенькой логики «обвязки» ( логические микрухи ) во круг самого процессора будет управлять этим самым процессом — перемотка — стоп — воспроизведение. И теперь самое главное ! Процессор то само собой следует что ??? Правильно запрограммировать ! И вот электронщик , в конструкторском бюро , с утра попив чаю , садиться за комп , открывает свой любимый Ассемблер ( но это сейчас Ассемблер , а тогда при СССР было кое что другое , но это не главное ) ииииии……….что он делает ? Правильно ! Пишет на языке Ассемблера ту самую прошивку для процессора , с помощью которого магнитофон и будет выполнять такую функцию как перемотка — стоп — воспроизведение. Скажу сразу , именно эту функцию и кое какие другие и выполняет магнитофон Вега — 122.
    Но объяснялка будет не полной если я не скажу следующее. Программист ( инженер по вашему ) реально должен точно знать как устроен сам процессор , или контроллер ( не важно как его обзовут , суть от этого не меняется ) То есть точно знать назначение его «ножек» , ( его выводов ) да и вообще точно понимать и ЧИТАТЬ всю электронную схему. То есть на каком этапе прошивка дала единичку. А эта единичка появилась на какой то ножке процессора , а эта единичка попала на другую ножку логики обвязки ( это промежуточное звено между транзистором и скажем релюхой ) ..Логика обвязки дала единичку на базе транзистора , ну а сам транзистор в своей коллекторной цепи имея релюху , разумеется запустил срабатывание этой самой релюхи. И процесс перемотки ( скажем ) пошёл….Ну а дальше всё и так понятно. Но подчёркиваю …!!!! Понимать и знать как работает схема , на это уходят ГОДЫ !!! Это не шутка ! И справиться этим могут далеко не все ))))))))))) И как нас учили в СОВЕТСКОЕ время — это ПЯТЬ лет института ! И ни каких бакалавров или магистратур ! ПЯТЬ ЛЕТ и БАСТА !!!!!!!! И то далеко не все становились хорошими инженерами. Это ( как выясняется ) дано единицам ! Уж не обессудьте ..
    Ну вот как то так…………..

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

  2. Ну чё Господа ? Очканули опубликовать мой коммент ? Так вам и нада ! Вас Господа сайтописцев развелось как собак не резанных !
    А как разобраться в схеме скажем зажигания элементарного мопеда ( да да ! Именно мопеда ! ) И почему первые схемы были спроектированы не удачно ( там речь идёт об обратном ходе поршня , поскольку двигатель был одно цилиндровый , и именно из за этого схема была не удачной в первых моделях скажем мопеда Рига — 16 ) Вам видимо не суждено….
    А умение правильно читать схемы ( именно физику процесса работы схемы ) …..это вам не кака-зелябры писать. Но удивляет не это. Удивляет другое.
    Сколько же сейчас развелось НЕ компетентных людей , которые пытаются писать о том , о чём даже представления не имеют. Вы бы хоть для начала проконсультировались у какого либо СССР — овского инженера. Я привёл в пример схему мопеда ? Да именно его ! А говорить уже о сложных электронных системах — зачем ? Не вижу смысла. К стати многие сайто писцы даже представления не имеют как устроен сам процессор. Но нас на кафедре именно на это и натаскивали. Что бы мы понимали как устроены его «кишки». А следовательно и понимали как он работает и что означают эти самые преславутые команды. Хотя справедливости ради сказать , первые процы прошивались не программаторами , а на специальном оборудовании и они сильно боялись инфракрасного излучения. ( то есть его кристалл ). И ещё …нам профессор как то в шутку сказанул : «Хочешь красный диплом ? Спроектируй электронный указатель занятости туалета ! Будет самая полезная вещь ! А всё остальное от человеческой лени !…»
    Сделаю подсказку для программистов. Хочешь программировать в практически любом ЯП ? Мысленно всегда представляй перед собой друг за другом стоящих несколько обычных стёкл. На первом стекле будут команды какого то индивидуального языка прогр… На втором под этими командами будут другие команды самих разработчиков , а на третьем уже будут сами «нолики» и «единички» которые гуляют по ОЗУ шке …И всё станет на свои места…
    Вот так нам объяснял профессор…..После такого объяснения все и всё сразу всё поняли…Вот такой у нас гениальный преподаватель был. И почти у всех были красные дипломы.
    Удачи вам ! Школяры из 21 века ! Бай бай !

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

  3. Принято …..но и так же извинюсь и за свой собственный сарказм. А вообще хотелось бы пожелать Вам ребята упорства в решении задач , и ни когда не
    пассовать перед трудностями. Да , я старый «динозавр и монстр электроники» ( меня так часто называют в близком кругу ) Но ребят , уж не серчайте , но нас
    действительно так учили , и мы иной раз даже ночами не спали , что бы решить какую то задачу , потому как для нас это было делом чести. А иначе какой ты
    инженер ? Вот по этому я упорно твержу : «Только пять лет института ! И никак ни по другому !». И ещё , именно из нашей ( тогдашней СССР овской )
    «армии» именно РАДИОЛЮБИТЕЛЕЙ выросло очень много инженеров наивысшей квалификации ! Это правда. Потому как эти ребята выбирали себе
    профессию осознано , а не по принципу куда судьба занесла. Я могу назвать несколько имён , это к примеру Николай Евгеньевич Сухов ( гениальный
    разработчик , и главный редактор журнала Радиохобби ) , ну или к примеру Марк Давидович Ганзбург , А.Г. Соболевский , В.Т. Поляков , и многие другие…
    Я уж не знаю каким там политиком был В.И.Ленин , но его тезис «учится , учится и ещё раз учится » — есть истинная правда.
    Ребята , никогда не отступайте от поставленных задач. И если сегодня чего то не получается , то при извесной доли упорства , завтра обязательно всё
    получится. Пусть даже при этом будет исписан не один конспект и даже попалена не одна куча транзисторов и микросхем !
    ( к стати совет : всегда ведите лабораторный конспект с экспериментами , т.е. всё записывайте. Лишним ни когда не будет. Это касаемо самой электроники ).
    Знаете , что нам профессор однажды сказал ? Вот его слова :
    «Ребят , многие ищут смысл жизни…и люди веками пытались ответить на этот вопрос….и было написано не мало философских трактатов на эту тему..
    Но в действительности всё гораздо проще и прозаичнее…» ( в этот момент в аудитории воцарилась гробовая тишина ).
    И кто то спросил с места.
    — И в чём же ? На что профессор произнёс всего одно слово…
    — В созидании …
    На этом , больше вопросов профессору ни кто не задавал…
    Созидайте , творите , ищите , упорствуйте и всё получится….
    С приветом из СССР , всегда ваш….инж.электроник.

  4. Какой-то обиженный стон, а не статья. Что значит, что дебильный «кодер-прогер» может стать таковым самостоятельно, а инженер-программист получить образование не в состоянии? Что за бред? Что ему мешает самостоятельно освоить на должном уровне мат. логику, теорию алгоритмов, всю эту вот дискретку и сопутствующие дисциплины из циклов, составляющих собственно его образование?

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here