Сколько нужно заниматься программированием в день
Перейти к содержимому

Сколько нужно заниматься программированием в день

  • автор:

Сергей Немчинский: Сколько времени нужно учиться на программиста-джуна?

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

Сколько нужно учиться, чтобы стать джуном? Я могу сказать только какие-то приблизительные временные рамки, но уже это вам поможет понять, ввязываться ли вам в эту авантюру или нет. Наверняка вы знаете фразу, что для того, чтобы стать мастером в любом деле, нужно на него потратить 10 000 часов. Для того чтобы стать джуном вам не нужно 10 000 часов, а вот сколько именно нужно – попытаемся разобраться.

Уровни Junior

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

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

«Strong junior без опыта» – это наши выпускники. Они знают, как делать настоящую работу, но, по факту, еще ее ни разу не делали.

«Strong junior с опытом» – человек, который уже побывал в каком-то боевом проекте и, по большому счету, ему до уровня middle осталось накопить буквально немного опыта.

3 этапа в обучении программированию до уровня джуна

ЭТАП 1. Выбор направления. Я советую прежде чем погружаться в какое-то конкретное направление, попробовать еще пару других. Если вы увидите, что там совсем ничего не идет – значит не ваше. Но чаще всего бывает, что интересно и одно, и другое. При этом вы уже может выбирать более осмысленно. Я советую выбирать из таких вариантов: что-то из бэкенда (Java, C#, Python, Php), что-то из фронтенда (JavaScript), можно попробовать что-то из машинного ниже по уровню (СС++ или rust). Если попробуете язык и точно понимаете, что не ваше – бросайте. Если прям очень понравится – можно другое и не смотреть.

ЭТАП 2. Обучение самостоятельно или на курсах. Т.е. сначала вы выбрали направление, а потому начинаете его учить.

ЭТАП 3. Обучение на реальной задаче. Либо вы устраиваетесь на работу/становитесь фрилансером или учитесь у нас на проекте. Т.е. чтобы привести вас к уровню настоящего джуна, вам нужна настоящая задача (с настоящим заказчиком, сроками, эстимейтами, окружением и пр.).

Сколько вы будете учиться на реальном проекте, чтобы стать strong junior – очень сильно зависит от вас и вашей работы.

Сколько времени нужно на обучение?

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

Если есть бэкграунд из области ИТ

Если вы из ИТ сферы и были QA, DevOps, Data Scientist или из любой другой специальности, приближенной к программированию, то обучение займет у вас минимум времени. Все что будет нужно – выучить синтаксис соответствующего языка; выучить code style языка (это тоже достаточно банальные вещи); ознакомиться с фреймворками и библиотеками языка. Эти специалисты и так будут знать алгоритмизацию (превращение задачи в алгоритм). В этом случае человеку понадобится в среднем 6 месяцев, иногда меньше.

Если вы знаете какой-то другой язык программирования, то все будет еще проще. Если этот язык родственный, например, с C# на Java или наоборот – то переход займет 1-2 месяца. Если меняете с более далекого языка, например PHP на Java, то это займет 2-4 месяца.

Если бэкграунда нет

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

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

Кроме того, все зависимости от того, сколько времени вы уделяете обучению. Если вы уделяете меньше 1 часа за один присест – вы не выучите программирование никогда, можете даже не браться за это дело. Если вы сели заниматься на 20-30 минут, это время вы каждый раз будете тратить только на то, чтобы восстановить в голове, что вы делали в предыдущий раз. Соответственно заниматься меньше часа за раз – бессмысленно.

Я рекомендую тратить за раз не меньше 2-3 часов. Возможно, у вас не будет получаться уделять обучению каждый день, но важно, чтобы это было не реже 2-3 раз в неделю, иначе, опять же, вы все забудете. В идеале, конечно, заниматься каждый день. В любом случае на обучение у вас уйдет не меньше полугода. Как по мне, реальные сроки – от 9 до 15 месяцев. Ощутимое количество времени (от 3 до 6 месяцев) вы будете просто осваивать, что это вообще за профессия, как к ней подходить, как делать алгоритмизацию. С другой стороны – люди разные, некоторым это все может даваться легко даже без какого-либо бэкграунда. Но даже в этом случае не рассчитывайте менее чем на 6 месяцев обучения.

Всегда ваш Сергей Немчинский.

Сколько времени в среднем проходит для освоения программирования с нуля и возможностью заработка?

Мне 20, студент, и я всерьез, да и довольно долго, думал о том, чтобы связать свою жизнь с программированием. Математика нравится, но не изучал в силу ненужности. Так вот в чем, собственно, вопрос. У меня около 10 часов свободного времени в день (на обучение программированию готов уделять бОльшую часть) и мне интересно: через сколько я смогу зарабатывать? И сколько я смогу зарабатывать? И в какую сферу программирования лучше ‘сунуться’: веб, прикладное, или %забылназвание%? И смогу ли я всю жизнь этим заниматься, из серии: выбрал и развивайся себе в удовольствие?

Изучил огромное количество статей, мнений, вопросов на эту тему, но меня интересует мнение ‘тутошних’ жителей, считаю его более авторитетным. Подумывал о своем бизнесе, о заработке на сайтах и сетках узкотематических блогах, но честно — голова пухнет от размышлений о выборе. Хочется выбрать свою ‘нишу’ и развиваться в направлении, не париться больше об этом. Вот и делаю своеобразную ‘оценку рентабельности’, что-ли. Хочется знать наверняка.

UPDATE: для подписавшихся и для себя подведу краткие выводы.

1 — Основной вопрос, сколько времени проходит между начинанием в программировании и заработком — от 2-х недель, до 3-х месяцев. Зависит от выбранного направления, языка /etc. Количество «сколачиваемого баблища» напрямую зависит от сложности специализации и затраченного времени.
2 — Верхний средний порог заработка в России — 150 000р.
3 — Как это работает: Изучаешь простенький язык, осваивая программирование как таковое (на PHP, или js), после чего 2 варианта: продолжить обучение в качестве «подмастерья», или самостоятельно, одновременно с работой на фрилансе по полученным навыкознаниям.
4 — Задумался о программировании только ради денег? Тебе в другую сторону, друг.
5 — Прочесть вот эту штуку

Вроде все важные выводы =)

  • Вопрос задан более трёх лет назад
  • 127985 просмотров

