Перейти к содержимому

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

  • автор:

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

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

Программирование – это удовольствие, а не деньги

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

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

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

Как быстро вы сможете заработать?

Помните фразу, что за 10 000 часов можно стать профессионалом в любой области? Авторы оригинального исследования опровергли это высказывание. Процесс обучения настолько индивидуален, что с трудом поддается прогнозу. Но можно обозначить примерные рамки: можно получить позицию разработчика начального уровня в течение года, а некоторые успевают за несколько месяцев.

Что влияет на скорость обучения:

  1. Образование. Если у вас хорошая математическая база, то понять логику языка программирования получится гораздо быстрее. В среднем, искать заказы можно уже через четыре месяца обучения.
  2. Количество занятий. Увольняться с работы без четких перспектив – слишком опасно. Если совмещать офис и учебу, то понадобится больше времени — вплоть до года.
  3. Талант. Абстрактный фактор, но с врождённым талантом к программированию или математике постигнуть азы и устроиться на работу получится быстрее.
  4. Предметная область. Можно программировать сайты, десктопные программы, искусственный интеллект. Естественно что, время на освоение минимальных навыков в разных направлениях будет разным. Если веб-разработчиком можно стать за несколько месяцев, то изучение нейросетей потребует больше времени. Во многом из-за необходимости в глубоких познаниях математики.

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

3 этапа становления разработчика

Обучение программированию условно можно разделить на три этапа:

  1. Знакомство. Самостоятельное изучение программирования с нуля довольно сложно, поэтому мы рекомендуем наш базовый курс по Java. Он сэкономит много времени и даст необходимый объем знаний, чтобы претендовать на позицию стажера или джуниора.
  2. Основной этап. Если программирование вызывает интерес и приносит удовольствие, то самое время набивать руку. Пройдите продвинутый курс, найдите учителя или работайте с Open Source – это ваш путь к высокооплачиваемой должности.
  3. Вся жизнь. Когда вы уверенно будете разбираться в программировании и его логике, найдёте работу, то останется только углублять свои знания и становиться узкоспециализированным специалистом.

Заключение

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

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

За какой срок можно стать высокооплачиваемым программистом

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

Почему стоит задуматься об IT-профессии

Постоянно появляются новые вакансии – и для начинающих, и для опытных цифровых специалистов (причём на рынке наблюдается недостаток опытных).

Заработки в IT одни из самых высоких на рынке труда. От 40-80 тысяч рублей в регионах до 300-450 тысяч рублей в Москве и за рубежом (в переводе на рубли).

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

Ещё один плюс IT-профессий – перспектива дальнейшего развития ниши. Глобализация и автоматизация труда сделают невостребованными популярные профессии, например, бухгалтер, продавец, водитель, охранник, банковский работник, оператор колл-центра (по данным РБК). В основном речь идёт о низовых позициях, когда труд человека может заменить ИИ.

Что касается IT-профессий, технологический прогресс и внедрение инноваций сделают их более востребованными, чем сейчас. Эксперты HeadHunter провели исследование, выяснив, что в ближайшие 7-10 лет массовыми станут такие профессии как программист, инженер 3D-печати, архитектор виртуальной реальности, дизайнер, специалист по кибербезопасности и др. За 4 последних года количество подобных вакансий увеличилось на 140%.

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

Сколько нужно учиться на программиста

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

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

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

Курсы сроком 1-3 месяца

За это время можно разобраться в IT-терминологии, научиться разрабатываться сайты с помощью конструкторов типа WordPress или Tilda, HTML CSS вёрстке, создавать макеты в Figma, поверхностно ознакомиться с языками программирования.

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

Курсы длительностью около 1 года

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

· Web-разработка: PHP и взаимодействие с массивами; дизайн сайта, юзабилити, информационная архитектура и т.д.;

· свободное владение одним из языков программирования: Python, Java и т.д.;

· стать инженером QA и научиться тестировать ПО.

Зарплаты программиста на языке Java или тестировщика в Москве – 100-130 тысяч рублей ( в регионах от 70000). Разумеется, на следующий день после окончания курсов вам предложат зарплату 40-50 тысяч рублей, но через 3-6 месяцев, с опытом, можно претендовать на более высокие заработки.

Курсы продолжительностью 2,5 года

Для тех, кто настроен на максимальные заработки:

· объектно-ориентированное программирование на C++, системное программирование (потоки, процессы, примитивы синхронизации, межпроцессорное взаимодействие), разработка игр и приложений, управление программными проектами и т.д. + изучение английского языка;

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

Профессионал с такими знаниями востребован не только в России, но и за рубежом. Часто международные компании набирают в штат выпускников курсов. Так что есть возможность получить высокооплачиваемую должность сразу после обучения. Заработки программистов такого уровня от 100 до 450 тысяч рублей.

20K открытий
66 комментариев
Написать комментарий.

Негодование комментаторов вызывает тот факт, что IT специалисты и программисты могут хорошо зарабатывать? Ссылки есть, источники достоверные. Зачем спорить с фактами?

Развернуть ветку

Негодование комментаторов вызывает тот факт, что IT специалисты и программисты могут хорошо зарабатывать

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

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

А в сказки типа «пройди наш волшебный курс, тебя с руками оторвут работодатели и ты начнёшь зарабатывать 100500 мильёнов в секунду» не работают уже даже на пикабу.

Ну и пиар — хуйня, откровенно говоря. Думаете, никто не заметил ваши четыре аккаунта, которые создают положительную активность и минусят комменты, которые мешают развешивать лапшу?

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

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

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 — это мо­жет стать пре­иму­ще­ством.

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

Самый честный ответ будет: учиться программированию нужно всю жизнь. Выбирая ИТишнутю профессию, вы никогда не сможете сказать, что в рамках своей профессии знаете все, даже через 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 месяцев обучения.

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

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

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