Привет, друзья!
Сегодня весь день у меня как-то не задался: чувствую себя каким-то уставшим, разбитым, всё из рук валится и вообще, настроение ниже плинтуса. Нет никакого желания браться за клавиатуру, но что-то написать всё равно нужно так как люди ждут.
Итак, завершилась череда осенних праздников и жизнь снова возвращается в привычное русло. А заодно возвращается и пятидневная рабочая неделя с ночными сменами, поэтому на прошлой неделе у меня была последняя возможность серьёзно погрузиться в учёбу. Не могу сказать, что я её не использовал, я действительно успел немало, но всё равно есть какое-то ощущение упущенного времени и того, что большую его часть я занимаюсь не совсем тем, чем надо.
Добил-таки наконец курс по Экспрессу на Хекслете. Последние уроки давались нелегко, особенно тот, где рассказывалось про сессии и аутентификацию. Несколько раз читал и перечитывал его с начала, много гуглил, а затем тщательно разбирал решение, чтобы увидеть и понять как это работает на практике. В итоге вроде как понял, но честно говоря, не уверен, что смогу повторить. В общем, нужна практика, много практики.
Как я уже упоминал, по мере прохождения курса я повторял всё то же самое локально на своём компьютере, постепенно внося изменения в учебный проект и расширяя его функционал в соответствии с пройденными темами. В итоге, по окончании курса в моём гитхабе появился полноценный работающий блог на Экспрессе. Конечно, без всяких там красивостей и всего этого, но зато выполняющий все свои основные функции: регистрация нового пользователя и авторизация на сайте, добавление, редактирование и удаление постов. В целях демонстрации залил всё это дело на гитхаб, хотя это и не окончательная версия, я буду продолжать работать над ней далее и улучшать по мере того, как буду узнавать новые вещи.
В рамках профессии “Бэкенд JS-программист” мне осталось пройти еще 3 курса: “JS: Предметно-ориентированное проектирование”, “Базы данных: SQL (DDL/DML)” и “Базы данных: SQL (DQL)”. Конечно, хотелось бы поскорее приступить именно к последним двум т.к. базы данных это для меня сейчас реально важная тема, без знания которой невозможно назвать себя настоящим бэкенд-программистом, пусть даже и начинающим. Поэтому постараюсь пройти их как можно скорее.
Просматривая вакансии, заметил, что буквально в каждой второй как требование значится знание и опыт работы с PHP. Конечно, об опыте в моём случае говорить не приходится, но хотя бы знания точно не помешают, поэтому параллельно также принялся осваивать профессию пэхэпэшника. Правда, на данный момент прошёл всего буквально несколько заданий, больше провозился с настройкой рабочей среды: установкой самого PHP, плагинов для Атома и всего такого. Конечно, после того, как делал то же самое для JS, это уже не так сложно, поскольку общие принципы мне уже известны. Например, мне уже не нужно объяснять что такое пакетный менеджер и в какой папке в Линуксе должны располагаться исполняемые файлы, но всё равно некоторые моменты заставили попотеть.
Честно говоря, PHP мне как-то сразу не понравился. Вроде в какой-то мере и похож на JavaScript (по крайней мере, в плане синтаксиса), но в то же время… ну вот какой-то он не такой. После родного JS всё кажется каким-то другим: уродливым, невзрачным и неудобным. Чего стоят только эти ужасные “доллары” перед именами переменных! Быть может, у меня уже началась та самая пресловутая деформация мозга, от которой страдают программисты, которым всё время приходится писать только на одном языке? А может это просто с непривычки так кажется, а со временем вольюсь и привыкну. Поживем — увидим.
Далее, решил, что было бы хорошо немного наполнить свой гитхаб чем-то полезным и не придумал ничего лучше, чем залить туда собственные решения заданий с Хекслета. Занимался этим полдня и всю ночь, успел залить целых три курса (причем курс “основы” порешал заново специально для этих целей, это заняло всего часа 2-3 чистого времени, что не может не радовать :). Но буквально на следующее утро получил замечание от Кирилла, что вообще-то так поступать нехорошо и всё следует немедленно удалить. И дело даже не в том, что другие студенты будут подглядывать, а не учиться думать своей головой, а в том, что таким образом я просто напросто беру и сливаю в сеть платформу Хекслета. А это очень-очень плохо. К тому же, по его словам, работодателей мало интересуют учебные задачки, а вот что действительно важно выкладывать на гитхаб — это решения тестовых заданий от разных компаний, которые можно найти, например, здесь.
Конечно же, репу с решениями я мигом убрал, ну и решил, что не лишним будет написать об этом здесь, чтобы другие знали и не повторяли моих ошибок.
Заодно как раз обсудили с Кириллом мои следующие шаги в обучении. На данный момент я несколько затрудняюсь с выбором в какую сторону мне двигаться дальше. Просматривая джуниорские вакансии, а конкретно — требования к этим вакансиям, я понимаю, что мне есть еще много куда стремиться. Даже если опустить то, что почти везде требуется 1-2-3 года реального опыта работы (что я вообще считаю странным и диким, когда речь идёт о вакансии для новичков), в дополнение к тем навыкам, которые у меня уже в принципе имеются, обычно хотят еще и опыт работы с PHP в том случае, если речь идёт о бэкенде. А от претендентов на фронтендерские позиции кроме HTML и CSS, которые я и так знаю, мягко говоря, с натяжкой, обычно требуют знания jQuery и фреймворков (обычно это или Angular или React). Всё это — безусловно полезные и интересные вещи и если я хочу уметь профессионально делать сайты от и до, то мне обязательно надо знать и то и другое, но в то же время я понимаю, что не могу разделиться надвое и начать развиваться одновременно в обоих направлениях. Всё-таки это достаточно серьёзные темы, требующие глубокого погружения, да и времени на их изучение понадобится далеко не два дня. В общем, в последнее время вопрос “куда двигаться дальше” волновал меня очень сильно. Кирилл посоветовал мне пока что продолжать двигаться в том же направлении, что и сейчас: разобраться с базами данных и с таким понятием как ORM (пока что даже не гуглил по этому поводу и не знаю, что это за зверь такой), далее освоить PHP и микрофреймворк Lumen (думаю, это такой же аналог Express, только для пхп). PHP в моём случае Кирилл посоветовал изучать на сайте Exercism, выполняя там задачки, а когда достаточно хорошо набью руку, переходить к освоению фреймворка и переписать на нём мой блог с курса по Экспрессу. Ну и, естественно, решать как можно больше тестовых заданий.
В общем, как-то вот-так. Как видите, работы ещё — непочатый край, так что уже сегодня вечером буду приступать потихоньку.
А вы знаете: пока дописал статью, даже настроение как-то улучшилось. Вот она — целебная сила блога! )))
Желаю всем всего наилучшего, хорошего настроения и плодотворной недели! Ну а я пошёл пушить этот пост и отдыхать после ночи.
Пока!