Что изучать, чтобы быть в тренде в 2020 году?

Этим вопросом задаются все разработчики, особенно начинающие.
Сначала нужно ответить на один вопрос: для чего вы изучаете программирование?
Варианты: 
  1. заработок (самая частая причина) — трудоустройство, фриланс
  2. для собственных целей (создание удобного сервиса «под себя»)
  3. просто интересно для развития (таких мало)
Будем говорить только о варианте «1. Заработок», т.к. остальные больше зависят от человека и его целей, чем от внешних факторов.

Что изучать к 2020-20XX году, чтобы хорошо зарабатывать?

Обычно программист зарабатывает в той местности, где проживает (или работает удаленно, но все равно с привязкой к требованиям компании и их технологиям).
Это нужно обязательно учитывать, иначе можете «промахнуться».
Просто так взять и изучить самые трендовые темы — не всегда подходит.  Например, вы хотите работать на гос. структуры, где крутятся большие деньги, но у них по договору строгое использование JavaEE. Естественно, вам нужно будет изучить JavaEE, как бы вам не казалось, что это отставшая технология.
Либо найти компании, где технологии совпадают с вашими желаниями и знаниями. Но так бывает нечасто. Чаще всего компании медленно переходят на новые технологии, т.к. это связано с новыми тратами, анализом рисков и пр.
Поэтому не нужно бездумно изучать все подряд. Делайте упор на первичную необходимость, чтобы начать получать деньги, чтобы была финансовая подушка.
Не лишним будет найти (или создать) телеграмм группу программистов по городу и общаться там, чтобы «держать руку на пульсе».
Знаю много примеров людей, которые изучили последние технологии, но не могут применить эти знания, потому что локальные требования совсем другие.

Что изучать далее?

После того, как вы начали зарабатывать (изучили технологии по требованиям компании) — уже можно начинать обучаться на вырост. Чтобы у вас был более широкий выбор вакансий в будущем.
Для этого, помимо основных требований на работе, вы можете выделять в день хотя бы полчаса-час (вместо сериалов или ТВ) на изучение новых материалов, статей. В голове начнется накапливаться пул знаний, возможностей.
Можно использовать различные ресурсы, чтобы смотреть тренды:

Что советую изучать в ближайшее время

Актуальные темы на ближайшие годы:
  • JavaScript фреймворки (React, Angular, Vue.js) — обеспечивают красивый внешний вид (User Interface) в современном стиле. В данный момент идет универсализация веб — это значит, что любые приложения вы пишете в стиле веб проекта, а потом используете где нужно (веб, десктоп, мобильные)
  • веб сервисы, RESTful, SSL — работа с API, вызовы и предоставление сервисов по безопасному каналу. Используется в микросервисах, облачных технологиях
  • Любой backend фреймворк (Java/Spring, C#/.Net, TypeScript/Node.js) — серверная работа с БД, отправка данных, обработка запросов
  • Big Data — работа с большими данными — для начала нужно понять что это вообще такое, а потом уже начать применять инструменты. Можно посмотреть красивые картинки на эту тему http://bit.ly/2sk51eC

Языки разработки

Сейчас все языки программирования переходят на новую ступень (Java -> Kotlin, JavaScript -> TypeScript,  ObjectiveC -> Swift и пр.) — не оставайтесь на 1-й ступени, идите дальше.
Если знаете JavaScript, начинайте изучать TypeScript. Если не знаете JavaScript, сразу изучайте TypeScript.
Как только изучите один язык, остальные пойдут быстрее, т.к. много схожих моментов, конструкций.

Для новичков

Если начинаете совсем с нуля прямо сейчас, то быстрее и интереснее начать с frontend:
  • HTML/CSS — это база любых веб проектов
  • TypeScript и Angular/React — язык и фреймворки для создания универсальных приложений.  Angular кстати попроще для новичков, можно начать с него
  • RESTful сервисы, SSL/HTTPS — работа с сервисами, другими приложениями, облачными решениями.
Cможете также создавать мобильные приложения на React/TypeScript.
Потом уже можете браться за стэк backend технологий (Java/Spring и пр.).
При изучении обязательно вручную пишите весь код и создавайте рабочие проекты (не просто отдельные куски кода), чтобы у вас что-то запускалось и показывало. Так цикл разработки будет более полным.

Статьи, ресурсы

Не лишним будет почитать статьи, где все расписано более подробно.
Статьи по трендам http://bit.ly/2PgxkDC
Статистики:

Общие выводы:

1) Сначала начните зарабатывать любые деньги без сильной оглядки на технологии

2) Параллельно с основной работой — изучайте трендовые технологии, чтобы в будущем иметь больше шансов быть «на коне».

3) В день уделяйте хотя бы полчаса-час (вместо сериалов и ТВ), чтобы получать новые знания

4) Используйте ссылки выше, чтобы подписаться на различные ресурсы по статистике (или просматривайте время от времени). Будете знать самые популярные направления.

Нажмите на кнопки ниже, чтобы поделиться с друзьями:

Author Тимур Батыршинов

Основатель обучающего центра «JavaBegin». Главный тренер. Обучил более 46000 человек (онлайн и оффлайн), провел более 900 онлайн-вебинаров. Опыт разработки на Java и других языках — более 15 лет. Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, iOS, Angular, React и многие другие. Все курсы автора

More posts by Тимур Батыршинов

13
Оставить комментарий

  Подписаться  
Уведомление о
Roman

здравствуйте. а как получить скидки на платные курсы? купоны не работают

Nadezhda

Большое спасибо Тимуру Батыршинову, очень полезная информация!

noname

привет, кэп )

Николай Б

имеете в виду капитан очевидность? )

Андрей

это все логично. напишите про языки Go или Rust — в статье об этом ни слова

glor

В hh насколько я знаю часто вакансии не соответствуют, пишут завышенные требования

Олег Анон

Спасибо за ссылки. Про некоторые не знал..

roster

здравствуйте. Как можно сразу перейти в мобильную разработку? чтобы не изучать frontend, backend. Спасибо

Роман

Ничего не сказано про Python? его нужно изучать?