1. Практика

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

Спойлер: совсем немного

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