1 комментарий

Оценить 1 комментарий

Satori_Kanzo

Денис Каракчиев @Satori_Kanzo Автор вопроса
Upd: Что скажете по поводу вот этого?
Решения вопроса 4

Хорошим программистом можно стать только если это занятие нравится. По крайней мере в первые годы это занятие должно приносить удовольствие само по себе. Это должно быть стремление, страсть, талант. Если бы у вас это было, вы бы вопросы здесь не задавали, а просто программировали. Не важно что.

То, что вам, похоже, нужно — это быстрый заработок. Для этого нужно изучить спрос, и сопоставить его с вашими возможностями. Здесь уже писали, что хороший источник статистики спроса — это фриланс-биржи. Смотрите заказы, ищете наиболее популярные темы. Всякие там WordPress и django с RoR для веб, а может что-то по мобильной разработке, но это уже сложнее. Смотрите, что это такое (по попсовым темам очень много материалов), изучаете (попсовые темы потому и попсовые, что легки в освоении) и практикуетесь.

С выходом на фриланс лучше повременить. Не имея опыта можно сходу угробить себе репутацию, а исправить это тяжело. Лучше пойдите к кому-нибудь в подмастерья. Есть у вас на районе веб-студии небольшие? Вот к ним. У них вечно работы больше, чем исполнителей. И не звездите сразу. Подмастерья зарабатывают мало. Немного опыта на реальных проектах — и вы готовы конкурировать с индусами на фриланс-биржах.

Ответ написан более трёх лет назад
Комментировать
Нравится 17 Комментировать
Программист — этим все сказано

Все проще чем кажется — не думай, делай! Бери, изучай языки пиши простенькие проекты, сначала для сея а потом и на заказ. Первые задачи лучше придумать самому из разряда «для себя». Т.е. какую именно программу сам бы хотел иметь — очень поможет освоиться в програмировании. Потом можно брать заказы на фрилансбиржах. Вилка оплаты очень разнится. Например фронтенд разработка в вебе от 80 до 800р за час! Естественно начинаешь с маленьких сумм, с приобретением опыта увеличиваешь ставку.

