Сергей Немчинский: 9 вещей, которые я хотел бы знать в начале карьеры в IT - FoxmindEd
06.08.2022

Сергей Немчинский: 9 вещей, которые я хотел бы знать в начале карьеры в IT

Сергей Немчинский
10 минут просмотра
Сергей Немчинский: 9 вещей, которые я хотел бы знать в начале карьеры в IT

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

  1. Никогда не поздно поменять профессию

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

Лично я оттягивал этот момент слишком долго. Я с 1996 года профессионально занимался программированием, то есть получал зарплату. А непрофессионально — еще со школы, с конца восьмидесятых. Это очень большой срок. Я видел столько любопытных и странных перипетий в развитии индустрии, видел множество возникающих языков, фреймворков, серверов, методов разработки… Я сертифицированный специалист по RUP — Rational Unified Process! Кто-то помнит о его существовании?

А сколько было хайпа в Java в начале двухтысячных годов, когда появились Straps, появилась Tapestry… Как носились с Tapestry! Кто сейчас о ней помнит? Никто. А тогда это был хайп, все любили Tapestry, все носились с ней, потому что она была модной.

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

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

И вас я призываю помнить о том, что в какой профессии вы бы сейчас не работали, вы в любой момент можете сказать:

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

И неважно, двадцать вам лет, сорок, пятьдесят или семьдесят — неважно. В любом возрасте вы можете выбрать новую профессию и перейти в нее. 21 век на дворе, можно быстро освоить любую профессию, если постараться. Отличный способ не закиснуть и не получить отвращение к тому, чем вы занимаетесь.

  1. Выбор языка программирования

Меня очень веселят начинающие разработчики, которые твердят:

— Это очень важно — выбрать правильный язык программирования! Я выберу язык и все! Он со мной на веки вечные!

Мне, может быть, повезло, но в девяностых, когда я начинал, профессия называлась просто «программист». И когда тебя брали на работу, показывали новый язык, ты садился и учил. Это была норма, совершенно не так, как сейчас, когда со знаниями Java тебя не возьмут на frontend. Тебя отправят на курсы доучиваться, или будут задавать жесткие вопросы по технологии. Ответ «Я это выучу потом» никого не устроит. А в девяностых это было вполне нормально.

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

Я в свое время плыл по волнам, у меня не было такого момента, когда я говорил: «К черту все, мне надоело, буду учить новый язык и искать на нем работу». Нет. Получалось так: я работаю на работе, а тут появляется новый язык. Я его подучил и теперь на нем и работаю. Потом появляется еще один язык, и еще…

Так я оказался на Java, и это оказался лучший язык. Он прекрасен. Может, он слегка тяжеловесен и многословен, но из всех языков, что я знаю, он легче всего читается. Даже легче, чем С# — а это огромное преимущество при поддержке сложных систем.

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

  1. Системы контроля версий

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

Я не хотел — ну зачем эти версия один, версия два? Нет, все нормальные программисты работают так — сказал он, заставил меня, и я безумно благодарен. Если б я узнал про существование контроля версий раньше, это было бы круто. Потому что потом я на той же Лиге вел CS, SVN появился уже потом.

Кстати, я долго сопротивлялся появлению Git, потому что SVN мне нравился куда больше. Но потом попривык и оценил. Из-за того, что в Git вот эта странная концепция — репозиторий здесь, репозиторий там, объединения, пуши — мне долгое время мне казалось это искусственным и нужным только для разработки опенсорсных приложений: доверенные — не доверенные. А вот SVN это круто и здорово.

Но Git действительно на несколько порядков лучше. И надо отдать должное Линусу Торвальдсу, который выпустил целых два продукта, изменивших индустрию программирования. Я не знаю других людей, которые настолько сильно способны менять жизнь других людей. И подсесть на Git мне надо было несколько раньше. Я отбивался — а зря.

  1. Гугль ваш друг

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

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

Например, я бы никогда не начал готовить без доступа к информации. Если взять рецепт из книги, он часто непонятен для начинающих поваров. «Доведите мясо до полуготовности» — что? А как это в цифрах? А если порыться в интернете, там найдутся миллионы рецептов, включая рецепты в мультиварке, в которую все засыпал, нажал кнопочку и все готово. После этого можно и с полуготовностью экспериментировать.

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

  1. Больше практики

