1. Практика

Не кодом единым. 7 советов начинающим программистам

На что тратить время, силы и деньги в самом начале

Ру­ко­во­ди­тель груп­пы раз­ра­бот­ки об­ра­зо­ва­тель­но­го сер­ви­са Ян­декс.Прак­ти­кум Алек­сандр Тре­гер на­чи­нал, как и мно­гие ай­тиш­ни­ки, со школь­но­го хоб­би и пер­вых фри­ланс-про­ек­тов для зна­ко­мых. Тре­гер рас­ска­зал «Цеху», ка­кие ошиб­ки со­вер­шал на ка­рьер­ном пути, и как их се­го­дня мо­гут из­бе­жать на­чи­на­ю­щие про­грам­ми­сты.




1. Тща­тель­нее вы­би­рай ме­сто для ста­жи­ров­ки

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

2. Луч­ше ра­бо­тай за опыт, чем за день­ги

Если ты пе­ре­стал по­лу­чать опыт на те­ку­щем ме­сте ра­бо­ты, но при этом твоя зар­пла­та уве­рен­но рас­тет, счи­тай, что ты «под­сел на иглу». Очень лег­ко под­дать­ся со­блаз­ну и си­деть на ста­биль­ной вы­со­кой зар­пла­те, за­ни­мать­ся зна­ко­мы­ми за­да­ча­ми и ра­бо­тать ис­клю­чи­тель­но в при­выч­ном сте­ке тех­но­ло­гий. Чем доль­ше ты оста­ешь­ся в этой зоне ком­фор­та, тем стре­ми­тель­нее па­да­ет твоя кон­ку­рен­то­спо­соб­ность на рын­ке. Если спу­стя 3-4 года та­кой ра­бо­ты ты вдруг ре­шишь, что пора что-то по­ме­нять, сде­лать это мо­жет быть непро­сто. Ко­неч­но, об­ла­дая ба­зо­вы­ми зна­ни­я­ми, мож­но быст­ро осво­ить но­вые тех­но­ло­гии, но важ­но пом­нить, что если ты от­стал, то ка­кое-то вре­мя при­дет­ся по­быть в чис­ле до­го­ня­ю­щих, а не на пе­ре­до­вой. Мо­жет сло­жить­ся очень непри­ят­ная си­ту­а­ция, ко­гда на то­по­вые по­зи­ции тебя не бе­рут, а ста­же­ром ты идти не го­тов, по­это­му луч­ше не до­пус­кать та­ко­го раз­ви­тия со­бы­тий.

3. Иди туда, где изоб­ре­та­ют ми­ни­мум «ве­ло­си­пе­дов»

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

4. Кри­ти­ку­ешь — пред­ла­гай

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

5. Ка­чай софт-скил­лы

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

6. Не бой­ся спра­ши­вать

При­дя в но­вый про­ект, ты смо­жешь све­жим взгля­дом уви­деть то, что явно тре­бу­ет улуч­ше­ния. Ста­рай­ся это под­ме­чать: ставь ти­ке­ты, пред­ла­гай, спра­ши­вай, по­че­му что и как ра­бо­та­ет. На­при­мер, «ка­кую поль­зу нам при­нес пе­ре­ход на мик­ро­сер­ви­сы?» или «за­чем нам куча да­та­цен­тров, ко­гда тут и один бы спра­вил­ся?» Не бой­ся ока­зать­ся непра­вым, сме­ло «на­бра­сы­вай». Уме­ние кри­ти­че­ски мыс­лить мо­жет со­слу­жить очень хо­ро­шую служ­бу.

7. Не пиши код ради кода

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