Это не предел. Потом можно стать тимлидом и самому руководить разработкой какого-то проекта в какой-нибудь компании. Или набрать техже фрилансеров на крупный проект и организовать свое дело. Потолка по доходности просто нет.

Что касается сферы в которой следует развиваться — тут сложнее. Можно посмотреть в сторону веб — вроде как очень перспективные технологии там сейчас и большинство приложений переписываются именно на него.

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

afiskon

Я в 20 лет уже подрабатывал админом на пол ставки в небольшой компании. Думается, что эта строчка в моем резюме потом очень сильно помогла в дальнейшем карьерном росте. Сколько будете зарабатывать — зависит от региона и специализации. Средний заработок нетрудно прикинуть по HeadHunter. Где-то 150 000 в России — это практически максимум для программиста. Я встречал людей, который зарабатывают и больше, но это, как правило, очень узкие специалисты. О том, с чего начать, какой язык выбрать и тп, см тут.

Ответ написан более трёх лет назад
Нравится 2 1 комментарий

Satori_Kanzo

Денис Каракчиев @Satori_Kanzo Автор вопроса

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

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

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 9

После откола от хабра, тостер превратился в сборник вопросов и разряда «Хай, пасаны! Вы тут прогеры все крутые? Какую мне книжку почитать минут на 15, что бы завтра мульёны зарабатывать?»
Ответом должно быть: Карл Маркс «Капитал», Дэн Ариели «Предсказуемая иррациональность», Стив Бланк «Четыре шага к озарению» и ещё тысячи книг по экономике. Не ту область выбираете.

Ответ написан более трёх лет назад
Нравится 19 4 комментария
А как же Doing Business?

Satori_Kanzo

Денис Каракчиев @Satori_Kanzo Автор вопроса

Нет, я выбираю ТУ область. Вышеуказанные книги по ранее интересующим темам прочитаны, не волнуйтесь))

@Satori_Kanzo, искренне рад за вас. Почти год прошёл, вы стали джуниором?

iwork

«тостер превратился в сборник вопросов и разряда «Хай, пасаны! Вы тут прогеры все крутые? Какую мне книжку почитать минут на 15, что бы завтра мульёны зарабатывать?»

ИМХО
Причиной этого явления является осознание того, что возможностью зарабатывать мало -мальски адекватную ценам зарплату своим трудом для среднего человека — является «уход в программисты».
+ «кажущаяся» простота написания кода.

FirstX

.net developer

На самом деле кол-во таких вопрос действительно зашкаливает, потому что беспокоит многих, но каждый считает, что именно ему ответят каким-то уникальным образом. К сожалению нет, не ответят, универсальных рецептов нет. Я сам одно время, брался за одной, брался за другое, загорался и снова перегорал. Потом приходит понимание, что топчешься на одной месте, даже совершая «гипер прыжки» в кратчайшее время, такие переключения с новым «гипер-прыжком» отбрасывают сильно назад. Это как вектор, который резко меняет направление. Сумма таких векторов может не порадовать точно 🙂

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

Какой же выход из этого порочного круга. Наверное составить Roadmap, где придется проверить свою силу воли. Составить карту планов на год. Проанализируйте такие вопросы как:

1. Что интересно
2. Что проще всего дается
3. Что востребовано на местном рынке
4. Рассматривается ли возможность переезда
5. Что востребовано на фриланс биржах и каков уровень конкуренции в данном сегменте

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

Теперь ответ на ваш вопрос: время освоения программирования с нуля и возможность заработка никак между собой напрямую не связаны. То есть ответа конкретного никто не сможет дать.

Можно всю жизнь программировать, но не зарабатывать на этом. Может повезти устроиться с нулевым опытом, и вы зарабатываете почти тут же. Это как вопрос, сколько надо забить гвоздей, чтобы начать на этом зарабатывать. Утрирую? — да. Но вы так же можете отбивать себе пальцы молотком, но зарабатывать какую-то копеечку, а можете профессионально дома с закрытыми глазами вбивать одним ударом гвоздь, но не иметь с этого ни рубля.