Когда я начинал учиться программированию, мне казалось, что достаточно почитать книгу, и все ты будешь знать. Но оказалось — нет. Практика — это важно. А я человек ленивый, всегда иду по пути наименьшего сопротивления… Но так не работает.

И вам сообщаю: обучение программированию это 100% практика. Конечно, какую-то теорию вы должны получить, но это не знания, это справочная информация. Обучение — это то, что вы делаете руками. Хотел бы я это знать с самого начала. Но теперь я это знаю, и буду вам говорить это в каждом видео.

  1. Больше отдыха

То, что человеку нужно отдыхать, я понял после 40 лет. Иногда и сейчас об этом забываю, надо бы в отпуск сходить. Но борьба с собой, со своим перфекционизмом… Хотя я не очень перфекционист. Когда общаюсь с директорами других компаний, понимаю, что работаю примерно на треть меньше, чем они. Судя по тому, что они говорят. 

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

Короче, надо по-настоящему отдыхать. И это не втыкать в соцсети или телевизор. Это, например, поехать куда-то. Главное — выкинуть из головы то, что мучает, что заставляет крутиться шестеренки. Об этом надо помнить, это важный аспект. 

  1. Программирование — больше, чем синтаксис

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

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

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

Кстати, от проджект менеджера зависит гораздо больше, чем от всей команды программистов. Хороший проджект менеджер может вытянуть плохую команду. Плохой ПМ даже с хорошей командой гарантированно провалит вам проект. Даже очень хорошая команда не вытянет. Поэтому это тоже интересно.

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

  1. Вы никогда не выучите все

Вот это было болезненным откровением. Меня долго мучал синдром самозванца: «Вокруг все всё знают, только я ничего не знаю. Меня возьмут за ухо и выведут из офиса. Зачем они меня здесь держат?» А потом я выводил на откровенность своих коллег, и оказывалось, что они знают в чем-то больше, а в чем-то меньше меня. Это было целое открытие. Так я тут такой не один, тут все такие!

И только с годами я понял, что программирование это такая отрасль, где нельзя знать все. Это даже теоретически невозможно. Нельзя знать даже то, что тебе необходимо для работы прямо сейчас. Ты всегда будешь находиться в состоянии «Я не знаю, как это делать, попробуем вот так». Это нормально. 

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

Скажу больше. Даже если ты знаешь 30% от того, что тебе нужно знать на проекте, ты уже засиделся. Ищи новый проект. Многие разработчики годами сидят на проекте со словами “Я тут все не знаю, я не достиг экспертности”. Экспертность — это как раз и знать процентов 30 от того, что тебе нужно, а не от всех знаний вообще.

  1. Разберитесь в себе и делайте только то, что нравится

Это было ошеломительное открытие, которое взорвало мозг. Я пришел к нему недавно, пару лет назад,  и с тех пор в каждом видео доношу это до вас.

Человек существо увлекающееся. Если ты не увлечен тем, что делаешь, твой рептильный мозг будет говорить «Смотри, ты делаешь херню. Перестань вот это делать». Он будет заставлять вас прокрастинировать: смотреть котиков, лазить по соцсетям, жрать, — он придумает, чем вас занять. И ты такой: “Какой же я хреновый программист, не могу себя заставить!” 

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

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

Так что исходная точка — «нравится». Чем мне нравится наш век? Многие ноют: «Как-то у нас все сложно и плохо» Нет. 21й век прекрасен тем, что любой человек может найти профессию по своему выбору. Более того, вы можете менять профессию достаточно безболезненно. Просто взять и заняться чем-то другим.

Более того, в наше время можно зарабатывать на совершенно невероятных вещах. Например, инстаблоггер. Представьте себе ее десять лет назад. А нормальная профессия, люди зарабатывают бешеные деньги. Или Youtube-блоггер. 

Занимайтесь чем хотите. Вырезаете кораблики из дерева? Вырезайте.Делайте видео, пишите статьи. Продавайте эти кораблики. Устройте аукцион. На этом можно хорошо заработать. Лучше всего зарабатывать на том, что вас прет. Подумайте: может, то, что вас прет, вполне можно монетизировать. 

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