8 мин

С чего всё началось: Мой путь в разработку программного обеспечения

Личная история о том, как я начал карьеру в IT в 15 лет, нашел первую стажировку, остался без ментора на второй день и понял, как ответственность и реальный опыт ускоряют профессиональный рост.

С чего всё началось: Мой путь в разработку программного обеспечения

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

В то время у меня не было большого опыта. Я не знал React глубоко. Я никогда не работал над реальным продакшн-проектом. Я не понимал, как устроены крупные кодовые базы, и уж точно не чувствовал себя готовым к работе в качестве профессионального разработчика.

Мне было 15 лет.

Оглядываясь назад, я понимаю, что начал свою карьеру не потому, что был готов.

Я начал, потому что мне предоставилась возможность — и затем мне пришлось стать готовым.

Это история о том, с чего всё началось.

До моей первой стажировки

Я начал изучать программирование в FayzTa'lim, где прошёл курс по full-stack веб-разработке.

На тот момент мои знания всё ещё были достаточно ограниченными.

Я знал HTML и CSS, а также обладал некоторыми знаниями по JavaScript и React. Я мог верстать относительно простые адаптивные сайты, но не сказал бы, что глубоко понимал их устройство.

Также я потратил некоторое время на изучение frontend-разработки через SAMMI.AC, что помогло мне выйти за рамки программы локального курса.

Что касается бэкенда, у меня был небольшой опыт работы с Python и Django. Но даже там мои знания были базовыми. Я мог работать с архитектурой в стиле MVC в Django и шаблонами, но даже не знал, как правильно построить и предоставить API.

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

Но было кое-что, чего у меня не было вообще:

реальный опыт.

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

Всё изменилось, когда я нашёл возможность пройти стажировку.

Моя первая стажировка

Я присоединился к программе Way2Job от SoffStudy.

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

Для кого-то вроде меня это была огромная возможность.

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

План был прост: в течение этих трёх месяцев я буду работать под руководством более опытного frontend-разработчика, который сможет стать моим ментором и помочь мне расти.

Моим ментором был Абубакр — сильный frontend-разработчик уровня middle+. Он глубоко знал фронтенд и также хорошо разбирался в бэкенде.

Я помню, как думал, что смогу многому у него научиться.

И я был прав.

Только не совсем так, как ожидал.

Мой ментор ушёл на второй день

В первый день ментор провёл со мной собеседование, чтобы понять мой текущий уровень.

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

Затем, на второй день, он сказал мне, что уходит из SoffHub.

И вот так, в один миг, я остался без ментора.

Я помню, как не знал, что делать дальше.

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

Но меня ждало кое-что другое.

Реальный проект.

Внезапно я стал работать над Soff.uz

Вместо того чтобы месяцами учиться в изоляции, меня сразу бросили на фронтенд Soff.uz.

Это был крупный существующий проект, написанный на Next.js.

В то время он казался огромным.

Там было так много папок, модулей, компонентов и фрагментов кода, что я часто даже не знал, куда смотреть.

И неприятная правда заключалась в том, что я ещё не понимал React или Next.js на достаточном уровне.

Но времени просто сказать уже не было:

«Мне нужно сначала это выучить».

Проект уже был перед глазами.

Работа уже ждала.

И я нёс за неё ответственность.

Именно тогда я усвоил урок, который остался со мной навсегда:

Ментор может ускорить ваш рост, но ответственность заставит вас расти.

Ответственность изменила всё

На тот момент другого frontend-разработчика в команду не привлекли.

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

Существовала основная платформа Soff, и параллельно мы строили новый фриланс-модуль — по сути, маркетплейс вроде Kwork, адаптированный под рынок Узбекистана.

Для меня это была колоссальная ответственность.

Я не был опытным React-разработчиком, который внезапно переключился на небольшой учебный проект.

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

Поэтому у меня был только один реалистичный вариант:

учиться.

Мне нужно было правильно выучить React.

Затем Next.js.

Затем инструменты и концепции вокруг них.

  • Redux
  • TanStack Query
  • SCSS
  • BEM
  • Feature-Sliced Design
  • SSR и CSR

И, что более важно, я должен был понять, как всё это связывается воедино внутри реального приложения.

Я не мог просто посмотреть туториалы и пойти дальше.

Я должен был что-то узнать, применить это, совершить ошибки, понять, почему это не сработало, исправить и продолжить.

Это изменило сам подход к моему обучению разработке.

Три месяца, которые изменили мою карьеру

В течение этих трёх месяцев я не прекращал учиться.

Мы работали над фриланс-модулем и в итоге воплотили его в жизнь.

