Russian

ТОП специальностей в программировании 2016

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

Объективно, самыми популярными на сегодня являются следующие специальности:

  •  Front-End
  •  Back-End
  •  Mobile Dev
  •  Embedded
  •  Game Dev
  •  Enterprise

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

Итак, начнем:

Back-End

1-min

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

Порог входа достаточно низкий, достаточно широкий рынок, на котором легко начинать (как я уже говорил) и есть куда расти. Но за счет легкости входа на рынок зарплаты в этом секторе самые низкие в индустрии. Долгое время все было оккупировано PHP. Разработчикам явно хочется чего-то большего, чего-то нового. Поэтому и идет попытка заменить PHP на Ruby, Python или на что-нибудь еще. Как вы понимаете — веб сейчас можно делать вообще на любом языке высокого уровня — в каждом есть соответствующие фреймворки.

Мобильная разработка

2-min

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

Вывод — на сегодняшний день этот сегмент смотрится как одни из самых привлекательных.

Front-End разработка

3-min

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

Плюс nodeJS который даёт фронтендщикам кучу возможностей. Бэк-енд разработчики могут написать REST-запросы на любом языке. Фротендщики могут использовать nodeJS для работы с серверным уровнем на чистом JS, выполняя необходимые функции через REST-запросы. Фронт-енд сейчас расширился на сервер, до границ UI на nodeJS, а остальная часть задач остаётся для бэк-енда.

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

Вывод — отличный выбор для новичка.

Но есть нюанс: потребность в дизайне и качественной верстке. Будьте готовы к тому, что Photoshop будет таким же часто используемым Вашим инструментом, как и любимая IDE.

Game dev

5-min

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

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

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

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

Enterprise разработка

6-min

Речь идет о разработке программ для крупных и гигантских компаний. В enterprise разработке вам придется столкнуться со следующим:

  •  Работа с огромным количеством сущностей. Это счета, документы, пользователи, товары, адреса, этажи, клиенты, какие-либо группы, списки типов, телефоны и прочая, и прочая, и прочая. Не очень большие системы содержат сотни и сотни таблиц. А то и тысячи.
  •  Огромные объемы данных. Терабайтные базы, гигабайтные файлы передаваемых данных.
  •  Эти программы никогда нельзя заморозить на уровне какой-либо версии – они «живые». Бизнес меняется постоянно и приложение должно ему соответствовать. А значит оно меняется вместе с бизнесом. Вряд ли вы видели компанию, которая не меняла свои бизнес-процессы годами – такие компании чаще всего исчезают достаточно быстро. Может и есть исключения, но разве что в государственных структурах. Для бизнеса такое положение вещей вряд ли возможно.
  •  Крайне консервативное отношение к используемым системам и фреймворкам. В enterprise вы практически не встретите софта, разработанного позднее, чем 5 лет назад.
  • Из-за наличия большого количества сущностей и постоянного изменения эти программы крайне запутанные. И их поддержка может превратится в головную боль не одной команды программистов.

Существует две платформы для Enterprise разработки — это .Net и J2EE.

.Net разработчика:

  •  Более низкий, чем у Java, порог вхождения.
  •  Одни из самых высоких на рынке зарплат. Выше только у Java;
  •  Отсутствие альтернатив в выборе средств разработки. Это облегчает разработку, хоть и лишает гибкости;

Java Enterprise разработка:

  •  Топовые зарплаты на рынке;
  •  Самый высокий на рынке порог входа;
  •  Наибольшая востребованность на рынке.
  •  Пожалуй самые сложные задачи;

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

Embedded разработка

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

В основном используются С++, Java и даже ассемблер.

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

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

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

 

Надеюсь данная информация поможет Вам сделать правильный выбор. Также советую посетить наш стриминговый сервис для программистов livecoding.tv где вы можете поинтересоваться у опытных программистов их опытом и получить ценный совет.

Считаете информацию полезной? Поделитесь с друзьями через кнопки социальных сетей!

Avatar
About author

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.