Найти в Дзене
П К

Путь начинающего программиста. Ч1. Что изучать?

Это сложный вопрос, который каждый для себя должен решить сам. Исходные данные Я решал вопрос следующим образом: Например, для США на октябрь 2018г по данным Indeed.com получился список из 60 языков и технологий и вот верхние 10 из них: Примечание. 1 Это примитивный ранжировочный рейтинг не учитывающий, того факта, что в одной вакансии упоминается, как правило, несколько языков и технологий. Т.е. если мы имеем всего 5 вакансий, в которых во всех имеются 5 одинаковых технологий, то результаты будут 20% по каждой технологии. При этом нужно обладать всеми 5 технологиями чтобы иметь хорошие шансы быть нанятым. Технология 1 -- 5 вакансий -- 20% Технология 2 -- 5 вакансий -- 20% Технология 3 -- 5 вакансий -- 20% Технология 4 -- 5 вакансий -- 20% Технология 5 -- 5 вакансий -- 20% Всего по расчёту в Excel 25 вакансий -- 100% Примечание. 2 Непосредственно в той местности, где вы живете абсолютно подавляющем спросом могут пользоваться совершенно другие языки программ
Оглавление

Это сложный вопрос, который каждый для себя должен решить сам.

Исходные данные

Я решал вопрос следующим образом:

  • Посмотрел объявления по вакансиям и выписал основные языки программирования и технологии, требующиеся для программиста.
  • Добавил технологии и языки, о которых слышал из других источников.
  • По каждому языку программирования и технологии произвёл поиск вакансий вообще и вакансий для начинающих (Entry Level or Junior).
  • Забил эти данные в Excel и составил рейтинг по усреднённой доле (Вакансии вообще и вакансий для начинающих) по каждой технологии в общем объёме вакансий.

Например, для США на октябрь 2018г по данным Indeed.com получился список из 60 языков и технологий и вот верхние 10 из них:

  • SQL присутствует в 7% вакансий.
  • JavaScript присутствует в 6% вакансий.
  • Java присутствует в 6% вакансий.
  • .Net (dotNet) присутствует в 4% вакансий.
  • C# присутствует в 4% вакансий.
  • CSS присутствует в 4% вакансий.
  • HTML присутствует в 4% вакансий.
  • SQL Server присутствует в 4% вакансий.
  • jQuery присутствует в 3% вакансий.
  • ASP.NET присутствует в 3% вакансий

Примечание. 1

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

Т.е. если мы имеем всего 5 вакансий, в которых во всех имеются 5 одинаковых технологий, то результаты будут 20% по каждой технологии.

При этом нужно обладать всеми 5 технологиями чтобы иметь хорошие шансы быть нанятым.

Технология 1 -- 5 вакансий -- 20%

Технология 2 -- 5 вакансий -- 20%

Технология 3 -- 5 вакансий -- 20%

Технология 4 -- 5 вакансий -- 20%

Технология 5 -- 5 вакансий -- 20%

Всего по расчёту в Excel 25 вакансий -- 100%

Примечание. 2

Непосредственно в той местности, где вы живете абсолютно подавляющем спросом могут пользоваться совершенно другие языки программирования и технологии (например XML или C#).

Итого

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

Святая троица (HTML, CSS, JavaScript) для непосредственной разработки веб-страниц т.н. Front End присутствует в топ 10.

JavaScript даёт понимание Объектно Ориентированного Программирования или ООП (Object Oriented Programming or OOP).

Помимо этого, для этой троицы существует куча простых редакторов, песочниц (code sandboxes) и игровых площадок (code playgrounds) для кодирования на ПК (offline and online) и Смартфоне.

На основании вышеизложенных фактов, мой ответ на вопрос: "С чего начать?" — это HTML, CSS, JavaScript.

Проблемы

На основании некоторого опыта изучения языков программирования я пришёл к выводу о том, что существуют две основные проблемы для начинающего программиста.

  • Курсы по HTML, CSS, JavaScript слабо связаны между собой (дойдя до JavaScript можно забыть некоторые элементы из курса HTML), в то время как, при разработке реального кода они используются одновременно.
  • Практические примеры кодов должны содержать больше поясняющей информации в связи с тем, что в курсах самообучения отсутствуют преподаватели, способные ответить на "элементарные" вопросы, которые не всегда элементарны и очевидны для начинающего программиста.

Вспомнив различные народные поговорки (Если хочешь, что-то реально выучить начни объяснять это другому. Спаси других и спасёшься сам.) я решил попробовать.

Мой подход — это попытка объединить процесс обучения по всем трём языкам на основе максимально подробно комментируемых образцов кода.

В качестве дополнительной задачи будет расширение Английского словарного запаса для читателей.

https://techlaunch.io/blog/skills-web-dev-job-2018/
https://techlaunch.io/blog/skills-web-dev-job-2018/

Продолжение следует.

Следующий материал будет посвящён частичному переводу статьи Веб Разработчика (Web Developer) на тему кратчайшего пути (The shortest route) для начинающего программиста.

Не стесняйтесь положительных и восторженных комментариях и в оценке материала.

Программирование

Языки программирование

Обучение Программированию

Самообучение программированию

HTML

CSS

JavaScript

JS

Бесплатные курсы программирования