Для меня этот проект стал чем-то гораздо большим, чем просто задание на стажировке.

Это был мой первый реальный опыт того, какова на вкус настоящая разработка программного обеспечения.

Я начал понимать, как React и Next.js ведут себя в продакшене.

Узнал больше о различных подходах к рендерингу.

Мне стало комфортнее работать внутри существующей кодовой базы, вместо того чтобы начинать всё с нуля.

Я понял, как задачи проходят цикл внутри команды.

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

И я понял кое-что ещё, чего не ожидал:

иногда самый быстрый способ вырасти — это получить ответственность, которая кажется немного больше, чем ты сам.

Вначале я чувствовал себя недостаточно квалифицированным.

К концу я стал совершенно другим разработчиком.

Не сеньором.

Даже близко нет.

Но я переступил важную черту.

У меня появился реальный опыт.

Я начал до того, как почувствовал себя готовым

Одна из странных вещей, когда ты молод в IT — это постоянное ощущение, что ты опоздал.

Мне было всего 15 лет, но я помню, как чувствовал, будто начал слишком поздно.

Были люди, которые, казалось, знали намного больше меня.

Были разработчики, которые уже создали впечатляющие проекты.

А мне всё ещё нужно было столько всего выучить.

Оглядываясь назад, я понимаю, что это чувство было абсолютно бессмысленным.

Я не опоздал.

Я был только в самом начале.

И единственная причина, по которой я смог продвинуться вперёд — это то, что я начал до того, как почувствовал себя полностью готовым.

Этот опыт изменил моё отношение к обучению и карьерному росту.

  • Вам не всегда нужен ещё один курс. Иногда вам нужна реальная проблема.
  • Вам не всегда нужен ещё один туториал. Иногда вам нужна ответственность.
  • И вам не обязательно знать всё перед тем, как начать. Иногда нужно просто начать, а затем учить то, что нужно, по ходу дела.

Что бы я сказал тому, кто начинает сегодня

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

На рынке много новичков, требования меняются, а ИИ меняет привычный подход к работе разработчиков.

Я не думаю, что есть одна простая причина, почему начать сегодня кажется сложнее.

Но я верю, что всё ещё есть хорошие способы получить свою первую возможность.

Не игнорируйте стажировки

Ваша первая работа не обязательно должна быть работой мечты.

Иногда первый шаг — это просто попадание в реальную среду.

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

Для меня стажировка стала началом моей карьеры.

Используйте ИИ, но не позволяйте ему заменять обучение

Когда я начинал, сегодняшних ИИ-инструментов для написания кода не существовало.

У меня были в основном документация, поиск, курсы и ChatGPT как текстовый собеседник.

Сегодня у вас есть гораздо более мощные инструменты. Используйте их. Задавайте вопросы. Разбирайтесь в незнакомом коде. Дебажьте быстрее. Учитесь на объяснениях. Создавайте вещи.

Но не используйте ИИ как способ избежать понимания того, что вы строите.

Используйте его, чтобы учиться быстрее, а не чтобы учиться меньше.

Стройте что-то реальное

Учебный проект полезен.

Но в конечном итоге вам нужно поработать над чем-то, где ваши решения имеют значение.

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

Этот опыт даётся нелегко. Но он невероятно ценен.

Не ждите, пока почувствуете себя готовыми

Это, пожалуй, главный урок, который я извлёк из своей первой стажировки.

Я не был готов, когда начинал. Я это знал. Окружающие меня люди, вероятно, тоже это знали.

Но я всё равно начал.

И ответственность за работу над чем-то реальным заставила меня расти гораздо быстрее, чем я ожидал.

Вам может казаться, что нужно выучить ещё один фреймворк, пройти ещё один курс или создать ещё один проект перед отправкой резюме.

Возможно, вам действительно нужна дополнительная подготовка.

Но не превращайте подготовку в оправдание, чтобы никогда не начать.

С чего всё началось

Те три месяца не сделали из меня эксперта.

Они сделали кое-что более важное.

Они дали мне мой первый реальный опыт разработчика.

Они показали мне, как выглядит профессиональная разработка.

Они научили меня тому, как много мне ещё предстоит узнать.

И, самое главное, они дали мне точку старта.

Моя карьера началась не с идеального набора навыков, не с идеального портфолио и не с лет подготовки.

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

Тогда я думал, что просто пытаюсь выжить в эти три месяца.

Оглядываясь назад, я понимаю, что закладывал фундамент своей карьеры.

Я начал не потому, что был готов.

Я стал готовым, потому что начал.