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

Если вы не африканец и читаете мою историю, я надеюсь, она вам понравится так же, как и африканцам. Нет лучшего способа рассказать историю, чем наш стиль и вкус 😆.

Как я вообще стал разработчиком?

Что ж, нет ничего особенного, что привело меня к тому, чтобы стать разработчиком. Первое, что подтолкнуло меня в этом направлении, - это разговоры с моим учителем информатики и некоторыми одноклассниками в старшей школе (2008–2009 гг.). К тому времени я уже пользовался компьютерами, но кое-что еще не делал с Excel и Powerpoint. Однако эти разговоры открыли мне глаза на множество возможностей.

Больше всего меня заинтересовало изучение Sun Microsystems и того, как Java работает на многих устройствах, которые я использовал каждый день. Это было до того, как они были приобретены Oracle. Я слышал об университете Sun в Японии (ну, говорят, что он связан с Sun Microsystems), и мне очень хотелось поехать в Японию. Хотя я не уверен, что такой университет существует.

Перенесемся в 2 с лишним года после того, как у меня возникло горячее желание владеть крупной софтверной компанией, я впервые столкнулся с программированием. У меня только что появился новый игровой ноутбук, и мне так хотелось с ним сделать. Я наткнулся на Qbasic и начал с ним играть. Затем я нашел Liberty BASIC, и я обещаю вам, что тогда это было похоже на рай для разработчиков 😎. Я преодолел так много ограничений в Qbasic и смог написать больше интерактивных программ.

Так или иначе, я зашел в Интернет и начал копаться в компьютерах, пытаясь узнать больше. Я много узнал о компьютерах, приложениях, сетевых системах, даркнете и квантовых вычислениях. Это был 2011 год. По какой-то причине я начал глубже копаться в хакерстве (этичном хакерстве). Я не спал всю ночь, переходя с одного веб-сайта на другой и пробуя много найденных мной руководств. Я так сильно хотел быть этичным хакером, что мне так захотелось пойти изучать Компьютерная безопасность и криминалистика в Гринвичском университете в Лондоне. Думаю, в то время это называлось чем-то Cyber ​​Security.

Затем я наткнулся на J2ME и увидел, как можно распаковать файл .jar с помощью WinRAR. Я мог редактировать файл манифеста с помощью блокнота и изменять некоторые части скомпилированных файлов .class с помощью HxD Hex Editor. С тех пор моя жизнь никогда не оставалась прежней. Тогда я поигрался с мобильным приложением 2go и Opera mini и смог изменить некоторые их части. Много позже я узнал, что это незаконно, поэтому, пожалуйста, если вы из 2go или Opera и читаете это, приношу извинения за это. Пожалуйста, не подавай на меня в суд за все, что у меня есть, потому что ты будешь слишком зол на меня за то, что у меня мало что в конце дня 😭.

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

Путешествие продолжается

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

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

Постепенно я научился делать это лучше. Я узнал, как разместить свой сайт на сервере виртуального хостинга. Я помню, как много читал об этом, и многие авторы сочли это действительно большим делом. К тому времени, когда я это сделал, было довольно просто, что какое-то время я боялся, что, возможно, совершил ошибку 😆. Я научился работать с MySQL и составлять свой код в классы, чтобы пользоваться преимуществами ООП. Я узнал о структурировании своих проектов, поэтому есть некоторая ясность, особенно с моими статическими активами. Я узнал о MVC и открыл для себя Smarty templating engine. Я узнал о настройке системы динамической маршрутизации и прохождении всего через контроллер. Тут и там я узнал еще несколько уловок.

Снова подул ветер, и я решил попробовать создавать приложения для мобильных устройств 🤦‍♂. Это явно не сработало, потому что Android Studio была слишком тяжелой для моего ноутбука в то время. До этого я полностью оставил сферу разработки и занялся графическим дизайном и печатью 🤦‍♂. В то время я занимался дизайном и печатью футболок, и у меня были контакты в Китае, которые могли бы поставлять мне качественные футболки, как только рынок начнет расти. Рынок для меня никогда не процветал.

Меня снова подул ветер в социальные сети и цифровой маркетинг. В тот период я ​​специализировался на контент-маркетинге и рекламе. Думаю, у меня все получилось хорошо, или, может быть, я просто был очень плох, и в то время не было никакой суматохи. Думаю, какое-то время я ходил как влиятельный человек без влияния, просто шуметь и звучал умно, как будто я что-то знал о цифровом маркетинге 🤦‍♂.

