Типы программистов или кто есть кто?

Когда в нашу школу приходят новые ученики, мы задаем им вопрос: «а что ты хочешь делать со знаниями, которые получишь после обучения в нашей школе?» и многие дети и их родители не могут дать ответ. А самый главный вопрос – как применить полученные знания на практике и в какой-то момент обучения надо дать себе ответ на этот вопрос. Очень часто дети не видят всех перспектив программирования, многие слышали, что круто изучать Java или Python, а что с ними делать не думали. Сегодня поговорим об основных типах программистов, чем они занимаются, и, надеемся, многие ответят на вопрос, что же они хотят делать со своими знаниями.  

Game разработчики. 

Разработчики игровых приложений могут подразделяться еще на несколько категорий, например, мобильные игры, десктопные и MMORG (Массовая многопользовательская ролевая онлайн-игра или ММОРПГ (англ. Massively multiplayer online role-playing game). Эти люди занимаются разработкой игр с нуля, поддержкой и обновлениями.  

Ключевые навыки:  

  • Java  
  • Unity, Unreal Engine, и другие игровые движки 
  • С#, С++  

Разработчики мобильных приложений – Android или IOS. 

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

Ключевые навыки: 

  • Java 
  • Android Studio 
  • Android SDK 
  • Swift/Objective-C для IOS 
  • CoreGraphics 

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

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

Ключевые навыки: 

  • SQL 
  • PHP 
  • Node.js 
  • Python или Java, Go, Ruby 
  • JavaScript 

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

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

Ключевые навыки: 

  • HTML&CSS 
  • JavaScript + библиотеки 
  • Фреймворки 
  • Системы отладки 

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

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

1С программист. 

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

Ключевые навыки: 

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

Тестировщики

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

Ключевые навыки: 

  • Различные виды тестирования 
  • SQL 
  • Silk Test или Rational Robot 
  • Язык программирования 
  • Инструменты и библиотеки для автотестирования 

Системные администраторы. 

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

Ключевые навыки: 

  • Сетевая модель OSI 
  • Администрирование операционной системы 
  • PowerShell 
  • Сетевой мониторинг 

Development-engineer или инженер-разработчик. 

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

Ключевые навыки: 

  • Фундаментальные технические знания  
  • Математическое моделирование 
  • СУБД  
  • Низкоуровневое программирование (Assembler)  
  • C/C++, Delphi 

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

© 2020, школа программирования «Кодиум»