Как стать программистом на Java и Spring: история Рината Мухамедгалиева

Three people viewing a large framed painting of a person in an art gallery, with smaller framed artworks on the surrounding walls. Three people viewing a large framed painting of a person in an art gallery, with smaller framed artworks on the surrounding walls.

Первые шаги

C компьютерами познакомился еще в начальной школе. В кружке нас учили писать простые программы на языке Basic. Мне очень понравилось писать команды и смотреть как на экране появляются картинки из простейших геометрических фигур. Так и началось мое знакомство с компьютерами.

Вскоре и у меня дома появился свой компьютер. Я успешно убил 2 раза операционную систему, и мне было условие: “Хочешь, что бы заработало - почини сам”. Родители всегда помогали мне в моем любопытстве и не жалели ничего для моего образования. Но они так же научили самому решать трудности, которые возникали на моем пути. Так я и окунулся в мир операционных систем.

После этого, родители позволили мне купить странный диск “Mandrake Linux”. И в тот же вечер винда покинула мой компьютер и там поселился крутой пингвин. И уже тогда я влюбился в Linux из-за его простоты и возможности сделать все по своему.

Попал в тусовку журнала Xakep и стал большим поклонником данного издания и завсегдатаем форума данного сообщества. К тому времени я уже писал на “Perl”. “C” - не давался никак. И будучи учеником средних классов я самостоятельно изучал “Python” и писал простые “CGI” сайтики. “PHP” меня стороной не обошел, но мы с ним долго не дружили.

Уже в лицее я подтягивал свои знания и был окружен такими же любопытными ребятами как и я. Мы вместе писали мини програмульки, что бы делать домашку интереснее. Тогда же появлялись первые фриланс заказы и реальные задачи. К этому времени я уже неплохо знал “C”. Это мне позволило идти дальше и изучать схожие языки.

Поступил я не совсем на программиста, а на специальность “Информатика и вычислительная техника”. Нас учили всему: микроконтроллеры, системное программирование, сети, железо и т.д. Но благодаря преподавателям я получил отличную базу и мог дальше все изучать и стал лучше понимать низкоуровневые принципы работы ВС.

В мою жизнь входит Java

Было время когда я увлекался пиратскими серверами популярных MMO игр и был в данном сообществе как “технарь”. Приходилось декомпилить игровые клиенты, разбирать сетевые пакеты и догонять официальных разработчиков. Из-за того что задачи были крайне тяжелые и очень разноплановые от фикса багов до создания собственного дополнительного контента к играм и создания собственных систем защиты от нечестной игры, приходилось расти очень быстро. Тогда же я изучил C++ и стал изучать Java.

На втором курсе я увидел в одной из социалок, сообщение о наборе в компанию разработчиков. Как сейчас помню насколько было страшно. Я без опыта работы в компании, так еще и студент. Но успешно пройдя собеседование на Java разработчика, я стал активно работать и учится. Забегая вперед скажу, что работая в компании я написал 2 диплома, один на степень бакалавра, другой - магистра. Так как коллектив был из таких же молодых ребят, мы вместе росли и развивались.

Сейчас я уже более 5 лет работаю в компании Citronium. Прошел путь от интерна до бэк-энд лида. Безумно благодарен руководству компании и всем коллегами с которыми я рос и расту прямо сейчас. Активно вместе с командой мы проводим тематические митапы, рассматриваем различные новости и перенимаем мировые практики для внедрения в повседневную работу.

В ходе обучения постоянно сталкиваешься с проблемой отсутствия информации или находишься в тупике. Так как мне безумно интересно пробовать все новое я нахожусь на стадии бета-теста различных технологий и различных практик. В связи с этим я очень люблю сообщество StackExchange. Там можно и задавать вопросы и отвечать другим пользователям. Ну и вообще из сложностей это только отсутствие информации, но сейчас эта и проблема решается достаточно легко и просто, так как поисковые алгоритмы в голове уже знают где и как можно быстро и эффективно найти ее. Зачастую ко мне приходят за помощью найти ту или иную информацию и я помогаю с радостью.

Учу других, как стать программистом

Менторство еще началось давно в школе, когда я преподавал офисный пакет своим одноклассникам и показывал разные хитрости. Потом приходилось помогать одногруппнмкам в лицее и мы сидя в библиотеке сами разбирали задачи по программированию и для того что бы понять лучше сидели объясняли друг-другу. В универе преподаватель по системному программированию и сисадминству часто оставлял меня вести пару и помогать одногруппникам с задачами, любопытно смотреть как думают другие и учиться вместе с другими. Ну и во время работы в компании обучать других и подтягивать коллег является обязанностью. Так как расти внутри компании с ментором проще всего. И на каждом из этапов вырабатывались свои практики и подходы.

Всегда было интересно помогать другим и подсказывать как должно быть на самом деле. Менторство помогает расширять кругозор и закрывать области знания которые раньше ты мог не затрагивать. Это позволяет расти кто учится и позволяет мне расти как специалисту. И да я просто тащусь когда узнаю что-то новенькое!

Вопросы

Какой совет дашь новичкам, который редко встречается или считается необычным, спорным?

Если вам говорят: “Это невозможно!” - не верьте. Можно достичь всего, стоит только приложить силу в правильном направлении.

Как ты сохраняешь свои навыки актуальными? Как постоянно растёшь и становишься лучше как разработчик?

Для того что бы качественно расти, необходимо решать незнакомые задачи. Если каждый день решать то, чего ты еще не знаешь и дотачивать эти навыки и знания, то рост не заставит долго ждать. Так же необходимо иметь такой полезную черту характера “любопытность” и быть жадным до знаний.

Если я читаю вижу статью, то скидываю ее в Instapaper и она ждет моего внимания. Затем я разбираю все свои “входящие” и прочитывая статью выделяю нужные моменты. Таким образом я делаю нужную запись и конспекты статей которые меня привлекли.

Топ 3 книжек для новичка

Я достаточно много читаю литературы из раздела “non fiction”. По разработке программного ПО рекомендую следующие книги:

Топ 3 сайта/рассылки/источника-инфы на которые должен быть подписан каждый разработчик

Подписки вообще не советую использовать, они очень забивают ленту и создают большой шум. Читайте https://habrahabr.ru и от туда подберете для себя много интересной информации.

Покажи свой рабочий стол


Об эффективности обучения у Рината и остальных менторов mkdev мы рассказывали в цифрах подписчикам нашей рассылки. Получить отчёт об успехах наших учеников ты можешь, подписавшись через эту форму: