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

В этом посте я собираюсь поделиться с вами своей историей и тем, как мне удалось перейти от моей предыдущей карьеры к технологиям.

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

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

Начало…

(1991–2015)

Мое первое знакомство с технологиями произошло в 90-х годах. Я довольно рано начал играть на таких консолях, как NES и SNES, а затем переключился на ПК. Этого опыта хватило, чтобы я сказал: «Я хочу стать программистом». К сожалению, отсутствие поддерживающей среды вокруг меня не помогло. Довольно скоро я отказался от этой мечты и пошел в совершенно другом направлении.

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

В те годы я увлекся гитарой и музыкой. Я не мог позволить себе учителей, поэтому мне приходилось использовать все, что я мог найти в Интернете, чтобы научиться играть и писать. Несмотря на нехватку ресурсов (это было более 10 лет назад, Интернет выглядел немного иначе), я стал достаточно опытным. Я и не подозревал, что навыки, которые я развил при этом — поиск хороших материалов, составление учебной программы, соблюдение графика, отложенное вознаграждение — будут иметь первостепенное значение при переходе на технологии позже.

Uncharted 2: среди британцев

(2015–2018)

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

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

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

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

Однажды у меня не осталось задач на оставшуюся часть дня, но я решил использовать это время с умом, а не тратить его попусту. Был ряд деловых вопросов, которые вызывали у нас головную боль. Я понял, что у нас есть данные для их решения, но они были разбросаны по разным системам. Я погрузился с головой в проблему и с помощью встроенных формул Microsoft Excel (да, я знаю…) мне удалось соединить данные и создать автоматизированную панель инструментов, которая решила проблему. Я был запрограммирован, и прошло несколько часов, а я ничего не заметил. Я вижу, что делаю это чаще, — подумал я.

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

Я попробовал. Я не могу точно вспомнить, какой тип я получил, но это было что-то типа INT, и при этом очень редкое. Описание действительно произвело впечатление. Он также пришел с предложениями, например, для какой профессии вы могли бы подойти. Один из них был программистом. На мгновение я отмахнулся, но потом подумал: «Я попробовал это, и мне это понравилось. Что мне терять? С тем же успехом я мог бы попробовать» — что я и сделал.

Program and Conquer (или я так думал…)

(2018–2020)

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

Урок

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

Я не мог заглушить голос. Через некоторое время я снова занялся программированием. На этот раз я совершил другую ошибку. Какое-то глупое внутреннее убеждение заставило меня думать, что если что-то бесплатное, то оно не может быть хорошим… поэтому я отказался от freeCodeCamp в пользу платной платформы под названием Udacity.

В итоге я закончил некоторые из их курсов (которые они обманчиво называют наностепени):

  • Бизнес-аналитика
  • SQL
  • Введение в программирование
  • Программирование для науки о данных с помощью Python

Из этих четырех я бы сказал, что только курс SQL был действительно хорош. Тем не менее, вы можете получить тот же материал на freeCodeCamp, Codecademy или Udemy бесплатно или за 1/10 цены.

По сей день я разрываюсь насчет Udacity. В этом определенно есть что-то хорошее, но я считаю, что плохое намного перевешивает, по крайней мере, когда я использовал его еще в 2019–2020 годах. Он очень ориентирован на проект, и идеи проектов тоже не банальны, но обратная связь и поддержка, которые вы получаете, обычно поверхностны и тусклы. Учитывая, что это должно быть одним из его основных преимуществ и что курсы недешевы, я думаю, что это не лучший выбор.

В то же время я безрезультатно пытался заставить свою компанию инвестировать в меня. Несмотря на то, что мой менеджер был на 100% на моей стороне и делал все, что было в его силах, чтобы это произошло, окружающая среда была очень токсичной, и люди рассматривались только как ресурс, который нужно выжимать как можно больше. Мое разочарование усиливалось.

Code Asylum (или как я научился не волноваться и полюбил борьбу)

(2020–2021)

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

Я начал изучать JavaScript в учебной программе и столкнулся с трудностями. Я мог понять основы, но как только я добрался до Algorithm Challenges, это было все равно что удариться головой о кирпичную стену. На выполнение самых простых задач у меня уходили дни, и даже тогда я чувствовал, что не совсем понимаю, что происходит.

Именно тогда я начал знакомиться с печально известным врагом программистов: синдромом самозванца.

Я так расстроился из-за этих проблем и снова бросил учебу. Хотя полностью сдаваться не хотелось. Мне нужно было что-то, чтобы попрактиковаться и укрепить основы. Я нашел Codewars и начал решать самые простые ката, так как понял, что они помогут мне закрепить эти основополагающие концепции. Я делал это в течение нескольких месяцев, все еще изучая некоторые основы HTML и CSS, пока не почувствовал себя уверенно, чтобы снова возобновить учебную программу JavaScript.

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

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

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

Другой онлайн-поиск случайно выдал название School of Code — бесплатный четырехмесячный онлайн-учебный лагерь, базирующийся здесь, в Англии. Это было слишком хорошо, чтобы быть правдой, но это было правдой. Я подал заявку, не задумываясь, и прошел четырехэтапный процесс подачи заявки, который занял, если я правильно помню, около месяца.

Пока я все еще ждал отзывов о своей заявке, я уволился с работы — мое терпение лопнуло. Это был большой риск, так как попасть в буткемп было не дано.

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

Coder Scrolls: учебный лагерь

(2021 — настоящее время)

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

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

В основном он охватывал следующие темы и технологии:

Это была в высшей степени групповая деятельность. Каждую неделю нас объединяли с одним или двумя буткемперами, чтобы мы учились работать в команде. Мы начинали день с одного часа Codewars, чтобы усовершенствовать наши навыки вычислительного мышления и сохранить наши знания синтаксиса. Остаток дня был поровну разделен между теорией и практикой. Неделя заканчивалась днем ​​хакатона в пятницу, где мы весь день работали над одним проектом, который представляли остальной команде и тренерам.

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

Урок

Я говорю это не для того, чтобы кого-то обескуражить. Проблемы будут возникать всякий раз, когда вы работаете с кем-то еще, это часть человеческого опыта на этой планете. Задача состоит в том, чтобы научиться правильно справляться с такими ситуациями, чтобы достичь компромисса, который сделает всех (в разумных пределах) счастливыми и нанесет наименьший ущерб (или не причинит вообще никакого) в процессе. Это навык, который приобретается с преднамеренной и преднамеренной практикой. Если вы просто попытаетесь пассивно ориентироваться в ситуации, это не поможет и не сделает вас лучше.

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

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

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

Кодер 3: Дикая (работа) охота

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

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

Почему такая разница между подачей заявки через буткемп и вне буткемпа? Нет подсказки.

Тем временем я все еще работал над личными проектами, чтобы улучшить свои навыки и портфолио, и регулярно публиковал сообщения в LinkedIn и Twitter, чтобы создать и поддерживать присутствие в Интернете.

Один в интервью

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

Домашние тесты будут варьироваться от разумных упражнений, в которых вы создадите небольшой проект с несколькими основными функциями, до ката в стиле Codewars и задач в стиле LeetCode, в значительной степени опирающихся на алгоритмы и структуры данных. Это действительно была смешанная сумка.

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

В какой-то момент я случайно заметил объявление о вакансии на LinkedIn, которое почти прошло мимо меня, так как Джуниор был указан только в описании объявления, а не в его названии. Я подал заявку без особых надежд, это была просто еще одна работа из десятков, на которые я подавал заявки… но я получил ответ по электронной почте с вопросом, есть ли у меня время для чата. Одно привело к другому, и меня попросили дать живое интервью по программированию.

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

Тем не менее, я, должно быть, сделал что-то правильно, потому что через несколько дней я получил предложение, и я все еще работаю здесь. Счастья и прогресса :)

Рассказ о первых нескольких месяцах моей работы в качестве реального разработчика станет темой следующего поста.

Бонусы

В заключение несколько ключевых личных выводов из этого долгого (и того стоящего) путешествия.

  • Ваше резюме не нуждается в экстравагантном дизайне, если только вы не нацелены на роли UI/UX. В некоторых случаях, в зависимости от первоначальной обработки, эксцентричный дизайн может даже навредить.
  • Ваше младшее портфолио не обязательно требует сумасшедших приложений или огромных и сложных архитектур. Можно использовать некоторые классические идеи, если вы придадите им свой личный оттенок. Одним из моих проектов, который привлек наибольшее внимание, были крестики-нолики по мотивам фильма «Рокки IV»!
  • Открытый исходный код — это здорово. Используйте это.
  • Социальные сети — это здорово, если вы курируете свою ленту и сеть. Используйте это.

Что теперь? Что дальше?

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

Тем не менее, я все еще люблю работать над личными вещами в свободное время. Наконец-то я почувствовал, что у меня есть навыки, чтобы заняться тем, что интересовало меня с раннего детства: разработкой игр. Это забавно. Так все началось, и спустя 20 с лишним лет я вернулся к этому.

Короче говоря, я начал изучать Phaser.js и создаю свою первую игру под названием Texas, Aurora, сайд-скроллер, действие которого происходит на Дальнем Западе. Более подробную информацию вы можете найти на сайте: True Self Games или в Twitter.

Оставайтесь с нами и продолжайте учиться! Вы можете сделать это.

Первоначально опубликовано на https://antonioriccelli.hashnode.dev.