Как успешный разработчик выучил Java и оптимизировал процессы в компании: история Ильи
Илья — опытный IT-специалист и давно закрепился в любимой сфере. На курс по Java он пошёл, чтобы не застрять в зоне комфорта и делать свою работу лучше.
Фото: личный архив Ильи Вершинина
Илья Вершинин
Кыргызстан, Бишкек
Пройденные курсы
Достижения
Повысил квалификацию и инициировал переход компании с PHP на Java, а также разработку корпоративного приложения на этом языке. Параллельно развивает свой пет-проект.
Привет! Меня зовут Илья Вершинин. Однажды в детстве я пришёл в городской центр дополнительного образования на картинг. Вот только на машинках так ни разу и не покатался… Вместо этого попал в кружок программирования и стал разработчиком в крупной интернет-компании. Но и на достигнутом не остановился. Как так вышло? Сейчас расскажу!
Как школьные курсы определили мой карьерный путь
Программированием я увлёкся ещё в школьные годы — занимался на профильных курсах в центре дополнительного образования в родном городе. Правда, изначально я пришёл туда совсем в другой кружок, по картингу, но попасть в него не смог. Тогда решил подобрать для себя что-то ещё — так и оказался на занятиях по разработке.
Занимался в кружке четыре года. Сначала мы изучали BASIC и Pascal, потом — PHP. А после моя карьера в разработке сделала свой первый серьёзный виток: на эти же курсы меня позвали преподавать. Дело в том, что прежний сотрудник уволился и руководство оперативно искало замену. А мне как раз нужны были деньги: я в то время зарабатывал на том, что делал сайты на фрилансе, но этого дохода мне не хватало.
На курсах я преподавал четыре года, пока не окончил университет. После выпуска решил искать постоянную работу, чтобы получать стабильный доход. Всё-таки фриланс-подработки не давали уверенности в завтрашнем дне. Так и наткнулся на вакансию разработчика в крупном кыргызстанском интернет-провайдере. Откликнулся, и меня взяли.
Начинал с того, что разрабатывал и поддерживал внутренние сайты компании и CRM-систему для записи клиентов. Наши сайты тогда были написаны на PHP, но мне это казалось не очень удобным и я хотел перевести всё на Java.
Я считал Java более структурированным и комфортным языком — например, на нём идентичные запросы отправлялись намного быстрее, чем на PHP. Плюс при использовании фреймворка Java Spring база данных не «забивалась», как это происходило с PHP, где при выполнении одной задачи могло одновременно запускаться 100 или даже 200 сессий.
Как руководство оплатило моё обучение, чтобы я получил необходимые мне знания и навыки по Java
Руководство одобрило идею перехода с PHP на Java. Чтобы ускорить этот процесс, я предложил им оплатить всем разработчикам курс по Java. Привёл аргументы: так не придётся привлекать специалистов со стороны, а мы повысим компетенции внутри компании. Начальство согласилось, и я стал учиться.
Обучение затянуло меня сразу: понравилось, что курс ведут разные преподаватели — каждый предлагает свои методики и приводит свои источники. Такая вариативность сильно расширяет кругозор.
До этого, кстати, я уже проходил курс по Java в другой онлайн-школе, но там не было практики — только видеоуроки. И хоть теория была рассказана очень качественно, она совсем не вовлекала — без закрепления информации на реальных заданиях нет ощущения полного усвоения материала. Совсем другое дело, когда можешь не просто сдать домашнюю работу, но и получить обратную связь. Осознать и отработать ошибки.
Поначалу задания давались мне очень легко — всё-таки у меня уже большой опыт в разработке. Сложности начались, когда мы стали проходить незнакомые мне вещи — фреймворк Spring, многопоточность.
Помню, один раз я решил креативно подойти к задаче по подсчёту количества книг с использованием фреймворка Spring: в задании предлагалось вытащить все данные и «перелопатить» их с помощью кода, а я подумал, что лучше сразу организую расчёт в базе данных. И… запутался! В итоге обратился за помощью к куратору и тот объяснил мне на конкретных примерах, как и с помощью каких инструментов можно реализовать мою задумку.
Поделюсь интересным наблюдением: не могу сказать, что большой опыт в разработке играет решающую роль в темпе или успехе обучения.
В первую очередь важен не какой-то солидный багаж знаний и опыта, а организованный подход к изучению материала, искренний интерес и эмоциональный стимул. Как-никак я сам четыре года преподавал и неоднократно видел, как новички легко и быстро выполняют задания, с которыми сталкиваются впервые в жизни.
Мне, например, именно внутренний стимул помог эффективно совмещать работу с учёбой. Я видел перед собой чёткую цель — освоить Java, чтобы встроить результат обучения в работу. И делал это в процессе прохождения курса.
Обычно мой распорядок дня выглядел так: пару часов с утра я тратил на просмотр видеолекций, а потом оттачивал полученные навыки на практике, на рабочих задачах. Например, я полностью пересмотрел свой подход к организации работы по системе Kanban и понял, как использовать GitHub для командной онлайн-работы над кодом.
Как я разработал приложение, которое оптимизировало рабочие процессы в компании
Знания по Java, полученные на курсе, пригодились мне при разработке нового корпоративного приложения, которое сильно упростило работу компании. Раньше у нас было много отдельных сервисов: для подключения абонентов, оформления заявок на ремонт и прочего — все они находились в разных местах.
Сейчас же всё это мы собрали в одном приложении с понятным интерфейсом. Сотруднику больше не нужно вспоминать, где находится тот или иной ресурс: он заходит в приложение и сразу видит необходимые функции. Разработчикам тоже стало легче — теперь мы можем сосредоточиться на поддержке одного приложения, а не множества разрозненных сервисов.
Теперь я хочу перенести на Spring и свой пет-проект — онлайн-магазин парфюмерии. Изначально я писал его на PHP и выкладывал на WordPress, но эти инструменты накладывают ограничения, которые мне не подходят. Например, там много ненужных функций, которые нельзя убрать, так как они являются частью готового модуля.
На Spring же ты сам формируешь необходимые модули — да, это занимает больше времени, чем подключение готовых, зато даёт гораздо больше контроля над процессами.
Сейчас я продолжаю учиться. Надеюсь, в ближайшее время завершить обучение на Java-разработчика. А ещё сейчас параллельно прохожу вводный курс по data science. Пока — лишь в качестве хобби, но… кто знает, может, получится применять новые знания и в работе!
Одну вещь я понял наверняка: зона комфорта — очень плохая штука. В ней нельзя засиживаться. Учиться нужно, даже когда ты работаешь по профессии мечты. Ведь в любой момент могут прийти новые люди и сказать: «Ваши знания давно устарели, нужно было следить за рынком».