Притчи 29:18 (KJV) - «Где нет видения, гибнут люди…»

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

Я вернулся к технологиям и на этот раз серьезно занялся веб-разработкой. Начал изучать фреймворки, рабочие процессы и все те многие вещи, которые мы сейчас используем ежедневно на работе. Я не прекращал заниматься цифровым маркетингом и не прекращал заниматься бизнесом в целом. Я был частично слеп, поэтому не видел, насколько мне нужно расти в этой технической сфере. На самом деле, это было совершенно по другой причине, по которой я попал на стажировку HNG 2.0. Хотя я знал про 1.0, но чувствовал: «А… Вы прошли этот уровень. Пусть новички идут учиться. На стажировку меня подтолкнула угроза инвалидности. Я почувствовал: «Ха… Смотри вызов o. Вдобавок к этой мелочи. На самом деле, я бы вам показал, кто здесь главный ». Следующие 3 месяца после этого изменили бы для меня правила игры.

Все, что я узнал за эти годы, теперь, наконец, подвергалось проверке. Стажировка была очень практичной, и в ней абсолютно не было места для новичков (для этой версии). Единственные люди, которые пережили воскресные вечерние обзоры, были либо хорошими разработчиками, либо очень быстрыми учениками. Быстро обучающиеся ушли с высоким кровяным давлением и боевыми шрамами 😆. Более опытные люди всегда сильно потели. Мне приходилось делать это, создавая проекты для клиентов и пытаясь вести бизнес, который я основал одновременно. Маленькое «Я отключу тебя, если ты не завершишь эту задачу», и я поклялся умереть поверх этой штуки 😆. Я не могу опозорить своих деревенских людей, знаете ли.

Оттуда это был совершенно новый опыт. Во-первых, мне пришлось заново выучить JS, и я оценил обновления языка. Это заставило меня полностью сбросить jQuery, поскольку в нем больше не было необходимости. Затем я перешел на JS-фреймворки (React и Vue) и снова почувствовал, что такое любовь. Тогда мне пришлось так много использовать Laravel, что я почувствовал, что ничего лучше не может быть. Затем мне пришлось серьезно отнестись к Node.js, потому что я имею в виду, что вам нужно было запускать эти приложения React. Для кого-то, кто так ненавидел фреймворки (да, я был одним из тех людей), я узнал все и все, о чем слышал. Мне повезло, что у меня был опыт того, на что был похож старый порядок, поэтому многие из моих знаний видели меня как «А… Так вот как они это делают сейчас» 😆. Должен признаться, я чувствовал себя очень старым.

Задача 100 Days to Pro

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

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

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

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

Изучая так много и так быстро, я понял, что мне нужно научиться гораздо большему, и мне не хотелось ничего, кроме как узнать больше (ну, кроме хорошей еды 😀).

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

Когда я начинал, я задавал действительно глупые вопросы, потому что боялся ошибиться, чтобы меня не выгнали из команды 😭. Это самый большой стек технологий, над которым я работал до сих пор, и из него можно многому научиться. Я не мог позволить себе упустить эту возможность. В то же время я боялся выглядеть глупо, задавая эти вопросы, поэтому мне пришлось учиться очень быстро. Некоторое время мне приходилось менять вещи по несколько раз с каждым пиаром (страх ужасен). Я делал глупые ошибки, потому что боялся. Каждый раз, когда моя слабина пищала, я говорила «Хорошо… Вот и все. Ваше мошенничество обнаружено, и пора уходить. Ваш бессмысленный код сломал сервер сейчас ».

Наблюдение за моим техническим менеджером в Интернете всегда сильно пугало меня. Когда я вижу, что он издает звуковой сигнал, я спрашиваю: «Боже, я должен выйти на улицу, чтобы гром мог меня зажечь, или эта земля просто откроется, и я войду внутрь?». Затем, мало-помалу, я начал расслабляться после того, как понял, что никто не преследует меня, а мой бессмысленный код еще не сломал сервер. Когда что-то ломается на любом из наших серверов, я сначала проверял, связано ли это с только что сделанным PR. Затем я проверял, попал ли мой код на этот сервер в последнее время или мог ли я вообще каким-либо образом контактировать с этим сервером. Наконец, я иду проверить, в чем может быть проблема 😆. Синдром самозванца - это ужасно 😭 😭 😭.

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

Я добрался до Pro?

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

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

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

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

Поздравляю с отличным 2019 годом 🥂.