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

Я влюбился в программирование после нескольких занятий по C ++.

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

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

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

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

Сломался в Калифорнии

После череды посредственных профессоров я возненавидел экономику. Я больше не считал эту тему интересной.

Я не имел ни малейшего представления о том, чем буду заниматься со степенью экономиста, и не имел опыта работы после окончания учебы. Оказалось, что как иностранный легальный студент, я имел право работать год. Но была одна загвоздка: я мог работать только на работе, связанной с моей специальностью (экономика).

Так что я не мог даже работать стажером-разработчиком, каким бы хорошим я ни был!

Это меня сокрушило. Я сам изучал веб-разработку - HTML, CSS и даже экспериментировал с Ruby on Rails. (Все это было до того, как Куинси Ларсон даже создал freeCodeCamp.)

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

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

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

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

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

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

Серьезная канцелярская ошибка

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

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

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

Я убедил себя, что, возможно, это был гормональный дисбаланс из-за нездоровой диеты или чего-то еще.

Во всяком случае, дело в том, что меня снова облажали. И вот передо мной встал выбор:

  1. Собираю вещи и возвращаюсь в Египет, где мне придется ждать год, прежде чем я буду служить в армии два года. (Все молодые люди, живущие в Египте, должны служить в армии.)
  2. получить еще одну степень, чтобы я мог легально остаться в США в качестве студента.

После долгих уговоров моей семьи я решил остаться и поступить в аспирантуру в Миннесоте.

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

На данный момент у меня действительно не было выбора. Либо вернитесь к безработице и войне в пустыне, либо оставайтесь в США и надейтесь на лучшее будущее. Так что я собрал свои вещи и снова переехал в Миннесоту.

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

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

Он этого не сделал.

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

Мне приходилось вставать каждый день в 6 утра и проезжать снежные метели, чтобы я мог работать с минимальной заработной платой, упаковывая продукты. Затем я ходил на занятия по вечерам и делал вид, что заинтересован, пока университет забирал мои деньги - просто чтобы я мог продолжать оставаться в США на законных основаниях, пока я пытался понять, что мне делать.

Я жил один. Я никого не знал. И я не мог подружиться. Было почти Рождество, и я достиг дна. Крайняя депрессия была ежедневным спутником. Моя основная цель каждый день заключалась в том, чтобы не допустить самоубийства.

freeCodeCamp спешит на помощь

Я запустил freeCodeCamp.org зимой 2016 года. Не помню, как я о нем узнал.

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

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

Что ж, меня это полностью устраивало!

Когда я начал выполнять задания, мне снова напомнили о потенциале, который, по словам моего профессора информатики, он видел во мне. Мне напомнили, кем я хотел стать в жизни. И меня сразу зацепило.

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

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

Снова в школу с работой веб-разработчика

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

Поэтому я начал разбирать свои проблемы, чтобы посмотреть, как с ними справиться:

  • Чего я действительно хочу от жизни? Счастья
  • Что делает меня счастливым? Кодирование
  • Чем я могу зарабатывать на жизнь программированием? Стать разработчиком
  • Как я могу стать разработчиком на законных основаниях? (помните, что я иностранец, даже не иммигрант) Получите степень CS

Поэтому я решил подать заявку на программу бакалавриата по информатике в Университете Миннесоты в городах-побратимах.

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

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

Пока я ждал ответа о своем поступлении, я начал искать работу в университете. Была открыта стажировка на должность веб-разработчика, которая включала управление всеми веб-сайтами университета и аналитику. Для этого требовались знания HTML, CSS, JavaScript и Node.js, над которыми я работал и - благодаря freeCodeCamp - у меня было портфолио проектов, подтверждающих это.

Незадолго до Рождества я получил письмо о зачислении от факультета информатики. Но я все еще не получил ответа на свое заявление о приеме на работу. Для того, чтобы все это сработало, мне нужна была эта работа, чтобы платить за аренду, потому что я должен был уволиться со склада до начала учебы.

Через две недели после начала занятий мне позвонил менеджер проекта из отдела по работе с университетом, куда я подал заявку на вакансию. Она попросила меня прийти на собеседование в начале февраля.

Я пошел на свое первое собеседование. Это было с менеджером проекта и старшим веб-разработчиком из офиса. Они задавали мне вопросы о моем предыдущем опыте работы, который никогда напрямую не связан с веб-разработкой. Но они просмотрели мое портфолио и задали мне несколько вопросов о Node.js и JavaScript. Мне удалось их все решить. Я не помню, что это были за штуки, но они не были слишком сложными и были предназначены для проверки того, есть ли у меня базовые знания веб-разработчиков.

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

Через несколько дней позвонил менеджер проекта и попросил меня приступить к работе на следующей неделе.

Стажировка, Степень, FreeCodeCamp

Черт возьми, степень информатики - это интенсивно. Кодирования практически нет, а много математики и псевдокода. Конечно, они учили меня Си в течение моего первого семестра, но это было просто для компиляции его на ассемблер, а затем для перевода туда и обратно.

Но я нашел некоторые из сложных математических расчетов и глубокой логики действительно полезными, и у меня были приложения для веб-разработки. Это похоже на использование матричного представления системы сеток для перемещения элементов CSS в DOM и создания пользовательских эффектов. Или использовать известные методы доказательства для решения сложных алгоритмов. Но это ТРУДНО, и из-за того, что я учился на дневном отделении, я не мог продолжать заниматься freeCodeCamp.

С другой стороны, стажировка веб-разработчика была неполной, 20 часов в неделю. Я ходил из класса на работу и с работы на урок. Мне пришлось фактически использовать основы веб-разработки, которым меня научил freeCodeCamp на работе, и мне все еще приходилось изучать другие инструменты веб-разработки, такие как Sass, Gulp, GitHub, и работать с серверами Linux.

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

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

О, и по пути я встретил свою первую девушку. Решили пожениться после выпуска. Еще у меня появилось много хороших друзей, и у меня есть план игры на хоть раз в жизни.

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

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

Движение вперед

Путь к тому, чтобы стать разработчиком, нелегок. Я должен поблагодарить Куинси Ларсона и все сообщество freeCodeCamp за то, что они направили меня на правильный путь. Они помогли мне перевернуть мою жизнь, когда я потерял всякую надежду.

Это определенно не конец пути. Путешествие не прекращается, когда вы получаете работу.

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

Продолжайте кодировать и получайте от этого удовольствие!