Как выжить новичку в IT, не сломавшись на полпути к успеху
В IT приходят по-разному, но примерно в половине случаев история похожа. Сначала всё идёт как по маслу: онлайн-курсы проглатываются один за другим, видеоуроки смотрятся запоем, а туториалы щёлкаются как семечки. Кажется, что светлое будущее с зарплатой в долларах уже на горизонте. Но в какой-то момент ты доходишь до упора — сидишь перед монитором, пытаясь в сотый раз понять, почему твой код не работает — и ни Google, ни GitHub не помогают, ты смотришь в жиденькую стенку кода на мониторе и не выходит ни-че-го!
Ты в очередной раз судорожно листаешь страницы в интернете, пытаясь понять — это персонально тебе не дано или ты просто чего-то не замечаешь, ведь чуть ли не из каждого утюга — истории успешного успеха: то вчерашний курьер за три месяца окончил курсы и за полгода уже «синьор», то продавец из «Пятерочки» закатился в DevOps и уехал в Дубай по рабочей релокации… Розовые очки и воздушные замки с хрустом покрываются трещинами, всё бросить мешают только уже потраченные на обучение деньги (причем зачастую кредитные) и вложенные усилия. А в голове с нарастающей частотой гремит: «я тупой». Но давайте разберёмся, действительно ли дело в недостатке способностей или причина кроется совсем в другом?
Почему «пойду погуглю» — это нормально?
Одна из главных ошибок новичка — попытки писать «чистый» код сразу и в финальной версии, что фактически невозможно на мало-мальски объемных проектах. Всегда будет рефакторинг, будут внезапные изменения техзадания и прочие просьбы «сделать вот эту зеленую кнопочку чуть более синей и параллельной». Да и попытки выучить всё в выбранном стеке сразу — оно скорее к выгоранию приведет, чем к повышению скилла. Ну зачем, к примеру, джуну, делающему первые шаги в 1С понадобится работа с http-сервисами или обмен данными с Active Directory? Только запутается ведь.
Многие опытные разработчики открыто признают: одна из ключевых компетенций в IT — не энциклопедическая память, а умение эффективно находить нужную информацию. Важно понимание, а синтаксис — добирается из книг, Google и GitHub.
Новичку гораздо важнее выработать в себе логику и умение структурировать и алгоритмизировать задачу, чем запихать в гудящую от обилия непонятного головушку еще несколько десятков смутно понятных конструкций выбранного языка из очередной умной книжки. Поэтому — да будут открыты десятки вкладок браузера с Google и GitHub, навалены на столе справочники с закладками вперемешку с неумелыми блок-схемами, бормочет чего-то нейросеть в отдельном окошке!
Важно уметь найти нужную информацию в нужный момент, парни, а документацию читают все — и джуниор-первогодка, и матерый сеньор с двадцатью годами стажа. Сеньор — он ведь от джуна отличается только лишь наработанным опытом, запасом трюков и умением творчески «нарезать слона» — то есть разобрать задачу на функциональные блоки так, что «как оно должно быть» — становится настолько очевидным, что тянет исполнить древнерусский ритуал «челодлань» и возопить: «Оно же так просто, как я не понял!»
Как выбрать свой путь без фанатизма
Ещё одна типичная ошибка новичка — попытка определиться с направлением раз и навсегда.
> Frontend или backend? Python или Java? Docker или Kubernetes? А может, вообще в DevOps податься?
Вопросы, которые терзают практически каждого начинающего разработчика.
Правда в том, что на старте карьеры конкретное направление не имеет решающего значения. Важно начать с чего-то одного, но делать это последовательно и без лишней суеты. В первый год главная задача — не стать крутым специалистом в конкретной области, а научиться учиться. Главный принцип — «делай что-то одно, но делай хорошо».
Выбор технологии или направления — не пожизненный приговор. Стек может быть изменен, причем не раз — к примеру, автор в «лохматые» годы начинал с FoxPro и PL/M, потом был C++ и PHP (Я был молод! Мне были нужны деньги!), в какой-то момент в стеке появились 1С и Python — в общем, выбранное изначально направление — это не тазик с бетоном, ко дну оно вас не прикует, если вы хотите летать.
Синдром самозванца и его преодоление
Практически каждый новичок в IT страдает от синдрома самозванца. Постоянное ощущение, что ты попал сюда по ошибке, знакомо даже матёрым разработчикам.
И знаете что? В этом нет ничего плохого. Чувство неуверенности — признак здоровой самокритики и потенциала к росту. А если оно еще и не переходит в панику, а мотивирует вас расти над собой — то и вообще прекрасно. Да и старшие товарищи обычно не отказывают в помощи, главное — четко сформулировать свой вопль о помощи, адресованный старшему товарищу. Тут ведь как — в ответ на «я ничего не понимаю!» можно с большой вероятностью услышать «Доки читай», а вот на «камрады, я тут с такой-то вот штукой завис, багу не могу победить, хелп!» с очень большой вероятностью кто-нибудь доброжелательно проворчит «Давай сюда свое творчество, ща разберем».
Хороший специалист — не тот, кто знает все ответы, а тот, кто умеет эффективно искать решения и не боится признавать свои ошибки. Развивайте критическое мышление, учитесь анализировать проблемы и находить оптимальные пути их решения.
В то же время излишняя уверенность в своих силах — один из тех моментов, которые порой вышибают новичка из IT с треском и синяками. Искусство оценки задачи приходит с опытом реальной разработки, поэтому, например, не стоит надеяться на то, что онлайн-курсы сделают из вас готового разработчика. Они дадут вам некую теоретическую базу. Но! Только опыт реальной разработки сделает из «буратино» настоящего матерого миддла.
Важно понимать: даже самые успешные разработчики когда-то были новичками и испытывали те же сомнения. Они тоже гуглили простейшие вещи, допускали нелепые ошибки и чувствовали себя самозванцами. Но они продолжали учиться и развиваться, несмотря на эти чувства.
«Говори со мной, Слизерин!»
Успешная карьера в IT строится не только на технических знаниях. Многие новички совершают ошибку, сосредотачиваясь исключительно на изучении языков программирования и фреймворков. Умение планировать время, эффективно коммуницировать с коллегами и работать в команде часто оказываются как минимум не менее важными, а то и решающими факторами при построении карьеры.
Невозможно, к примеру, успешно внедрять разработку на предприятии без постоянного общения со специалистами заказчика — и вот тут нужно уметь «переводить с бухгалтерского на технический», например. Да и просто донести до собеседника свое видение задачи, не утонув в непонимании.
Общение с заказчиком — неважно, внутренним или внешним — это отдельное искусство, которое тоже приходит с опытом. Я бы даже сказал, что общение с заказчиком даже сложнее, чем сама разработка, потому что сначала вам придется вооружиться киркой терпения и лопатой здравого смысла и добыть из потока сознания заказчика руду сути, а потом — объяснить заказчику, чего же он хочет на самом деле. И вот это и есть один из главных тестов на профессионализм. Если уж смог понять, что заказчик, говоря «семь перпендикулярных красных линий», на самом-то деле хочет, чтобы ему надули зеленый шарик в форме котенка с кнопочкой «все будет хорошо» — готов ты, падаван юный, сдал экзамен на рыцаря кода ты! (Да, автору прошедшим совещанием навеяло…)
Отдельного внимания заслуживает английский язык — без него в IT действительно никуда. Документация, статьи, обсуждения в профессиональных сообществах — всё преимущественно на английском. Не обязательно говорить как носитель языка, но способность читать техническую документацию и общаться с коллегами на базовом уровне важна роста.
Да и не стоит забывать, что в особо специфичном стеке документация встречается то на хинди, то в формате «загадочный индус в видеоролике раскрывает тайны Вселенной и всего такого» на очень странном английском с элементами танцующих слонов…
Путь в тысячу строк начинается с первой
Запомните, товарищи студенты: «Чтобы научиться писать — нужно писать»! Много и постоянно. Даже простейший калькулятор, написанный самостоятельно, даст вам больше в плане понимания программирования, чем пара прочитанных, но не проработанных книг. Попытки выучить всё сразу приводят к быстрому разочарованию.
Успех в IT не измеряется знанием наизусть всех паттернов проектирования или алгоритмов сортировки. Настоящий профессионализм проявляется в умении решать реальные задачи, находить нужную информацию и не бояться ошибаться — опыт, опыт и ещё раз опыт.
Но самое главное — научитесь получать удовольствие от процесса. Без искреннего интереса к профессии никакая зарплата не сделает вас счастливым.





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