Последний в этом году пост посвящается новичкам. Одна из самых сложных проблем в начале пути, ещё в процессе обучения - получение опыта реальной разработки. Я говорю про тот период, когда камень-ножницы-бумага уже давно позади, но до реальной разработки ещё далеко. На этом этапе действительно возникает диллема: где брать опыт, если участие в реальных проектах и даже просто написание тестовых - пока что недостижимый уровень, а решение задачек на LeetCode не требует комплексного мышления? (В каждой задачке нужно реализовать всего одну функцию, у которой уже есть чёткое ТЗ, а значит не нужно думать обо всём проекте и о том, нужна ли вообще такая функция. Да и решение одной задачи занимает от минуты до нескольких часов и даёт меньшее чувство удовлетворения долгой работой и её результатом)
Есть сомнительное решение - пет-проекты. Сомнительное, потому что может не сработать по нескольким причинам:
1️⃣ В начале пути ваша база знаний кратно увеличивается за короткие промежутки времени и часто полностью обновляется. Это приводит к быстрому "устареванию" кода, отставанию его уровня от знаний разработчика, и в результате ещё недавно актуальный код превращается в легаси, который сложно поддерживать.
2️⃣ Почти наверняка код будет отчасти нерабочий, ведь у вас нет никакой насмотренности, и вы не видите проблемное место. Нерабочий код вызовет кучу ошибок, которые далеко не всегда на него укажут. И, если у вас нет ментора, то вы посидите над ошибкой, ничего не нагуглите и просто забросите, не доведя его до конца.
3️⃣ Если пет-проект вы выбрали сами, но при этом у вас есть какая-то программа обучения(курс или самостоятельно созданный список тем), то, вероятно, темы оттуда не будут пересекаться с тем, что вам нужно в проекте, и вы будете разрываться между теорией и практикой. Хорошо, если пет-проект есть в этой программе, в таком случае этой проблемы не возникнет. Иначе придётся либо соблюдать грамотный баланс, либо отдавать себя целиком практике. Когда я был новичком, мой ментор просто давал мне проекты и мы придерживали теорию, после чего я к ней возвращался.
Перед тем, как писать первый пет-проект, всё же посмотрите тестовые(например, чекните мой
SOCIAL SHARE CARD GENERATOR