Бывает человек 10 лет программирует, но качество кода остается на уровне джуниора и решать задачи в написании серьезных приложений на фрилансе он не сможет. Получается в локальном вопросе, для конкретной компании этот человек может продать свою работу и получает за это деньги, в более масштабном плане — ему будем сложно себя продать и соответственно шансы на заработок не так велики. Это же и объясняет тот факт, что не всегда умные люди добиваются успеха в компаниях. Человек может быть не самым полезным, не самым эффективным, но грамотный «само-маркетинг, нетворкинг ака полезные связи» бывает творят чудеса.

Единственное, что я могу однозначно рекомендовать даже для программиста — это так называемые soft skills. Навыки общения, коммуникации, понимание идей бизнеса и так далее. Напрямую с программированием не связано, но вопросы настолько универсальные, что пригодятся в любой работе.

Сколько времени реально нужно, чтобы освоить программирование?

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

Спонсор проекта — буткемпы «Яндекс Практикума». Буткемпы — это как обычные курсы Практикума, только вдвое более интенсивные и поэтому короткие. Если классический курс «Аналитик данных» проходится за 6 месяцев, то буткемп по той же специальности длится всего 4 месяца.

  • Буткемпы требуют выделять на обучение около 40 часов в неделю. Обычные курсы — около 20 часов.
  • Буткемпы нужны тем, кто хочет вот прямо сейчас уйти с работы и попасть в новую специальность. Обычные курсы — для тех, кто изучает новую специальность параллельно с основной работой.

Сколько времени реально нужно, чтобы освоить программирование?

1 неделя: базовые конструкции и простые алгоритмы

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

За неделю занятий вы сможете:

  • Писать и запускать свой код.
  • Объявлять любые типы данных.
  • Делать простые вещи с помощью циклов и условных операторов.
  • Работать с массивами, строками и числами; производить математические операции.
  • Объявлять функции.
  • Работать с объектами.
  • Если изучаете JavaScript и HTML, то вы даже сделаете простую интерактивную веб-страницу.

✅ Этого этапа хватит, чтобы начать писать собственные простые программы и экспериментировать. Но пока что вы будете сталкиваться с проблемами на каждом шагу, потому что любой минимально амбициозный проект будет казаться неподъёмным.

⚠️ Подводный камень: вам может начать казаться, что теперь вы умеете программировать, и вы начнёте решать все данные вам задачи теми базовыми инструментами языка, которые вы знаете. Часто ваши решения будут громоздкими и нестабильными. Как с этим быть — вы узнаете дальше.

Сколько времени реально нужно, чтобы освоить программирование?

1—3 месяца: основные задачи, которые решают этим языком

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

На примере фронтенд-разработки:

  • Вы начинаете использовать фреймворки для работы с веб-страницей.
  • Узнаёте про стандартные компоненты интерфейсов.
  • Начинаете общаться с сервером с помощью асинхронных запросов.
  • Познаёте силу современных верстальных инструментов типа CSS Grid.
  • Учитесь показывать всплывающие и модальные окна, валидировать формы, настраивать анимации.

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

⚠️ Очень важно здесь не впасть в состояние самоуверенности. На этом этапе вы ещё не можете идти на работу разработчиком, но уже можете идти джуном, например писать документацию и заниматься рутинной технической работой.

Сколько времени реально нужно, чтобы освоить программирование?

3—6 месяцев: фреймворк, или набор инструментов для решения специфической задачи

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

  • В случае с веб-разработкой это будут Angular, Vue или React — смотря куда вас понесёт.
  • Если вы пишете на Python — вы начнёте специализироваться на каком-то виде вычислений: либо провалитесь в веб-разработку и Django, либо начнёте глубоко изучать математические и визуализирующие библиотеки.

✅ После этого этапа вы уже уверенный разработчик, которого можно нанимать на коммерческие задачи.

⚠️ Вы ещё не знаете, что работа в ИТ-компании — это не только разработка (и далеко не она).

Сколько времени реально нужно, чтобы освоить программирование?

