Введение в программирование
Содержание:
- 2018: Самые популярные языки программирования — Tiobe
- Front-end разработчик
- Без Data Science уже никуда. Ни в науке, ни в торговле
- Что с востребованностью программистов?
- Специализации программистов
- Инженер-программист
- Веб и интернет
- Embedded-разработка (разработка встроенного программного обеспечения)
- Разновидности (специализации)
- Каждый мечтал стать хакером. Можно попробовать
- Направления в программировании
- Колледжи для программистов
- Кирилл Калмыков , руководитель проектов в AT Consulting
- О типах программистов: специализация и мотивация
2018: Самые популярные языки программирования — Tiobe
В декабре 2018 года портал Tiobe опубликовал регулярный рейтинг языков программирования, основанный на подсчете результатов поисковых запросов, содержащих название языка.
Обозреватели ZDNet обращают внимание на пятое место языка Visual Basic .Net, который Microsoft выпустила в 2001 году. Его рейтинг оказался самым большим за время ведения подсчетов Tiobe — 7,127%
В конце 2017 года Visual Basic .Net находился на седьмой строчке списка с результатом в 2,467%.
ZDNet пишет, что Visual Basic .Net продолжает возрождаться, несмотря на то, что в 2017 году Microsoft объявила о прекращении совместного развития Visual Basic и C#, чтобы сосредоточиться на «ключевых сценариях и доменах», в которых Visual Basic .Net наиболее популярен. В результате компания бросила больше ресурсов за пределы C#.
Аналитики Tiobe назвали пятое место Visual Basic .Net в рейтинге «очень удивительным». Этот проект уступает лишь C++, Python, C и Java. Список наиболее востребованных языков программирования к декабрю 2018 года представлен ниже.
Рейтинг популярности языков программирование, данные Tiobe
По мнению экспертов, Visual Basic .Net «рано или поздно зачахнет», однако к концу 2018 года он остается популярным для создания специализированных офисных приложений для малого и среднего бизнеса. Этот язык все еще широко используется разработчиками во многому потому, что его легко освоить.
По данным Microsoft, у Visual Basic .Net насчитывается «сотни тысяч» сторонников против «миллионов» у C#. Компания стремится к лидерству C# в области создания технологий для облачных, мобильных и передовых вычислений, а в Visual Basic .Net видит акцент на разработку для Windows-компьютеров.Новая стратегия Microsoft вызвала тревогу у работающих с Visual Basic .Net программистов, которые опасались, что компания может свернуть этот язык. Также разработчики были разочарованы тем, что Microsoft предложила поддержку Xamarin в C#, но не сделала это в отношении Visual Basic .Net.
Front-end разработчик
Эти программисты специализируются на интерфейсах. Все кнопочки на экране, которые вы можете нажимать, выпадающие меню, и весь внешний вид сайта или приложения – их сфера деятельности. Т.е. Front-end – это работа над динамикой интерактивных интерфейсов. Кроме того, при отсутствии верстальщика от Front-end разработчика могут потребовать работу с HTML-кодом (верстку шаблонов).
Специальность востребована в крупных средних веб-студиях и других типах компаний, занятых в сфере сайтостроения и разработки приложений.
Необходимо знать технологии:
- HTML и CSS;
- Различные фреймворки;
- препроцессоры (SASS/LESS);
- JavaScript вместе с библиотеками;
- Системы отладки и сборки программ.
Также важно понимать, что такое адаптивная и мобильная верстка, изучить работу популярных CMS, разбираться в серверных технологиях и принципах бэкэнда, изучить основы SEO-оптимизации, работу с веб-шрифтами, уметь пользоваться Photoshop, Illustrator, другими графическими редакторами
Без Data Science уже никуда. Ни в науке, ни в торговле
Требования к поступающим: школьная математика и любовь к головоломкамЧто понадобится в учебе: упорство, любовь к вычислениямКому понравится: усидчивым людям аналитического склада умаСколько зарабатывают начинающие специалисты: ~100-150 тыс. рублей
Гайд по выбору профессии нельзя представить без Data Science: это самый устойчивый тренд. В этой сфере число требуемых специалистов только растет день за днем.
Основная задача науки о данных — работа с Big Data, огромными наборами данных. За ними может быть все, что угодно: десятилетняя статистика действий пользователей на сайте, подборка операций за всю историю компаний, набор интересов или постов анкет целой сети.
Специфические методы Data Science позволяют на основе этого сокращать издержки, предсказывать поведение пользователей и анализировать их поступки.
Предсказание и диагностика раковых заболеваний для Data Science стали одним из важнейших применений
Впрочем, это скучная верхушка айсберга. Как на счет того, чтобы научиться предсказывать будущее? Например, победу определенной партии на выборах, извержение вулкана, локальный военный конфликт и его последствия?
Пожалуй, самая актуальная отрасль Data Science — естественные науки. В физике и конструировании она упрощает решение «задач века», помогает обходить ограничения.
В медицине ещё интереснее: с помощью машинного обучения МРТ-аппараты научили определять трудно диагностируемые заболевания и предсказывать рак.
Кто-то использует инструменты Data Science для автоматизированной диагностики и своевременного ремонта ходовых частей поездов, другие улучшают таким образом используемый инструмент и методы его применения, а кто-то предсказывает судьбу ресторанов по данным с TripAdvisor.
Интересно? На то, чтобы освоить «Полный курс по Data Science» под руководством профессиональных менторов и постоянное совершенствование навыков, потребуется не меньше года.
В программу входят все составляющие Data Science, начиная с программирования на Python для начинающих, заканчивая созданием собственных «нейронок» и аналитических моделей с помощью курсов Deep Learning и Data Engeneering.
Отличный старт в перспективной специальности с внушительным доходом в будущем. С трудоустройством помогут.
Что с востребованностью программистов?
Языки программирования указываются не только в вакансиях программистов/разработчиков. Например ‘Python’ часто присутствует в описании вакансий для аналитиков данных.
Поэтому было бы интересно рассмотреть востребованность именно разработчиков на конкретном языке программирования.
Специализация | Количество вакансий |
---|---|
программист 1С | 4682 |
программист Java | 3083 |
программист PHP | 2241 |
программист Python | 1549 |
программист JavaScript | 1436 |
программист C# | 1421 |
программист C++ | 1226 |
программист Android | 1172 |
программист IOS | 1076 |
программист (стажёр) | 538 |
программист Golang | 427 |
программист Kotlin | 289 |
программист Ruby | 222 |
программист ЧПУ | 163 |
программист микроконтроллеров | 157 |
программист Delphi | 120 |
программист Scala | 119 |
программист ABAP | 110 |
программист TypeScript | 107 |
программист C++ (QT) | 90 |
программист Rust | 34 |
программист Perl | 21 |
программист Dart | 16 |
программист Elixir | 15 |
программист Erlang | 12 |
Специализации программистов
В программировании ценятся не только практические навыки, но и идеи специалиста. Разработчиков можно условно разделить на три крупные категории в зависимости от специализации.
Прикладные программисты
Занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т. п. К области их работы относится создание программного обеспечения для СКД, систем видео- и аудионаблюдения‚ пожаротушения или пожарной сигнализации и т. п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
Системные программисты
Разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Системные программисты относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список их задач входит обеспечение функционирования и работы созданных систем (драйвера устройств‚ загрузчики и т. д.).
Web-программисты
Тоже работают с сетями, но в большинстве случаев с глобальными, в частности с Интернетом. Web-программисты пишут программную составляющую сайтов, создают динамические веб-страницы, web-интерфейсы для работы с базами данных.
Инженер-программист
Если одним из 7 предыдущих типов можно стать отучившись на курсах или путем самообразования, то инженеров-программистов выпускают только технические ВУЗы. Часто на этих должностях работают люди старше сорока лет, получившие образование в советское время.
Где работает?
На производстве или в научном учреждении.
Что делает?
Разрабатывает программы для управления самыми разными устройствами: от печи на хлебозаводе до робота-пылесоса.
Технологии
Один из нижеперечисленных языков:
- C;
- C#;
- C++;
- Java;
- Delphi (жил, жив и будет жить!);
- Assembler.
+ огромный багаж технических знаний, соответствующий отрасли в которой человек работает.
Если посмотреть объявления о найме программистов на российских сайтах, то 90% из них будут подходить под эти семь типов. На Западе рынок вакансии несколько разнообразнее. Кто интересуется, может зайти на Odesk и посмотреть, какая работа там предлагается.
С грустью замечаю, что 14-летние пакистанцы требуют там за html-верстку от 500 рублей в час.
А судить о том, какие языки сейчас наиболее популярны в мире можно по данным Tiobe Index. Этот рейтинг строится по числу запросов в поисковых системах с упоминанием разных языков программирования.
P.S. Напоследок, жизненный анекдот в тему.
iPhones.ru
Какие кодеры наиболее востребованы в нашей стране? Если сказать простому человеку, что ты работаешь программистом, то в ответ можно услышать одну из следующих реплик: «Мне надо переустановить Windows. Я всю жизнь ждал того, кто сделает это для меня. А потом пойдем чинить тостер.»; «О! Ты можешь помочь мне с лабораторной работой на VBA!»; «За сколько…
Веб и интернет
Веб — самая простая область для старта. Сюда относится всё, что можно посмотреть или сделать в браузере:
Больше всего новичков в ИТ начинают именно с этого, потому что здесь проще всего получить быстрый результат. Например, чтобы собрать свою первую страницу, достаточно выучить несколько базовых HTML-тегов. Можно даже без программирования собирать сайты на конструкторе и зарабатывать на этом.
Вот базовый набор любого веб-разработчика:
- HTML,
- JavaScript (это не то же самое, что Java),
- CSS.
Если выучить основные теги, разобраться со стилями и выучить азы скриптов, можно уже работать джуниором в студии веб-дизайна. Если вы не знаете, кто такой джуниор и что он делает, — почитайте в нашей статье.
Что ещё почитать:
- Как сделать страницу «О себе»
- Как сделать сайт за 10 минут без программирования
- Разбираемся в CSS и оформляем всё красиво
- Чёртовы психи: как добавить снежинок на любой сайт одной строкой
Embedded-разработка (разработка встроенного программного обеспечения)
Практически во всех устройствах, окружающих нас в повседневном быту (и не только) используются микросхемы. Автомобили, электрические плиты, роботы-пылесосы, холодильники, банкоматы, стиральные и посудомоечные машины, роутеры, швейные машины. Этот список продолжает расширяться с каждым днем. Все эти многочисленные приборы работают при помощи электроники, которую кто-то должен запрограммировать. Именно этим и занимаются embedded-разработчики.
Основной язык программирования, использующийся в этой области — это C++, встречается также ассемблер и JAVA, использующиеся преимущественно для низкоуровневого программирования.
Порог вхождения в эту профессию достаточно высок: C++ и ассемблер не относятся к числу самых простых языков. Кроме того, вам понадобится хорошо ориентироваться в том оборудовании, для которого вы будете создавать программы.
Заработная плата в этой сфере достаточно высока, embedded-программисты зарабатывают от 60 до 150 тыс. рублей и выше, в зависимости от уровня квалификации и профессиональных навыков.
Разработка встроенного программного обеспечения — это активно развивающееся направление. Поэтому если вам нравится работать непосредственно с оборудованием, и C++ для вас интересен — то это отличный выбор!
Разновидности (специализации)
Всех представителей этой профессии можно распределить на три категории:
- Специалисты по прикладным программам. Эти люди составляют конкретные программы для определённых предприятий. К таким разработкам относится бухгалтерская программа 1С, либо логистическая – ABM Rinkai TMS.
- Системные программисты – это сотрудники, которые занимаются программированием операционных систем, интерфейсом к базам распределения данных, работой с сетью.
- WEB-программисты так же, как и представители предыдущей категории трудятся в сетевой сфере, однако в более глобальном масштабе. Они создают различные сайты, web-интерфейсы и динамические электронные страницы и так далее.
Плюсы и минусы работы программистом
Как и все остальные профессии, эта имеет свои преимущества и недостатки. Рассмотрим некоторые из них…
Плюсы специальности:
- возможность постоянно развиваться, прогрессировать и совершенствоваться;
- высокий уровень самовыражения и самореализации;
- большая востребованность на рынке труда;
- высокооплачиваемость;
- перспектива работы без получения диплома о высшем образовании, достаточно лишь сертификата об окончании курсов определённой направленности;
- огромный простор для проявления творческих и креативных возможностей человека.
Минусы профессии:
- сложность восприятия данных, так как не каждый человек может понять то, что понимает программист, поэтому очень часто приходится много раз пояснять те или иные моменты;
- иногда приходится работать в режиме нехватки времени;
- постоянная работа за компьютером негативно сказывается на здоровье, в частности особо страдает зрение и опорно-двигательный аппарат как следствие так называемой сидячей работы;
- очень часто работа является рутинной и однообразной;
- также часто страдает характер человека, который становится нервным, вспыльчивым и резким в своих действиях и суждениях.
Требования к профессии программиста
Как и при получении любой работы, соискатель должности должен соответствовать определённым требованиям, которые могут меняться, но имеют основные схожие принципы, которые являются примерно таковыми:
- необходимы знания в сфере современных технологий и языков программирования, таких как HTML, SQL, PHP и прочие;
- опыт работы в написании и составлении программ;
- умение составлять и читать техническое задание;
- способность расшифровать и адаптировать чужой код;
- разбираться во вспомогательных программах;
- владение английским языком на техническом уровне.
Должностные обязанности программиста
В круг занятости программиста входит множество различных действий. Среди них такие:
- на основе различных математических моделей и алгоритмов составлять и формировать программы соответственно поставленных задач;
- тестировать и отлаживать уже написанный продукт;
- производить разработку технологии решения задач на всех этапах обработки информации;
- определять, какая из существующей информации подлежит обработке с помощью компьютерных средств;
- выбирать язык программирования, которым в дальнейшем будет написана программа;
- выявлять данные контрольных примеров, которые позволяют понять соответствует ли программа своему назначению;
- запускать уже отлаженное приложение и вводить исходную информацию в него на основе поставленных задач;
- корректировать программу исходя из проанализированных данных;
- определять, возможно ли использовать какие-либо готовые программные продукты;
- составлять техническую документацию, а также инструкцию по работе с программой;
- осуществлять техническое обслуживание и сопровождения программных средств;
- обеспечивать бесперебойность работы компьютеров и сопряженной с ними техники;
- проводить подготовку технических средств к работе, а также следить за их исправностью и техническим состоянием;
- своевременно выполнять ремонт техники;
- осуществлять своевременную инвентаризацию средств.
Ответственность
Как и любому человеку, программистам свойственно ошибаться. Однако большим преимуществом данной профессии является то, что даже при совершении какого-либо недочёта или недоработки, всё это можно выявить уже на этапах тестирования и устранить на этапе отладки программы, приложения.
Полномочия
Одновременно с должностными обязанностями, также стоит обратить на права сотрудников отдела IT. Итак, каковы же права имеют представители этой профессии:
- имеет право предпринять определённые действия, когда может возникнуть ситуация, при которой возникают препятствия для осуществления сотрудником своей деятельности;
- вносить предложения руководству организации по мерам, позволяющим улучшить работу предприятия в IT сфере.
Каждый мечтал стать хакером. Можно попробовать
Требования к поступающим: желание стать редким специалистом на рынке трудаЧто понадобится: учиться, учиться, учитьсяКому понравится: настоящим IT-фанатамСколько зарабатывают начинающие специалисты: ~100-160 тыс. рублей
В SkillFactory готовят не только специалистов распространенных специальностей. Есть у них кое-что для настоящих гиков, фанатов компьютеров и научной фантастики.
Как на счет того, чтобы стать «этичным хакером», пентестером — специалистом по кибербезопасности, в задачи которого входит поиск и устранение уязвимостей.
Хакерство без наказаний по обоюдному согласию в рамках договора (за очень хорошие деньги). Это ли не мечта каждого мальчишки?
Конечно, будет сложно: за 11 месяцев придется освоить все сферы современных компьютерных систем, от азов построения операционных систем до программирования на Python, от инструментов для анализа сетей до создания скриптов на Bach и SQL.
Головоломок будет много. И не только в программной части
Преподаватели курса, которые оттачивали свои навыки в Газпроме и Роснефти, научат исследовать уязвимости операционных систем, сайтов, сети и промышленные/корпоративные системы.
Все это нужно будет взломать, исследовать и предложить по результату работы способ защиты. А ещё курс заставит прорешать набор актуальных задач по тестированию. Просто песня!
Часть практики и вовсе проходит на профессиональных стендах для международных соревнований по взлому систем.
Для старта в роли Junior’a хватит. Но не надолго — сфера хакинга не позволяет останавливаться в обучении. Так что курс позволит войти в тему, начать зарабатывать, а дальше все зависит только от тебя самого.
Кстати, обучение без отрыва от основной деятельности, без обязательных мероприятий в реальном времени.
Пригодится даже состоявшимся профессионалам, особенно после прохождения вышеупомянутого курса по тестированию. И сисадминам, чтобы узнать обратную сторону своей работы.
Направления в программировании
На данный момент существует множество направлений в программировании. Каждый сможет найти занятие по душе, но для этого нужно знать, чем именно ты будешь заниматься в своей сфере.
Разработка web-приложений
Это направление ориентировано на разработку веб-приложений (проще говоря, сайтов, но в настоящее время сайты обладают таким богатым функционалом, что их можно назвать полноценными приложениями).
Web-программирование можно разделить на backend (написание серверных скриптов – PHP, Python, Ruby) и frontend (разработка юзерского интерфейса – Javascript, HTML, CSS).
Разработка desktop-приложений
Разработка программного обеспечения для различных операционных систем. Все разнообразие софта, что мы используем в повседневности. Хотите написать свой обработчик фотографий, аудио-плеер или текстовый редактор, тогда вам сюда.
Разработка серверных приложений
Это различные игровые сервера (ваша любимая Дотка, CS: GO), IM-сервисы (серверная часть Skype, ICQ, MSN), банковские базы данных.
Программирование встраиваемых систем
Интересная отрасль программирования для различной домашней техники: пылесосы, холодильники, стиральные машины, плееры, навигаторы, электронные весы. Здесь задействованы научные разработки с использованием специализированных языков, типа MATLAB.
Системное программирование
Написание различных драйверов для оборудования, программирования «ядра» операционных систем. Кстати, создание компиляторов и интерпретаторов для языков программирования относятся сюда же.
Олимпиадное программирование и решение задач
Программирование на различных «непрактичных» и не распространенных языках (Pascal, Delphi) для решения каких-то оригинальных задач, требующих нестандартного подхода, смекалки и IQ выше 160.
Программирование для бухгалтерских и финансовых продуктов
«1С: Предприятие». Вся бухгалтерия в России завязана на этом продукте
Но недостаточно знать лишь сам язык, важно понимать основы бухгалтерского учета. Плюс в том, что работы очень много, и без хлеба вы не останетесь
Программирование баз данных
Серьезное направление. Хотите разрабатывать базы данных, способных хранить миллиарды строк информации о всех пользователях VKontakte или Facebook и при этом не тормозить – вам сюда.
Science
Наука и этим все сказано. Нейронные сети, моделирование структуры ДНК, запуск спутников, моделирование Большого Взрыва.
Кстати, недавно на сайте NASA была опубликована новость о поиске программиста на «древнем» языке Fortran, которому уже более 60 лет. Требовался программист для разработки программ по управлению автоматическими зондами Вояджер-1 и Вояджер-2, программное обеспечение для которых было написано на Ассемблере, Фортране и языке COBOL еще в 1970-х годах. Никогда не знаешь, какие знания могут пригодиться.
Колледжи для программистов
Выпускники колледжей, которые готовят специалистов в области IT, получают квалификацию «Техник-программист». Это позволяет им заниматься разработкой, настройкой и сопровождением программного обеспечения. Как правило, после колледжа программисты начинают работу с должности помощника разработчика или специалиста технической поддержки. Нередко студенты еще во время обучения осваивают смежные специализации: системную аналитику, системное администрирование, веб-дизайн.
На первых курсах в программе обучения много математических дисциплин: здесь можно найти матанализ, линейную алгебру, теорию вероятности, дифференциальные уравнения. В рамках цикла профессиональных дисциплин студенты изучают безопасность информационных систем, техническое обслуживание и ремонт компьютеров, администрирование сетей, программирование, веб-дизайн и графическое моделирование объектов. Большинство выпускников колледжей продолжают обучение в вузах и получают квалификацию бакалавра информатики и вычислительной техники по ускоренной программе.
Университетский колледж информационных технологий
Один из самых известных и уважаемых IT-колледжей — Московский государственный колледж информационных технологий — сейчас имеет новое название и входит в структуру Московского государственного университета технологий и управления им. Разумовского. Колледж готовит программистов, системных администраторов, системотехников, специалистов по информационной безопасности. Бесплатно здесь учатся только выпускники 9 класса, а для абитуриентов после 11 класса обучение платное. Во время учёбы студенты активно занимаются разработкой программного обеспечения. Ежегодно здесь проводятся выставки технического творчества, научно-практические конференции. Среди работ студентов — программные продукты: игровые и обучающие, выполненные в объектных средах, веб-разработки с использованием XML и Flash, радиотехнические модели.
Колледж информатики и программирования Финансового университета при Правительстве РФ
Флагманская специальность колледжа — «Программирование в компьютерных системах». Ежегодно сюда принимают 50 выпускников на базе 9 класса. После присоединения к Финуниверситету студенты колледжа получили возможность пользоваться всеми его ресурсами — от образовательных технологий до библиотечного фонда. Они также принимают участие в насыщенной студенческой и творческой жизни вуза. В колледже активно развивается студенческое самоуправление, проектная деятельность, студенты принимают участие в профессиональных конкурсах «World skills Russia», «IT-планета», организуют кампании по борьбе с курением и поздравительные концерты. Выпускники колледжа могут продолжить обучение в Финуниверситете по ускоренным программам, в том числе на бюджетной основе.
Колледж связи № 54
Ведущее учебное заведение в области телекоммуникаций — Колледж связи № 54 — приглашает абитуриентов после 9 и 11 классов поступить на специальность «Программирование». Почти все учебные классы колледжа оборудованы компьютерами и другими IT-устройствами; здесь работает практическая зона «Лаборатория Samsung», где студенты на практике закрепляют полученные навыки. Отдел содействия в трудоустройстве проводит консультации выпускников, ведет базу данных резюме студентов колледжа, организует ярмарки вакансий, дни карьеры, формирует банк вакансий. Все учащиеся проходят производственную практику в компаниях-партнерах колледжа с последующим трудоустройством. Среди партнеров — МГТС, Мослифт, Московский метрополитен, Почта России, мировые корпорации Siemens и Samsung, компании National Instruments и Huawei.
Колледж приборостроения и информационных технологий МИРЭА
Колледж является структурным подразделением профильного IT-вуза — МИРЭА. Здесь готовят техников-программистов и системотехников. На бюджетное отделение принимаются выпускники 9 класса, для них открыто 50 мест. По вступительному конкурсу колледж может посоперничать с самим МИРЭА — в 2015 году на каждое место претендовали 6,7 абитуриентов. Зачисленные продемонстрировали средний балл аттестата не ниже 4,1. Колледж сотрудничает с заводами «Салют», «Прибор», «Сапфир» и другими предприятиями оборонной промышленности, где студенты проходят практику и приходят на работу по окончании обучения. Большинство выпускников колледжа продолжают обучение в МИРЭА.
Кирилл Калмыков , руководитель проектов в AT Consulting
Сейчас в нашем мире очень много всего связано с Интернетом, поэтому для хорошего заработка лучше выбрать какой-нибудь язык, позволяющий создавать web-приложения. Если конкретизировать, то Ruby + JavaScript
Ruby позволяет создавать приложения очень быстро, а в нашем динамически развивающимся мире это очень важно. Если ты можешь сделать приложение за несколько дней, это очень ценится
Не советую Java или PHP потому, что идеологии первого уже устарели, а второй — язык быдлокодеров и зашел в тупик в своем развитии. Рекомендую изучать Javascript, а еще лучше CoffeeScript (в случае использования Ruby): без них никакой динамики на фронтенде не будет, а значит ваше приложение будет уныло. Не советую учиться на Flash’еров — эта технология умирает.
Обязательно нужно учиться пользоваться фреймворками: для Ruby — это Ruby on Rails, для JavaScript — Angular.js или Ember.js (но ни в коем случае Backbone.js или Spring.js). Фреймворки позволяют лепить приложения не за дни, а за часы!
Вы точно не останетесь без работы и будете зарабатывать достаточно (чтобы, например, обеспечить семью), если начнете развиваться в этом направлении.
Еще одна, на мой взгляд, прибыльная отрасль — мобильные приложения. Думаю, не надо объяснять почему: смартфоны есть даже у бомжей. Но тут есть нюанс: если вы собираетесь писать сами какие-то приложения, то, скорее всего, много на этом не заработаете — для приложений всегда нужна качественная идея. Но тем не менее вы всегда сможете устроиться на работу и зарабатывать.
Также хочу посоветовать сосредоточится на разработке под Android. Устройств на этой платформе очень много, а Apple в последнее время не внушает перспектив для разработчиков под iOS. Но это мое субъективное мнение.
Вы точно не останетесь без работы, если будете двигаться в этом направлении, однако размер заработка будет зависеть от вас.
Также я советую обратить внимание на DevOps. Такие специалисты действительно много зарабатывают, но в институтах этому не учат
Подробно рассказывать о методологии не буду: если интересно, почитайте сами.
А теперь в какую сторону смотреть не советую:
- Повторюсь, это языки с устаревшей идеологией: Java, PHP и т. д. Работу вы найдете, но рано или поздно поймете, что нужно что-то менять. Так было со мной в 2007 г., когда я перешел с PHP на Ruby.
- Системные языки типа C или низкоуровневые языки. Причина проста: мало предложений, но если они есть, то платят там хорошо. Правда, я давно не мониторил тот рынок, могу ошибаться.
- Сверхновые модные языки: Erlang, Scala и т. д. Пока непонятно, займут ли они какую-нибудь свою нишу или нет. Представьте, что вы потратите силы на их изучение, а они уйдут.
О типах программистов: специализация и мотивация
Если вы попробуете изучить списки вакансий IT-разработчиков, разнообразие названий специалистов и требований может даже испугать. Особенно если вы хотите собрать классную команду или найти себя в этом огромном профессиональном пространстве. А ведь нужно учитывать еще и человеческий фактор, чтобы проект все же состоялся, а карьера строилась.
На самом деле, все не так сложно, как может показаться. Программисты делятся на 8 основных типов по направлению деятельности. А в рамках личностных качеств лучше всего ориентироваться на особенности мотивации. Но для начала, давайте разберемся в направлениях деятельности.