Еще одна катастрофа 2020 года?
Думаю, 2020 год будет очень запоминающимся на долгие годы. Он принес множество бед огромному большинству людей по всему миру. Я тоже был подвержен этому, не потому, что я заразился Covid-19, и не потому, что я был в Австралии во время лесных пожаров. Но я слепо двигался к моему давно решенному карьерному пути, и, хотя некоторые вещи были не так хороши, как должно было быть, зависимость от пути заставляла меня продолжать.
В феврале 2020 года мне оставалось 4 месяца (с половиной диссертации) до получения звания «доктор философии» в области политических наук и международных отношений, которому я посвятил десять лет своей жизни. Каким бы дипломированным кандидатом я ни был, чувство неспособности создать «настоящую» вещь преследовало меня, как призрак. Проходили дни, недели, месяцы, и я не мог избавиться от этого чувства. Я почти уверен, что многие из нас слышали, как стартапы или даже Apple используют фразу «Сделать мир лучше», верно? Что ж, это было главной движущей силой многих социальных дисциплин, но мы оказались в ловушке пустоты, о которой знал каждый умный человек, но не мог предпринять никаких действий. Увы! Я должен был принять меры и спасти свое будущее, поставив на карту свое прошлое.
В мае 2020 года я решился. Я собирался бросить свой текущий путь, перезагрузить свой разум и забыть о многих ненужных теориях, засоряющих мою ценную память, и заново проложить себе путь. О, парень! Мне было около 28 лет, я никогда раньше не программировал методично, только несколько простых скриптов длиной в несколько строк, ограниченный Python 3. Я совершил ту же ошибку, что и все, кто хочет изучать программирование, и зашел на YouTube , спросил, какие языки изучать и почему. Слава богу, это длилось недолго. Я сел, взял листок бумаги и начал писать:
- Что я хочу делать?
- Что мне нравится делать?
- Какими путями я могу идти? -
- Встречаются ли какие-либо пути с тем, что я хочу и люблю делать?
Переломные моменты
Бац! Я стремился к кибербезопасности. Я достал несколько книг и начал читать их, слушая подкасты, чтобы получить некоторый словарный запас и более широкое понимание. Особенно «Дневники даркнета», которые вел талантливый Джек Рисайдер, были - и до сих пор остаются - одним из моих еженедельных дел. Я ехал по этой трассе около месяца или полутора. Изучение кибербезопасности на лучших курсах Coursera, просмотр IppSec в свободное время и попытки применить полученные знания в виртуальных машинах с дефектами. Также присутствовал на CTF в моей стране, Турции, хотя я не смог пройти второй уровень на выбывание, тем не менее, 5 захваченных флагов из 12 были для меня большим плюсом, учитывая, что 45 дней назад мой уровень даже не был `` привет, мир '' ! '.
Примерно в конце июля или в начале сентября, разговаривая с близким другом, который только что уволился с работы в Германии, где он работал разработчиком Android, он открыл мне глаза во время обсуждения возможностей трудоустройства. Хотя в некоторых странах, например в США, кибербезопасность была чем-то особенным, я не жил в Штатах, в моей стране не было подобных предложений, и я не мог быть таким идеалистом - или чрезмерно оптимистичным, если бы я сказал - и использовать моя единственная золотая пуля для такой далекой цели. Поэтому, благодаря моему другу, Сафе Орхан, я решил изменить свой трек, на этот раз методично, и оставить кибербезопасность в качестве хобби, так что, возможно, в будущем я смогу вернуться к нему. О, я вернулась на круги своя и ждала девочку через 5 месяцев! Время шло очень быстро.
Другой похожий на брата друг предложил мне помощь, если я только пообещаю ему сделать все возможное, стремиться быть разработчиком мирового класса, а не посредственным. Лучшее из двух миров! Я встал на путь и приспособился к его пошаговой дорожной карте, связанной очень серьезно и методично, но при этом весело следовать.
Настоящее путешествие начинается
Проект Odin
19 сентября 2020 года я занялся веб-разработкой. Я был ответственен за свою семью, и приближалось прибытие третьего члена семьи, поскольку приближалось время родов. Между тем, Интернет и мобильная связь были действительно хорошими местами для начала, по крайней мере, до тех пор, пока у вас не появился некоторый опыт, а также появилось больше вакансий, если вы достаточно хороши. Хороший наставник сразу окупился. Мой друг, Мохамад Хасбини, давший мне клятву, направил меня на «Проект Odin», онлайн-платформу, управляемую сообществом, где вы можете изучить многие технологии, такие как Ruby on Rails, JavaScript, его фреймворки и библиотеки. Лучшее в The Odin Project заключается в том, что вы не запускаете свои коды в уже подготовленной песочнице, а вы вынуждены готовить свою среду, как в реальном сценарии. Хотя я изучал HTML и CSS, проекты были на самом деле не такими простыми, и Odin также загружал своих студентов множеством побочных преимуществ, таких как обучение управлению версиями (git), компиляция лучших и бесплатных статей и подталкивание вас к завершению некоторых серьезных задания. За это время я изучил HTML5, CSS3, Sass, Bootstrap, клонировал множество профессиональных веб-сайтов, а также в соответствии с последним заданием написал свой собственный небольшой CSS-фреймворк, имитирующий Bootstrap, и использовал его при выполнении моего последнего проекта.
В моем бесплатном приложении. время, я хотел получить дополнительные навыки и поэкспериментировать с кроссплатформенной платформой мобильных приложений Google, Flutter, и закончил 8 полноценных мобильных приложений, использующих язык Dart с Flutter. Кроме Bootstrap, я экспериментировал с Tailwind CSS и нашел его действительно очень приятным.
Ад JavaScript и CS50
Легко догадаться, что следующий шаг - JavaScript. Я обгорел в этом разделе. Мне было нелегко построить алгоритм, нужно было запомнить слишком много вещей, а синтаксис был каким-то некрасивым для моих глаз. Я нажимал на нее снова и снова, но JavaScript никогда не подходил ко мне. Что ж, мне нужно было как-то взломать JavaScript, мне нужно было найти обходной путь. Я нашел решение в том, чтобы отступить и взломать самого себя.
Может быть, основная проблема заключалась в том, как я был настроен так думать? Учитывая мое прошлое, мне пришлось приспосабливаться к моей новой жизни, и, возможно, мне нужно было начать правильно думать, прежде чем что-то ломать. Потому что в конце концов я мог запоминать вещи и продолжать печатать. Но мне хотелось получить удовольствие от понимания того, что происходит под капотом.
15 октября 2020 года я прыгнул на нашумевший Гарвардский CS50. Курс был очень плотным, действительно сложным, но чрезвычайно полезным. Я не помню, чтобы в последние пару лет было так весело, как когда я выполнял домашнее задание на языке C. Дэвид был действительно талантливым инструктором, и домашнее задание было разработано для того, чтобы научить вас понимать механизмы и шаблоны алгоритмов, а не запоминать синтаксисы. Теперь вы понимаете, почему 90% контента YouTube на самом деле не дает вам никакой пользы, кроме как запутать вас в учебном цикле?
Примерно в третьем квартале декабря, когда я закончил CS50 и CS50 Web, у меня было несколько сотен страниц с хорошо составленными лекциями, я добавил Django, Flask, SQL, C, Docker и другие технологии в свой инструментарий и использовал их в нескольких небольшие проекты. Затем я вернулся к JavaScript, чтобы посмотреть ему в лицо. Вы не поверите, но на этот раз JavaScript оказался чрезвычайно дружелюбным. В какой-то степени я могу сказать, что на данный момент это моя самая сильная мышца.
Нет Ebbs Only Flow
Четвертый квартал декабря 2020 года стал периодом метаморфоз. Мохамад, мой друг-наставник, сказал мне, что пора перейти на React. В тот день, когда я привозил жену в больницу для планового осмотра ребенка, нам сказали подождать пару часов, так как доктор был в операционной. К счастью, я был подготовлен, вытащил свой Kindle и начал читать документацию по реакции, скомпилированную в формате pdf. Если честно, после документации ArchLinux я редко видел что-то более аккуратное и дружелюбное. Я попытался съесть его, так как больше мне нечего было делать. Я дважды прочитал документацию и начал писать некоторые компоненты в холле больницы. Придя домой, я открыл свой ноутбук и написал свое первое приложение React, хотя он был исчерпан. Бесценный опыт.
В тот момент я понял важность двух вещей:
1) Главное - настойчивость и верная методология. Я отказался от JavasScript и взломал свой мозг, изучив основные концепции программирования, и это очень хорошо окупилось. У меня было очень мало проблем с адаптацией к новым идеям, а остальное было только вопросом синтаксиса. Если бы я не приостановил JavaScript и вместо этого настоял на том, чтобы стараться изо всех сил, не пытаясь понять, смог бы я по-прежнему чувствовать себя комфортно и счастлив, когда пишу его? Не думаю.
2) Кодирование как глагол - это просто действие набора текста, и это можно сделать, только если они заранее понимают, что им нужно делать. В противном случае все действия через некоторое время будут выглядеть как обезьяна, сидящая на машинке. Синтаксис ничего. Семантика - это почти все.
Помимо React, я также начал использовать TypeScript, потому что мне нравятся строго типизированные языки, а также TypeScript действительно очень дружелюбен. У меня впереди несколько целей, но, оглядываясь назад, я думаю, что за 100 дней это была неплохая дистанция, которую я преодолел.
В настоящее время я прохожу курс «Языки программирования», предлагаемый Вашингтонским университетом, и должен сказать, что уже чувствую, что становлюсь лучше в программировании.
Вне поля
Было несколько вещей, которые помогли мне работать более продуктивно. Одно из них - это полный ремонт моей рабочей среды. Мы с женой переделали дом и посвятили одну его часть мне, чтобы я мог сосредоточиться, не отвлекаясь.
Во-вторых, я прочитал много книг, и они действительно много раз помогали мне разобраться в вещах. За 100 дней я прочитал 17 книг и никогда не планирую бросать много читать. Настоятельно рекомендуется для тех, кто проводит время здесь и там и хочет оставаться в курсе последних событий.
В качестве третьего фактора, когда мне нужно что-то кодировать, я иду по старой школе. Возьмите блокнот и ручку и сначала напишите на обычной бумаге. Я создаю диаграммы и разрабатываю дорожную карту. Старый, но не устаревший метод «разделяй и властвуй». Написание самого кода проще всего, если вы знаете, что делать.
Вот четвертый совет: я перестал читать ненужные новости и проводить время в пустых обсуждениях. Вместо этого, если я хочу что-то посмотреть, это конференция на YouTube, если я хочу читать новости, я читаю hackernews, если я хочу участвовать в обсуждении, это на StackOverflow или на Reddit.
Пятое - я не позволял себе истощаться в водовороте обучения. Даже когда я смотрю некоторые учебные пособия, я стараюсь что-то добавить, стараюсь сделать его более функциональным и делаю серьезные заметки для дальнейшего использования.
Наконец, меня окружают люди, у которых есть свои амбиции и цели. Это помогает мне не сбиться с пути.
Мои цели на 2021 год!
Должен сказать, что я полностью доволен своим решением сместить карьеру и переключиться на программирование.
У меня есть пара целей, которые сделают меня счастливым, если я смогу их достичь. В первую очередь, я хочу быть лучшим отцом и лучшим мужем 😁 Это неизбежно требует от меня приличной работы, и в любом случае этот момент больше связан с общей темой этого сообщения в блоге 🤓 Я планирую получить хорошую работу , с дружелюбной атмосферой и, надеюсь, в компании, где я смогу развить свои навыки и дальше, не думая о конце месяца!
В качестве хобби я хочу начать и закончить проект LinuxFromScratch, хотя многие вещи уже готовы на бумаге с планом, я не мог найти шанса и преданности делу начать и закончить.
Наконец, я хочу развить необходимые навыки, чтобы иметь имя в отрасли. Я опаздываю в этот мир, учитывая, что мне 29 лет, но эй, дай мне шанс ✌🏼
Спасибо, что прочитали, и, пожалуйста, дайте мне знать, о чем вы думаете!