Привет, Хабр! Сегодняшняя статья — история карьерного пути Михаила Логинова. Он несколько лет строил собственный бизнес, но затем решил, что программирование — именно то, чем хочется заниматься дальше. Поэтому Михаил получил специальность фронтенд-разработчика и посвятил себя разработке.
Типичной эту историю назвать нельзя, поэтому решили рассказать о ней на Хабре. Кому-то просто интересно будет почитать, а кто-то почерпнет что-то полезное для себя.
Всё началось с математики и программирования
Я — чистой воды технарь, в своё время закончил мехмат Ростовского государственного университета по специальности «Математик, системный программист». Причем поступить удалось без экзаменов: в школе я с удовольствием принимал участие в олимпиадах по математике, неоднократно побеждал, поэтому в институт приняли сразу. Учился без особых проблем, университет закончил, получив соответствующую специальность.
Правда, после получения диплома работать по специальности не пошел. Теория в вузе преподавалась отлично, а вот реальной разработки почти не было, поэтому после выпуска у меня не было практического опыта. Я занялся собственным бизнесом и на несколько лет забыл о разработке. 8 лет занимался только развитием своей компании.
Но бизнес был не очень стабильным, сказывались кризисы, поэтому начал искать альтернативу — работу, которая была бы одновременно и интересной, и доход приносила. На этом этапе я снова обратил внимание на разработку и решил попробовать вернуться к основам — стать программистом. Правда, сначала я обучился на тестировщика, пройдя бесплатные курсы Portnov Computer School. После завершения курсов удалось найти работу в одной из компаний Ростова. Этот момент можно считать первым шагом на длинном карьерном пути в IT. Занимался ручным тестированием, проверял задачи на удовлетворение бизнес-требованиям, а чуть позже разобрался с автотестами на базе Selenium WebDriver.
Я старался совершенствоваться в своей новой профессии, поэтому продолжал осваивать тестирование, и понемногу начал заниматься программированием. В итоге удалось продвинуться и на новой стезе: руководство стало поручать небольшие задачи, не связанные с тестированием. Так, я верстал веб-странички, вносил правки в существующий код, а однажды даже локализовал целый проект на другой язык.
Эта сфера привлекала все больше, поэтому я решил поступить на курсы по программированию. Выбор пал на курс «Frontend-разработчик», поступить мне удалось бесплатно — я победил в конкурсе GeekBrains «Мы ищем таланты». Занять первое место помогло как институтское профильное образование, так и опыт тестировщика.
Следующий этап — фронтенд
Почему выбрал именно фронтенд? Во-первых, я понимал обширные возможности отрасли, во-вторых, веб-разработка — очень востребованная сфера с постоянным дефицитом разработчиков. Мне всегда хотелось работать там, где пригодятся весь мои опыт и знания.
Я отдавал себе отчет в том, что просто так веб-разработчиком не станешь, поэтому прилежно учился. На учебу уходило 4-5 часов в день в течение 8-9 месяцев, я старался на практике применять полученные знания. Ниже — примеры моих работ, выполненных во время обучения.
Вот ссылка на этот проект.
А вот примеры вёрстки, это два курсовых проекта.
Вёрстка из курса «HTML5/CSS3». Смотреть онлайн: здесь и тут.
Ну а потом — выпуск и поиск работы. Не знаю, повезло ли мне, или работодатель оценил мой опыт тестировщика, но устроиться удалось во время учебы на курсах, через несколько месяцев с начала обучения. Поиски вакансий я вёл через HeadHunter. Забегая вперёд, скажу, что здесь же меня хантят рекрутёры: предложений приходит достаточно много. Другими ресурсами или сервисами на тот момент не пользовался. Разве что завел профиль на LinkedIn, так сказать «на вырост».
На работе не только выполнял текучку, но и продолжал активно учиться, благо задачи были самые разные. Объём практического опыта быстро рос. Через полтора года после старта моей карьеры в IT я стал веб-разработчиком полного цикла. Научился создавать как серверную, так и клиентскую стороны приложений. Стек технологий на тот момент (прошло около двух лет) включал Vue (Vuex, Nuxt.js, Apollo), React (Redux) и Node.js (TypeScript, GraphQL, Mongodb). Ну а опыт тестировщика помогал выполнять работу еще эффективнее.
А что сейчас?
Приложить опыт и знания есть куда — сейчас я работаю в Сбере. Компания постепенно преобразуется в высокотехнологичную организацию, где используется огромное количество современных цифровых инструментов и продуктов. Многие из них созданы стараниями сотрудников.
Чтобы поддерживать знания на актуальном уровне, я не только читаю книги, смотрю профессиональные видео и т.п., но и посещаю IT-конференции. За 2019 год я посетил около 50 таких конференций, а также стал активным участником разных IT-сообществ. На мероприятиях получаешь новый опыт, новые идеи, знакомишься с интересными людьми. Нетворкинг в разработке крайне важен.
Не забыл я и свое прошлое участника школьных олимпиад. Я регулярно принимаю участие в разных соревнованиях для программистов. Во многих побеждаю, что придает уверенность в своих силах. Соревнования хороши, в первую очередь, тем, что позволяют понять собственные возможности в сравнении с другими профессионалами.
Текущие задачи и планы на будущее
Сейчас я работаю в отделе интеллектуальной системы управления, которая позволяет улучшать эффективность и качество работы сотрудников. Компания благодаря этому лучше справляется с налаживанием процессов управления. Я главный по фронтенд-направлению: отвечаю за весь код, который будет исполняться на компьютерах пользователей. Мы используем React + TypeScript на фронте и Python на беке. У нас очень популярный и современный стек: Webpack, Redux, Thunk, Styled-Components.
Проект изначально задумывался исключительно для внутренних нужд, но он оказался настолько популярным, что им заинтересовались и другие компании. Работа над этим проектом велась и во время карантина, тогда всю команду отправили на удалённый режим. Из-за этого пострадало взаимодействие, поскольку вопросы, решавшиеся за несколько минут при личном общении, приходилось обсуждать в мессенджерах и почте. Но за пару месяцев удалось адаптироваться, после чего проявились и плюсы удалёнки.
Что касается будущего, то пока что я не планирую что-то резко менять. Главное — совершенствование тех навыков и знаний, что уже есть, а также приобретение новых. Именно «копание вглубь» позволяет стать экспертом в своей области. Если распыляться, заниматься побочными задачами, стараясь охватить максимальное количество смежных специальностей, то существует риск остановки развития. Этого стараюсь не допускать.
Немного советов
В процессе учебы и работы я сделал для себя несколько выводов относительно профессионального развития, которыми хотел бы поделиться с Хабром. Скорее всего, они будут интересны тем, кто только начал карьеру в IT или собирается её начать. Ну а профессионалы с многолетним опытом могут дополнить советы в комментариях.
Так вот, один из лучших способов углубить свои навыки — посещение IT-митапов и конференций, чтение актуальных статей по своей специальности на разных ресурсах, прослушивание подкастов, например, «Веб-стандарты». От себя порекомендовал бы вот такие полезные ресурсы для обучения программированию:
- freeCodeCamp
- Coursera
- Школа Разработки Интерфейсов
- Технопарк Mail.ru
- Лекции Тимура Шемсединова, которые он читает в КПИ
Если же нужно подготовиться к интервью в крупную компанию, то необходимо научиться решать алгоритмические задачи, а также хорошо освоить теорию по паттернам проектирования. Проверить себя в решении таких задач можно здесь и здесь.
А чтобы проверить себя на готовность стать программистом, рекомендую закончить бесплатные курсы. Если понравится и всё будет получаться, то, определённо, можно и дальше шагать в этом направлении. Ну а если нет — вы ничего не теряете.