Найти тему
All

8 основных видов программистов

Оглавление
Примерно так выглядит экран программиста
Примерно так выглядит экран программиста

На данный момент существует 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. В крупных компаниях здесь также разработка делится на 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);
  • Значительный багаж технических знаний (в первую очередь, связанных с отраслью, в которой программист работает).