6 месяцев и далее: отраслевой опыт, лучшие практики и боль работы в ИТ-компаниях

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

Тут вам открывается, что работа в ИТ-компании несколько больше, чем просто разработка. А именно:

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

✅ Вы будете уставать и выгорать, но если вы справитесь с этим этапом, у вас откроется второе дыхание и вы станете настоящим мастером разработки.

⚠️ Раньше вы смеялись над людьми, которые выгорают, работая за компьютером. Теперь вы этот человек.

Сколько времени реально нужно, чтобы освоить программирование?

12—24 месяца: оптимизация, рефакторинг, политика

Пройдя долину выгорания и скучных задач, вы узнаете о себе три вещи:

  • В мире разработки есть вещи, которые вам искренне интересны.
  • Если применить софт-скиллы и навыки переговоров, вы сможете загрузить себя именно такой работой. А всё неинтересное скинуть на других бедолаг.
  • Программирование — это своего рода спорт высоких достижений. Ваша программа может работать быстрее.

Это этап, на котором вас начинает раздражать легаси-код. Вы хотите всё переписать под новые фреймворки, оптимизированные под новое железо. Вы начинаете заморачиваться читаемостью кода, скоростью работы и нагрузкой на исполняющие машины; у вас на столе появляются классические учебники по алгоритмам. Вы наконец-то прочитали «Искусство программирования» и всё там поняли (хотя эта книга была у вас уже год).

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

⚠️ Простые люди перестают вас понимать, считают гиком и занудой.

Сколько времени реально нужно, чтобы освоить программирование?

2—5 лет: вставки на ассемблере, экзотические языки, духовность, квантовая физика

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

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

Вы начинаете изучать ассемблеры, но теперь с полным пониманием, зачем вам это.

Чтобы отвлечься от мыслей об оптимизации кода, вы начинаете программировать микроконтроллеры и случайно воссоздаёте Doom на инженерном калькуляторе.

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

❌ Люди боятся говорить с вами о разработке.

Сколько времени реально нужно, чтобы освоить программирование?

6+ лет: сопромат, проектирование загородного дома

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

Вы начинаете задумываться о других аспектах своей жизни:

  • Начинаете думать о покупке земли и строительстве дома. Правда, дом вам интересен в первую очередь как инженерный проект: можно ли его сделать полностью автоматизированным, используя микросхемы времён СССР?
  • Нейронка на вашем облачном сервере считает идеальное расположение несущих конструкций вашего будущего дома.
  • Вы изучаете вопрос создания собственной системы навигации на базе ГЛОНАСС, чтобы промаркировать своих будущих кур и гусей. Телеметрия и дистанционная ветеринария. Математические модели для выпаса овец. Квадрокоптер-пастух. Непрерывное энергоснабжение. Лазерное энергоснабжение.
  • Однажды на рыбалке вам является оптимизация кода в одной из рабочих задач. Вы видите красоту в движении волн.
  • Глядя на водную рябь, вы размышляете о критериях разумности машин.
  • Вы используете Linux с доработанным вами же ядром. Вам не нужен монитор.
  • Вы из тех людей, которые входят в комнату, и все компьютеры резко перестают глючить.

Сколько нужно времени, чтобы научиться программировать с нуля

Фото редактора

IT-про­фес­сии при­вле­ка­ют сво­ей вос­тре­бо­ван­но­стью и вы­со­ко­опла­чи­ва­е­мо­стью. По дан­ным ана­ли­ти­че­ско­го от­де­ла Head­Hunter и «Ян­декс.Прак­ти­ку­ма», в про­шлом году ме­ди­ан­ная зар­пла­та в IT со­ста­ви­ла 92 000 руб­лей в ме­сяц, а доля ва­кан­сий для но­вич­ков вы­рос­ла за 2016–2018 гг. на треть. Хо­ро­шая но­вость в том, что стать про­грам­ми­стом мож­но за год обу­че­ния и прак­ти­ки, если есть ин­те­рес и же­ла­ние. Ав­тор про­грам­мы кур­са «Как стать фрон­тенд-раз­ра­бот­чи­ком» Алек­сандр Брат­чи­ков рас­ска­зы­ва­ет, что нуж­но, что­бы осво­ить IT-про­фес­сию и най­ти первую ра­бо­ту в но­вой для себя сфе­ре.

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

  • фрон­тенд — всё, что ви­дит поль­зо­ва­тель на сай­те (вёрст­ка, ин­тер­ак­тив­ные эле­мен­ты);
  • бэ­кенд — неви­ди­мая часть сай­та (ло­ги­ка, хра­не­ние и без­опас­ность дан­ных, об­ра­бот­ка пла­те­жей и т. д.);
  • фул­стек — фрон­тенд и бэ­кенд вме­сте.

