Привет, мир!
Nov 20, 2024 — 5 минВводная статья о том, как начинался мой путь в программировании, что привело меня к выбору Front-end и какие шаги я предпринимаю для построения своей будущей профессиональной карьеры.
Hi, Forsythe!
Всем привет! Как вы уже поняли, меня зовут Николай и я начинающий Front-end разработчик.
Я родился и вырос в довольно крупном по региональным меркам России городе — Тольятти. Многие называют его «Русский Детройт», потому что здесь расположен один из крупнейших автомобилестроительных центров Восточной Европы.
После окончания муниципальной школы поступил в частное учреждение профессионального образования «Тольяттинский Экономико-Технологический Колледж» на специальность «Правовое дело». Отучившись год, перевелся на другую специальность — «Программирование в компьютерных системах», диплом по которой уже успешно написал и защитил с отличием в 2024 г.
На последнем курсе учебы я получил свою первую работу программистом в одной городской компании, которая на тот момент занималась ремонтом и торговлей легким промышленным оборудованием и электронной техникой.
В этой статье я бы хотел поделиться своей историей развития и трудностями, которые мне пришлось преодолеть от самого начала пути и до настоящего времени.
Как я пришел к программированию
Мой путь в программировании начался спонтанно и неожиданно с момента перевода на другую, абсолютно новую для меня специальность. В начале мне было очень сложно «вкатиться» и перестроить свой гуманитарный склад ума на более аналитический.
На протяжении долгих лет я упорно осваивал непонятные мне предметы: элементы высшей математики, теории вероятностей, основные компетенции профессионала и основы программирования — небезрезультатно, но без особого энтузиазма.
Озарение снизошло до меня на третьем курсе: в отрыве от написания лабораторных и курсовых работ по объектно-ориентированному программированию (на тот момент был C-Sharp и .NET Framework), а также прочего потока студенческих проблем, я открыл для себя совершенно новую ветвь программирования, которая мне впоследствии понравилась.
Выбор Front-end
Причины выбора фронта как основного направления для развития были простыми, но в то же время очень важными лично для меня — банальная видимость результата проделанной работы.
Ты хочешь понять, что это? Ты должен УВИДЕТЬ это сам.
- Morpheus из к/ф «Матрица»
Это ощущение невероятным образом мотивировало меня двигаться дальше.
Буквально за месяц освоив html и css, я быстро понял, что мне далеко необязательно ограничиваться бессмысленными задачами, такими как вывод отсортированных массивов в консоль, ведь я могу создавать действительно привлекательные и интерактивные вещи, используя при этом очень интересные и востребованные на рынке технологии.
Закрыв курсовую работу в том же году, я провел целое лето за Учебником по JS. Решая задачи на Codewars и выполняя челленджи с frontendmentor.io, я впервые за долгое время понял, что нашел в этом свое призвание.
Знакомство с ReactJS
Впервые о JS-фреймворках я узнал, когда проходил интенсивы по Front-end в интернете. Передо мной не стояло «камня преткновения», о котором наслышаны многие веб-разработчики, так что я поверхностно затронул и Angular, и Vue, однако в конечном итоге мой выбор пал именно на React.
В ноябре 2023 года Vue только начинал набирать обороты, в то время как Angular казался мне похожим на рейд-босса, потому что требовал определенного уровня познаний в объектно-ориентированном программировании и MVC, а также поддерживал только синтаксис языка Typescript.
React же напротив, показался мне очень универсальным и легким для освоения людям, впервые узнавшим о SPA-приложениях. Тем не менее, в самом начале у меня возник ряд препятствий и трудностей:
- Как работает ES6?
- Компоненты и как они рендерятся?
- Что такое хуки и почему они кажутся сложными?
- Почему в JS есть раскол на два разных языка?
- Как работают сборщики модулей по типу Webpack?
Со временем я не только получил ответы на эти вопросы, но и стал использовать эти знания на практике. Например, через месяц я написал front-end приложение на Typescript, через 4 месяца я познакомился с NextJS и частично затронул серверную среду разработки, а еще через пару месяцев написал свой дипломный проект на фреймворках NextJS и NestJS.
Получив опыт с React, я понял, что для дальнейшего роста мне нужно четко понять, что и как я буду изучать в будущем. Именно так я и начал формировать свою дорожную карту.
Roadmap to Junior
С весны 2024 года, когда я окончательно осознал, что хочу быть React-разработчиком, я так же понял, что для построения моей профессиональной карьеры нужен какой-то план или дорожная карта.
Мир web-программирования очень широк и разнообразен, поэтому мне пришлось изучить довольно много информации на эту тему, однако, в конечном итоге, я составил наиболее оптимальный для меня пошаговый путь к Junior, Pre-middle и Middle левелам.
Мои цели в будущем
Так или иначе, я буду продолжать двигаться дальше, пока не почувствую того, что достиг максимума в начатой мной сфере. Во многом, мои цели и планы на будущее будут зависеть от обстоятельств, которые я повстречаю на своем пути, но я все же хочу выделить свои первоначальные цели на 2025 год и неопределенное будущее.
2025 год
Подводя итоги, хотелось бы сказать, что у меня образовалось довольно много планов относительно моей профессиональной деятельности в 2025 году.
- Начать изучать тестирование: Завершая работу над моим текущим рабочим проектом, хочу сказать, что отсутствие React-тестов типа Jest — это тот фактор, который сильно замедлил релиз первой версии в продакшен и вызвал огромное количество естественных багов, требующих исправлений.
- Найти работу в IT-компании: Мне бы очень хотелось найти для себя подходящее место среди настоящих профессионалов своего дела. Для меня довольно важно находиться в окружении единомышленников, чтобы я мог еще более стремительно развивать себя как разработчик
- Создать свой open-source проект: Для меня очень важно не только видеть результат своего труда визуально, но и знать, что им кто-то действительно пользуется. Пускай для начала это будет небольшой пакет, самое главное — чтобы он мог пригодиться кому-нибудь в будущем.
- Рассмотреть возможность поступления в ВУЗ: У меня есть вполне реальная возможность поступить в университет в моем родном городе, однако многое будет зависеть от совместимости графика работы и формата обучения.
Что дальше
Помимо краткосрочных целей, я также ставлю перед собой более долгосрочные задачи, которые помогут мне продолжить развитие в IT-сфере.
- Прокачать английский язык до C1: Это очень важный навык, который сильно облегчит процессы обучения и поиска информации. Достижение этой цели послужит отправной точкой в безграничный лингвистический мир.
- Изучить другой язык программирования: Постепенно, мне потребуется расширять свой инструментарий знаний и навыков. Кроме того, учить синтаксис незнакомого языка намного проще, если у тебя уже есть какая-то основа.
- Найти единомышленников среди разработчиков: Для меня программирование — это не только способ заработка, но и одно из любимых занятий в свободное время. И я бы очень хотел иметь в окружении таких же единомышленников, которые бы помогали мне плыть по течению.
- Стать активным участником open-source проектов: Когда-нибудь я бы хотел стать полноправным контрибьютором или коллаборатором проекта с открытым исходным кодом, который бы зацепил меня своей глубокой идеей или интересным сообществом.
Всегда находиться в движении, исследовать, изучать, открывать для себя что-то новое и интересное, то, что будет мотивировать и воодушевлять, и придавать смысл моим стараниям — это то кредо, которому я хочу следовать по жизни.