Я вообще не планировал становиться программистом
Когда-то я даже не задумывался о том, кем хочу стать. А сегодня за плечами уже больше шести лет коммерческой разработки. Но путь в IT оказался довольно извилистым.
Всё началось ещё в школе. У меня был старший брат, который работал в IT на фрилансе. Он постоянно покупал какие-то интересные вещи, дарил дорогие подарки, но чем конкретно он занимается, я особо не интересовался.
В школе мне неплохо давалась математика, особенно алгебра. Но какого-то выраженного интереса к конкретной науке не было. Когда пришло время выбирать экзамены, я совершенно не понимал, куда двигаться. В итоге остановился на химии и физике. Информатику даже всерьёз не рассматривал — в моём представлении школьная информатика была преимущественно про презентации и таблицы Excel.
В то время я увлекался детективными и медицинскими сериалами, поэтому решил попробовать себя в химической экспертизе или даже судмедэкспертизе. Поступил на соответствующее направление и довольно быстро понял, что немного промахнулся с выбором.
Химической теории было много, а интерес к ней постепенно угасал. Практика с экспериментами началась только на втором курсе, но к тому моменту я уже понимал, что это не совсем моё.
Зато неожиданно для себя я полюбил некоторые другие дисциплины: информатику, алгебру, теорию вероятностей и математическую статистику. Задачи по информатике мне давались легко, часто получалось быстрее других находить решения.
Именно тогда я впервые задумался: а чем, собственно, занимается мой брат?
Начал расспрашивать его о программировании, создании сайтов, технологиях. Постепенно интерес перерос в желание попробовать самому.
Начал с самого простого — HTML и CSS. Бесплатные курсы на YouTube, различные обучающие сайты, первые попытки что-то сверстать.
Помню, как радовался своей первой форме и карточке товара. Выглядели они, конечно, ужасно. Но я сделал их сам!
В какой-то момент понял, что хочу заниматься этим серьёзнее, и принял довольно непростое решение: перевёлся на математический факультет, пусть даже с потерей курса.
И вот тут началось самое интересное.
Появились алгоритмы, основы ООП, C++. Но университету явно не хватало практики. Мне всегда было проще разобраться в технологии, когда я мог самостоятельно что-то написать, сломать, исправить и увидеть результат.
Поэтому основное обучение происходило за пределами университета: YouTube, собственные эксперименты и ночные созвоны с братом.
К тому времени я уже освоился с вёрсткой, но постоянно задавал себе один вопрос: «Хорошо, а как теперь заставить всё это работать?»
Как отправить форму? Как обработать данные? Где их хранить? Как сделать так, чтобы сайт был не просто красивой картинкой?
Так я познакомился с PHP.
И вот здесь началось настоящее испытание. Первое время я буквально не понимал элементарных вещей. Сначала функциональное программирование, потом ООП, классы... Казалось, что с каждой новой темой становится только сложнее.
Но постепенно что-то начало получаться.
Сначала появилась простая форма, которая обрабатывала данные. Потом я разобрался с SQL, научился выполнять SELECT, INSERT, UPDATE и DELETE, познакомился с PDO и параметризованными запросами.
Затем появилась база данных и первая самодельная админка.
И вот это было настоящее маленькое чудо: я мог заполнить форму на сайте, отправить её, сохранить данные в базу, а затем открыть админку и увидеть там то, что только что ввёл.
Выглядело всё ужасно, но работало! На тот момент я уже практически считал себя Senior Developer. Ну, почти :)
А дальше мне захотелось большего. В качестве своего большого учебного проекта я решил написать собственную мини-MVC, вдохновившись архитектурой Laravel.
Одна точка входа, конфигурация, собственная файловая структура, роутинг, контроллеры, передача параметров через ReflectionClass и прочие эксперименты.
Сейчас, оглядываясь назад, я прекрасно понимаю, сколько там было неоптимального кода, нарушений PSR, лишней логики и архитектурных ошибок. Но именно этот проект дал мне гораздо больше, чем простое изучение синтаксиса языка. Я начал понимать, как взаимодействуют разные части приложения и почему архитектура вообще имеет значение.
К этому времени я уже окончательно понял, что хочу заниматься разработкой.
Правда, с университетом дела складывались не так хорошо. Наступил непростой период, я практически перестал посещать занятия и начал подрабатывать разнорабочим.
Но программирование никуда не исчезло.
После работы, по вечерам и ночам, я продолжал учиться. Следующим этапом стал Laravel. Я решил сделать небольшой сайт сладостей — просто потому, что это первое, что пришло в голову.
Тогда же начал изучать JavaScript, jQuery и AJAX. Хотелось, чтобы сайт не перезагружался после каждого действия, чтобы интерфейс был живым и отзывчивым.
В итоге получился вполне рабочий небольшой проект на Laravel, Blade и JavaScript. Без платёжных систем, сложного складского учёта и серьёзной бизнес-логики, зато полностью собранный собственными руками.
Я был счастлив.
Параллельно начал ходить на собеседования на стажёрские позиции. Первые попытки, конечно, оказались неудачными. Но это был мой первый настоящий опыт знакомства с рынком разработки.
Впереди был ещё примерно год работы разнорабочим, бессонные ночи за изучением технологий и множество попыток найти первую возможность войти в профессию.
И однажды это получилось. Я нашёл свою первую работу стажёром в digital-агентстве.
Но это уже совсем другая история :)
Сейчас, оглядываясь назад, я понимаю одну вещь: иногда не обязательно с самого начала знать, кем хочешь стать. Достаточно найти что-то, что тебе действительно интересно, и не бояться пробовать, даже если сначала ничего не получается.
А как вы пришли в свою профессию? Это была детская мечта, осознанный выбор или тоже случайность, которая постепенно превратилась в дело жизни?
P.S. Да-да, ИИ помог мне красиво написать мои мысли, такие дела