Как по­нять, к ка­ко­му на­прав­ле­нию боль­ше ле­жит душа? В иде­а­ле — по­про­бо­вать фрон­тенд и бэ­кенд, а по­том опре­де­лить­ся, что ин­те­рес­но изу­чить даль­ше.

Сколь­ко вре­ме­ни сто­ит уде­лять за­ня­ти­ям, что­бы был толк?

Луч­ше рав­но­мер­но рас­пре­де­лить за­ня­тия во вре­ме­ни — тра­тить на обу­че­ние один-два ве­че­ра в неде­лю не так эф­фек­тив­но, как про­хо­дить неболь­шие уро­ки каж­дый день. Что­бы быст­рее пе­рей­ти к прак­ти­ке, на на­чаль­ном эта­пе нуж­но за­ни­мать­ся не мень­ше де­ся­ти ча­сов в неде­лю. За­ни­май­тесь то­гда, ко­гда вам лег­че вос­при­ни­мать но­вое, и ко­гда ни­кто не бу­дет ме­шать, что­бы мож­но было пол­но­стью скон­цен­три­ро­вать­ся на учё­бе — на­при­мер, утром, ко­гда до­маш­ние ещё спят.

Обя­за­тель­но ли по­сту­пать в уни­вер­си­тет?

Нет, мож­но по­пасть в про­фес­сию с при­клад­ной сто­ро­ны. В ра­бо­те рано или позд­но по­на­до­бят­ся тео­ре­ти­че­ские зна­ния ком­пью­тер­ных наук (com­puter sci­ence) — с ними бу­дет про­ще ори­ен­ти­ро­вать­ся в тех­но­ло­ги­ях, но­вых язы­ках про­грам­ми­ро­ва­ния — но и их мож­но по­лу­чить са­мо­му. На­при­мер, ввод­ный курс лек­ций CS50 Гар­вард­ско­го уни­вер­си­те­та мож­но бес­плат­но прой­ти на рус­ском язы­ке.

С чего на­чать и чему мож­но на­учить­ся за три ме­ся­ца?

Что­бы учить­ся было ин­те­рес­нее, при­ду­май­те себе про­ект (сайт) и нач­ни­те его во­пло­щать — вер­стать, пи­сать код. Дело пой­дёт быст­рее, по­то­му что код не бу­дет аб­стракт­ным, пе­ред вами бу­дут сто­ять кон­крет­ные за­да­чи, ре­ше­ния ко­то­рых вы бу­де­те ис­кать.

Обя­за­тель­ные ос­но­вы — HTML и CSS, нуж­ные для вёрст­ки, и язык про­грам­ми­ро­ва­ния JavaScript, ко­то­рый де­ла­ет сайт ин­тер­ак­тив­ным. Фрон­тенд-раз­ра­бот­чи­ку важ­но по­ни­мать на ба­зо­вом уровне, как устро­ен бэ­кенд, по­это­му нуж­но изу­чить, как про­ис­хо­дит сбор­ка про­ек­та — под­клю­че­ние сай­та к сер­ве­ру и его «до­став­ка» до поль­зо­ва­те­ля.

Че­рез ме­сяц-пол­то­ра уже по­лу­чит­ся свер­стать неслож­ный сайт, ещё че­рез два ме­ся­ца — «ожи­вить» сайт при по­мо­щи JavaScript и адап­ти­ро­вать его для раз­ных устройств.

Сколь­ко вре­ме­ни нуж­но по­тра­тить, что­бы стать спе­ци­а­ли­стом?

