Чем быстрее изучающий разработку человек столкнётся с реальной жизнью, тем лучше. А столкнуться с ней можно только во время полноценной работы.
Нет никаких законов, регулирующих в какой момент человек может начинать искать работу программистом.
Но если бы такой закон существовал, то он звучал бы так: «Чем раньше, тем лучше».
Уверенность в своих знаниях и навыках не появится вплоть до первого успешно пройденного собеседования. Скорее всего, и после него она не появится — придётся запачкать руки реальными задачами, чтобы понять, чего ты стоишь.
Только через прохождение собеседований, выполнение тестовых заданий и в какой-то счастливый момент работы над настоящими проектами появится примерное представление об уровне своих знаний и навыках.
Поэтому начинать работу нужно уже сейчас: рассматривать все вакансии для джуниоров, бесплатные и платные стажировки, выискивать небольшие проекты на фрилансе, искать возможность сделать что-то стоящее для людей вокруг.
Мнения менторов
Проходить собеседования — это отдельный навык, который можно получить только проходя собеседования. Для себя я выработал следующую практику:
Откликнуться на все возможные предложения о работе -> Назначить 10 собеседований на одну неделю (одно утром, одно вечером).
Ко второму дню ты уже скорее всего вспомнишь все ответы на каверзные вопросы, которые могут быть, и будешь чувствовать себя уверенно на всех последующих; к третьему дню ты уже будешь знать, какие компании тебе нравятся; к четвертому — от каких предложений можно отказаться.
Вторая практика, которую я считаю классной: "Начни писать сегодня, и завтра у тебя в опыте будет на 1 день больше". Придумай себе клиента, придумай себе задачу, реши её, впиши их к себе в резюме. Нет идей? — обратись к сообществу, спроси нужна ли кому-нибудь помощь. Поучаствуй в чужом проекте бесплатно. За экспу.
Ну и наконец, помни, что не всё зависит от тебя, и иногда получение оффера — это просто абсурдное стечение обстоятельств.
Поиск работы в первую очередь нужен для того, чтобы понять чему учиться. Открываем понравившуюся вакансию, и в ней написано, какие технологии нужно знать, чтобы попасть на эту работу. Начинаем учебу. Открываем википедию и читаем про все, что не знаем. Записываемся на курсы или ищем ментора, если что-то показалось сложным.
Если удастся направить вектор своего обучения с этой стороны, то и работа найдется быстрее. Нужно обязательно уйти от того мышления, которое часто складывается в школе или институте - "учу что мне дают, сдал экзамен и забыл". Можно представить себе, что ты собираешься стать ученым и хочешь попасть в лабораторию для научных исследований. Покажи своим будущим коллегам, что ты интересуешься тем же, что и они, и тогда они скажут: "Да, у этого парня немного опыта, но он тоже фанат квантовой механики. Мы его берем!"