Сплошные формулы: из физики во фронтенд
По образованию я — физик. Закончил по этому направлению и бакалавриат, и магистратуру, последнюю даже с красным дипломом. Изначально туда не рвался и почти до самого выпуска из школы рассматривал разные естественно-научные и технические направления. Однажды меня пригласили на День Открытых Дверей в Институт физики и химии. Сходил, посмотреть, понял, что хочу учиться именно там. Done.
От лабораторий к Python
Учиться было интересно, нравилось На 1 курсе магистратуры я стал участником интересного проекта. Местный завод искал молодых ребят по программе «Новое мышление», чтобы посмотреть на привычные промышленные процессы незамыленным взглядом и предложить изменения. Меня определили к технологам, и вместе мы работали над тем, чтобы удешевить техпроцесс отливки крупного вагонного литья и поднять его качество. Там работал довольно долго, даже успел отслужить в армии и вернуться обратно. Но начал скучать, в подобных структурах очень сложно идет прием и реализация каких-то идей.
И как-то на ум пришла мысль, что когда-то неплохо получалось программировать. Правда, на Pascal, но это уже детали. А тут еще и начался хайп на все эти онлайн-курсы. Я купил курс по Python, одолжил у друга ноутбук и начал учиться. Почему Python?
- Один из самых простых языков программирования для входа в профессию;
- Очень много информации о нем;
- Большое активное комьюнити;
- Адекватный простой синтаксис.
Несколько месяцев днем работал, вечером учился. В какой-то момент понял, что всё — так больше нельзя. Не вывожу.
Финансовая подушка грела душу, пока я интенсивно учился программированию, сдавал задания, решал задачи и т.д. До получения диплома оставалось не так долго.
Во фронтенде по любви
Я уже потихоньку начал присматриваться к разным вакансиям на работных сайтах, как, случайно гуляя на youtube, обнаружил один интересный канал, посвященный JavaScript и React. Два таких небольших курса — относительно лайтовый и ознакомительный по JS и более глубокий по React на тему «Своя соцсеть за 100 уроков». Всё детально, системно и бесплатно.
Я начал изучать этот курс. Сначала просто повторял, а потом пошли задания вроде «Я сделаю эту страницу, а вы — эти». Понятно, что не всё шло гладко, были трудности. Поскольку никаких менторов не было, с вопросами просто шел в комменты. Там неплохое коммьюнити собиралось, можно было найти ответ на любой вопрос. Да и просто уже «бывалые» ребята всегда помогали и разъясняли.
Уроку к 60-70 решил, что пора бы попробовать себя в деле. Тогда и случился первый контакт с Инфомаксимум, компанией, где я сейчас работаю. Откликнулся, пообщался с HR, получил тестовое. А дальше началось интересное — я почти сразу понял, что такого количества уроков все еще мало. Ничего выдумывать не стал, сказал как есть. Договорились оставаться на связи. Я подучился, написал HR и со второй попытки получил оффер. Недавно считал и понял, что с момента старта изучения программирования и до устройства на работу прошёл год.
Первый рабочий день прошёл на удаленке, моим ментором тогда стал руководитель отдела Frontend-разработки. Конечно, без шероховатостей не обошлось — возникли небольшие проблемы с настройкой рабочих пространств, развертыванием проекта и т.д. И, собственно, я оказался готов к работе тогда, когда большинство коллег её уже закончили.
Моим первым проектом стал модуль платформы, один из самых сложных и основных. Это было интересно и очень полезно в том плане, что от него зависят все остальные блоки. И если ты что-то не до конца сделаешь, проверишь или починишь в одном месте, это обязательно всплывет в другом и будет весьма болезненно.
Я пришел, по сути, совсем «зеленым», даже не джуном. Многое, например, TypeScript, нужно было изучать с нуля. Было много задач, которые совсем не понимал как делать. Приходилось много спрашивать, уточнять и просить совета помимо самостоятельного гуглинга информации. Никто никогда не отказывал.
Уже 2 года я — тимлид, руководитель небольшой команды разработки. Когда мне предложили эту должность, долго не раздумывал — хотелось развиваться и расти дальше. В первое время привыкал к возросшему количеству коммуникаций — с проектными менеджерами, бэкендерами, дизайнерами и т.д. Быть сконцентрированным только на коде уже не получается, обязанностей стало больше — от организации работы команды и онбординга новичков до проверки задач.
Считаю, во многом прокачаться мне помогли:
- Менторство. Ментор помогал в освоении технологий, отвечал на вопросы, советовал литературу и как бы «наводил» на правильный путь, чтобы я дошел сам.
- Общение. Формальное и неформальное. Программисты хоть и говорят, что поголовно интроверты, но на деле многие готовы и стремятся пообщаться.
- Учеба на своих ошибках. Нет ничего эффективнее, когда разбираешь собственные ошибки и исправляешь их. Главное, чтобы было некритично.
- Желание всегда идти вперед. Программист — это же вечный студент. Никогда не будет того момента, когда ты поймешь, что вот оно — ты изучил все. Фреймворки и инструменты разработки постоянно развиваются, поэтому важно учиться находить решения на лету, адаптироваться к новым технологиям и постоянно обновлять свои знания.
Что и как будет полезно
Становление программистом — это путь, требующий не только теоретических знаний, но и практического опыта. Хотя книги и онлайн-курсы — это неплохой вариант для входа в профессию, нельзя думать, что только это позволит стать хорошим разработчиком.
Я не могу выделить какие-то лучшие ресурсы для изучения JavaScript. То, что подошло мне, может быть неудобным для кого-то другого. Предложу лишь то, что нравится и интересно конкретно мне.
- Frontender’s notes [ru]. Много неплохих статей про frontend-начинку: JS, React, Angular, Vue, TypeScript, Redux, MobX, NodeJS. Можно почитать как про мемоизацию в React и как использование директив в Angular для расширения функционала компонентов, так и , так и success stories для мотивации.
- Владилен Минин. Авторский youtube-канал про frontend: от руководства по входу в профессию до лайфхаков с продуктивностью и тематических подкастов до полезных плюшек по JS и React.
- Саша Лукин. Еще один интересный авторский видео-канал про внутрянку работы айтишника и разбор задачек из собеседований в крупнейшие компании.
- Как пройти в IT? Давно не обновлялся, жаль. Но есть много интересных видео на тему Frontend и конкретно JavaScript.
Книги, статьи, мемы и прочее — все по желанию, хотелкам и доступу в интернете (и конкретно на Хабре, например).
В конце, наверное, скажу лишь то, что если очень сильно хотеть — всё можно сделать. Поэтому удачи. И не переставайте идти вперед.
***
Саша поделился историей и пошел работать над модулем автоматизации. Тех, кому интересно узнать больше о внутряках IT-компании, приглашаем в наш ТГ-Бункер. Кстати, описание вакансий там тоже есть. Например, Frontend-разработчика.