В рос­сий­ской и ми­ро­вой сфе­ре ИТ при­ня­то де­лить про­грам­ми­стов по ква­ли­фи­ка­ции на уров­ни:

  • ju­nior — ста­жёр, ко­то­рый ре­ша­ет са­мые про­стые за­да­чи, а для бо­лее слож­ных ему по­на­до­бит­ся по­мощь опыт­ных кол­лег; за 1-2 года в по­зи­ции «джу­ни­о­ра» мож­но пе­рей­ти на сред­ний уро­вень.
  • mid­dle — го­то­вый к са­мо­сто­я­тель­ной ра­бо­те джу­ни­ор, ко­то­рый уже лег­ко справ­ля­ет­ся с ти­по­вы­ми за­да­ча­ми и мо­жет брать­ся за нети­по­вые; этот уро­вень, непре­рыв­но обу­ча­ясь, мож­но прой­ти за 2-3 года.
  • se­nior — ру­ко­во­ди­тель ко­ман­ды (тим­лид), экс­перт с опы­том раз­ра­бот­ки и за­пус­ка про­ек­тов, спо­соб­ный ор­га­ни­зо­вать ра­бо­ту кол­лег — по­стро­ить ар­хи­тек­ту­ру про­ек­та так, что­бы его было про­ще и де­шев­ле под­дер­жи­вать; на до­сти­же­ние это­го уров­ня у «мид­дла» ухо­дит 2-3 года и боль­ше.

У ком­па­ний нет еди­ных тре­бо­ва­ний к уров­ням ИТ-спе­ци­а­ли­стов — на­при­мер, в Ян­дек­се к но­вич­кам боль­ше тре­бо­ва­ний, чем в веб-сту­дии, а в Син­га­пу­ре их уро­вень ниже, чем в Рос­сии. Курс «Ян­декс.Прак­ти­ку­ма» даёт базу, что­бы на­чать ра­бо­тать «джу­ни­о­ром» уже че­рез пол­го­да.

Чем рань­ше нач­нё­те смот­реть ва­кан­сии раз­ра­бот­чи­ков, тем про­ще бу­дет от­стро­ить свои на­вы­ки, не за­ка­пы­ва­ясь в тео­рию. В опи­са­ни­ях ва­кан­сии обыч­но ука­за­ны тре­бо­ва­ния — по ним мож­но по­нять, чему уде­лять боль­ше вре­ме­ни при обу­че­нии.

Как быст­ро мож­но най­ти ра­бо­ту?

По­сле трёх ме­ся­цев ре­гу­ляр­ных за­ня­тий на­чи­най­те от­кли­кать­ся на ва­кан­сии или пи­ши­те по­тен­ци­аль­ным ра­бо­то­да­те­лям, хо­дить на со­бе­се­до­ва­ния. С пер­во­го раза по­лу­чить пред­ло­же­ние о ра­бо­те вряд ли по­лу­чит­ся, но обя­за­тель­но узна­вай­те при­чи­ну от­ка­за. Че­рез ка­кое-то ко­ли­че­ство ите­ра­ций и при усло­вии, что вы по­вы­ша­е­те свой уро­вень, ра­бо­та най­дёт­ся.

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

30 лет — не позд­но?

На­чи­на­ют и в 35, и в 15. Ры­нок рас­тёт, хо­ро­ших спе­ци­а­ли­стов не хва­та­ет, по­это­му не име­ет зна­че­ния, ко­гда ты ре­шил осво­ить но­вую про­фес­сию. В 30 лет у че­ло­ве­ка пре­крас­но ра­бо­та­ет мозг, и осво­ить что-то но­вое неслож­но.

Ра­бо­то­да­те­ли не об­ра­ща­ют вни­ма­ние не воз­раст — им боль­ше важ­ны на­вы­ки и лич­ные ка­че­ства со­труд­ни­ка, или soft skills (эмо­ци­о­наль­ный ин­тел­лект, уме­ние ра­бо­тать в ко­ман­де, от­вет­ствен­ность, же­ла­ние рас­ти про­фес­си­о­наль­но). По­сле 30 лет у че­ло­ве­ка уже раз­ви­ты soft skills — это мо­жет стать пре­иму­ще­ством.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *