Я учусь на четвертом курсе в Тульском Государственном Университете на направлении «Прикладная математика и информатика». Параллельно с учебой на очном отделении работаю инженером-программистом в IT-компании DD Planet. Моя команда разрабатывает сложные высоконагруженные веб-сервисы.
Расскажу свою историю: как, будучи простым студентом, я начал карьеру разработчика и получил незаменимый практический опыт, и какие навыки и знания помогли этого добиться.
Первую в жизни фразу «Hello, world» я написал в 18 лет на первом курсе на занятии по программированию. Такая простая операция в одну строку для меня казалась довольно сложной, ведь я никогда раньше ничего подобного не делал.
Я начал увлекаться программированием, почти каждый день читал книги и смотрел обучающие видео на эту тему. Тогда я выработал для себя первую важную привычку, полезную в обучении: если встречается неизвестная функция, незнакомое английское слово — обязательно запомните или запишите, чтобы потом вечером изучить.
Уделяйте больше внимания основному предмету — информатике. Важно набить руку на задачах по программированию, делайте их не только для себя, но и помогайте одногруппникам. В ВУЗе даже математические задачи часто решаются именно через программные методы.
Разработчик должен четко знать полную базу хотя бы одного языка программирования, поэтому советую выбрать один язык для глубокого изучения. Я специализируюсь на C#, для изучения основ рекомендую следующие учебники:
Javascript я тоже изучал по учебнику Васильева А. Н. «Программирование на Javascript в примерах и задачах», верстку — по книге «HTML и CSS. Разработка и дизайн веб-сайтов» Джона Дакетта.
После основ лучше всего изучать архитектуры, рефакторинг кода, паттерны:
Сейчас я читаю классику для более опытных программистов: «CLR via C#» Джеффри Рихтера. В ней объясняется, как работать с платформой Microsoft .NET Framework на языке C#.
Моя любимая книга — «Сам себе программист» Кори Алтьхоффа. Автор на примере Python объясняет важные для начинающего разработчика моменты: как написать первую программу, работать с GIT, проходить собеседования, понимать технические аббревиатуры.
На втором курсе я устроился администратором в школу робототехники. Многие говорили, что учиться и работать сложно, снижается трудоспособность и успеваемость. Однако все зависит от человека, я, наоборот, стал учиться лучше.
Я начал меньше смотреть телевизор и развлекательные видеоролики в соцсетях, перестал играть в компьютерные игры. Вместо этого стал посещать отраслевые мероприятия, конференции по С++, тестированию ПО.
На третьем курсе я пошел на конференцию, посвященную старту в IT, где выступал Антон Боев, технический директор DD Planet. Он рассказал, что в компании используются передовые технологии, и пригласил в свою команду студентов на неполный день.
Сразу же после мероприятия я отправил резюме через HeadHunter, получил ответ и поехал на собеседование, которое проводил как раз таки Антон Боев. Было интересно и сложно одновременно, но знаний оказалось достаточно, чтобы меня приняли на работу Junior-программистом.
Я присоединился к одной из команд веб-разработки, мы занимались отладкой, интерфейсом построения сессий для работы телескопов. Технологический стек, с которым работали: ASP.NET Core MVC (C#), Javascript, HTML, CSS, SQL.
Я знал C#, но не имел четкого представления о технологиях, связанных с этим языком в веб-разработке. На первых этапах было тяжело, особенно использовать их в комбинации, но все сотрудники в офисе оказались готовы помочь.
От меня требовалось максимальное упорство: как можно быстрее влиться в работу и стать компетентным. Потребовалось около года, чтобы набрать достаточно опыта в программировании, и теперь я смело отвечаю за различные аспекты наших проектов.
В целом за два года работы в компании я сильно подтянул знания по C#, изучил Javascript и научился применять на практике новые для меня технологии. Также я развил полезные soft skills: научился работать в команде, управлять своим рабочим временем и распределять обязанности, обсуждать важные вопросы и находить лучшее решение.
Саморазвитие всегда начинается, когда человек сталкивается со сложными задачами, однако на их решение у новичка уходит больше времени, чем у знающего специалиста. Важно не жадничать и брать такие задачи, только когда есть достаточно времени на разработку, учитывать свой опыт, чтобы не тормозить общий процесс.
Так я начал свой путь в IT и карьеру в DD Planet. Я планирую и дальше развиваться в этой компании, хочу дорасти до уровня Senior. Думаю, что к успеху меня приведут упорство и целеустремленность.
Хочу дать совет всем, кто хочет стать программистом: ничего не бойтесь и старайтесь идти к своей цели каждый день. Даже если вы чувствуете, что в этой сфере у вас мало знаний, ищите работу или наставника, отправляйте резюме во все компании, ходите на собеседования. Попытайтесь найти практику, участвуйте в хакатонах и отраслевых мероприятиях, разрабатывайте стартапы — показывайте себя.
Главное для новичка — стремление изучать новое, амбиции стать сегодня умнее, чем вчера, упорство для ежедневных тренировок.
В дополнение хочу поделиться интернет-ресурсами, которые помогают мне поддерживать интерес к профессии: