Всем привет,

Более 4 месяцев назад, когда я разместил на Reddit мое портфолио, которое я разработал, пройдя онлайн-курсы, и получил много мотивационных отзывов. Прошло время, и теперь я наконец могу сказать, что работаю разработчиком программного обеспечения уже более 3 месяцев и чувствую, что с каждым днем ​​расту как профессионал. Но все по порядку…

Короче говоря, я парень из России, который в 2013 году сразу после школы отправился изучать бизнес-администрирование в Канаду. В 2017 году я закончила обучение по специальности бухгалтерский учет и финансы и 2 года проработала в аудиторской компании. Условия работы были очень хорошими, зарплата для недавнего выпускника была очень приличной (особенно для меня из развивающейся страны) и в целом это была не очень напряженная работа, однако я чувствовал, что я что-то не так делаю что я хочу сделать, и мне нужно изучить другие варианты. Долгое время моей целью было поступить в магистратуру по финансам или на какую-нибудь программу MBA, но, поскольку я не учился в престижном университете и не имел финансовых возможностей оплатить первоклассную программу, мои шансы на осуществление этого стремления были невелики.

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

Мой первоначальный опыт работы с чем-то, связанным с программированием, был осенью 2017 года, когда я прошел несколько курсов по Python на datacamp. Это было чисто из интереса, и в то время у меня не было планов заниматься программированием как карьерой, поэтому я занимался только 3–4 часа в неделю в течение 3 месяцев, а затем сдался.

В конце концов, к весне 2019 года я был уверен, что хочу бросить работу и заняться чем-то другим, так что все: имея достаточно сбережений, я уволился с работы и купил билеты обратно в Россию. Идея заключалась в том, чтобы взять свободное от работы время, чтобы сосредоточиться на изучении вещей, которые мне нужны, чтобы стать разработчиком программного обеспечения, и провести некоторое время с семьей после 6,5 лет жизни за границей.

В начале я действительно не знал, с чего начать и в какой области разработки программного обеспечения я хотел бы заниматься, поэтому я скорее проходил различные вводные специализации на Coursera, такие как основы программирования на Java и программной инженерии, Python для всех, Agile Разработка и даже математика для машинного обучения, а также куча случайных курсов, которые я не закончил по разным причинам. Примечательно, что все эти курсы были очень интересными для изучения и определенно помогли мне заложить некоторый фундамент. Однако, чувствуя себя очень расслабленно, живя дома и не имея цели сосредоточиться на конкретном предмете CS, я бы не сказал, что я был настолько сосредоточен, насколько мог бы. Пока в октябре 2019 года я не узнал о freecodecamp.

С тех пор, после короткого перерыва в трехнедельной поездке в Таиланд, я решил в первую очередь сосредоточиться на изучении достаточного количества вещей, чтобы стать фронтенд-разработчиком. Будучи более визуальным человеком, а также имея в виду, что попасть в мир разработки программного обеспечения немного проще с помощью веб-разработки, я начал следовать учебной программе FCC. В итоге я прошел там 4 курса: HTML/CSS, основы Javascript, курс визуализации данных D3.js и, наконец, курс основ веб-разработки с акцентом на React, Redux, jQuery, Bootstrap и SCSS.

К июню 2020 года я уже закончил учебную программу FCC Frontend Development и уже подготовил несколько небольших проектов для своего портфолио, но я чувствовал, что мне все еще не хватает некоторых фундаментальных знаний, чтобы получить работу (возможно, из-за моего общего желания заняться чем-то как глубоко, прежде чем попробовать что-то вроде подачи заявки на работу), поэтому я прошел несколько дополнительных курсовых работ, таких как React Bootcamp и Responsive Web Design на Scrimba, а также я посмотрел много разных видео на Youtube (отдельная благодарность «Traversy Средства массовой информации").

К сентябрю 2020 года у меня было готово портфолио, и я начал более активно подавать заявки на вакансии, однако я всегда чувствовал некоторые основные вопросы на собеседовании, которые были связаны с фундаментальным пониманием того, как работает JS (цикл событий, замыкания, подъем, передача по ссылке и передача по значению). ), а также взаимодействие с серверной частью (например, коды HTTP-запросов, обещания и т. д.). Дошло до того, что мне отказали в стажировке в какой-то восточноевропейской аутсорсинговой компании, которая платила своим стажерам всего 200 долларов в месяц, потому что я не прошел их автоматически сгенерированный тест на собеседование, в котором были вопросы по таким вещам, как библиотека тестирования Jasmine и бот прислал мне письмо с отказом.

Я чувствовал себя подавленным и собирался бросить все, но была еще одна вещь, которую я хотел попробовать. Поэтому последним курсом, который я решил пройти, чтобы укрепить свое понимание этого вопроса, стал курс Advanced JS Concepts Андрея Негойе на Udemy.

С более глубоким теоретическим пониманием JS я только что снова начал подавать заявку и получил сообщение от рекрутера из одной из ведущих ИТ-фирм в моем регионе. Она организовала для меня видеозвонок, во время которого я поговорил с одним из их ведущих разработчиков, который также является архитектором одного проекта. Потом мне прислали тестовое задание, с которым я справился довольно хорошо. И, наконец, было еще 2 интервью: одно с этим ведущим разработчиком и их разработчиком полного стека, а другое с одним из менеджеров. В результате меня наконец взяли на работу! И, к моему удивлению, они оценили мой уровень как Junior+/Pre-Middle и предложили зарплату намного выше, чем зарплаты джуниора в моем городе.

К концу октября я начал работать фронтенд-инженером над некоторым программным обеспечением, которое наша команда разрабатывала для энергетической корпорации в моем штате, и я был почти единственным, кто работал над фронтендом (разработчик с полным стеком только время от времени выполнял задачи фронтенда). За короткое время мне пришлось освоить Typescript и Material UI, а также узнать много нового о работе в ИТ-команде, которая следует Agile-методологиям, использует CI/CD и делает кучу других интересных вещей.
К январю все стало немного сложнее. так как подходили сроки, несколько дней я работал по 16 часов, некоторые недели работали без выходных. Это было тяжело, но также это был большой профессиональный опыт, который помог мне расти.

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

Сейчас я прохожу курс по дизайну UI/UX и фреймворку Django. Далее я планирую пройти курсы по AWS, React Native, Node.js/Express, Postgres и MongoDB, а также по структурам данных и алгоритмам. Прочтите несколько книг по программированию по чистому коду и, конечно же, изучите больше интерфейсных технологий. Прямо сейчас собираюсь изучить MobX и Formik для работы, в следующий раз начнётся изучение Next.js и Jest.

Я очень благодарен всем людям, которые помогли мне попасть в мир программирования. Всем замечательным людям, которые делают эти курсы, и всем, кто когда-либо оставлял мне отзывы на форумах reddit и freecodecamp. Я действительно надеюсь вдохновить других разработчиков-самоучек продолжать идти вперед и никогда не сдаваться!

Всем привет :)

P.S. Вы можете проверить мой веб-сайт портфолио, если вам нравится здесь. Я не обновлял его с сентября, поэтому именно он помог мне устроиться на работу.

П.П.С. Вы также можете проверить мой github для любого исходного кода. Не стесняйтесь добавлять меня в LinkedIn, если вы хотите поддерживать связь.

П.П.С. Спасибо, что прочитали мою историю!