Код
#истории

Как вернуться к разработке после 13-летней паузы: история разработчика на С++ Григория

Григорий изучал программирование в вузе, но после знания никак не применял. Пока однажды на работе его не попросили создать калькулятор в Excel.

Иллюстрация: Qingbao Meng / Unsplash / Rawpixel / Annie для Skillbox Media

Григорий Брусник

Россия, Москва



Достижения

Вернулся к разработке спустя 13 лет, успешно защитил дипломную работу по профессии и написал свой собственный проект, связанный с протоколами передачи данных.


ссылки


Григорий рассказал:


«Случайная задача впервые за много лет напомнила мне о программировании»: об основной работе и интересе к C++

— Григорий, на основной работе вы занимаетесь маркетинговой поддержкой продаж, а в свободное время программируете. Поделитесь: как так вышло? Как строился ваш путь?

— Вообще, по образованию я инженер-системотехник. В вузе нас обучали таким дисциплинам, как электротехника, теория автоматов, организация ЭВМ и систем, базы данных, технологии программирования и многому другому. В период обучения осваивал языки программирования Delphi 7, C, C++, ассемблер.

Выпустился в 2010 году: в то время найти работу по моей специальности в Хабаровске было непросто, да и зарплаты были невысокими, поэтому ушёл в продажи. Спустя полтора года работы в сфере удалось устроиться в крупную международную компанию. Потом переехал в Москву и перешёл в департамент маркетинга. С тех пор занимаюсь поддержкой продаж промышленного оборудования.

Первая специальность научила трудолюбию, внимательности и дисциплине. А ещё знание точных наук помогало быстрее ориентироваться в большом объёме цифр, структурировать данные и искать оптимальные пути решения различных задач.

— А как программирование вернулось в вашу жизнь?

— Довольно случайно. Компания, где я работаю, занимается производством, обслуживанием и продажей тяжёлой техники (строительной, горнодобывающей). И вот мне поручили создать в Excel калькулятор для расчёта стоимости оборудования. Чтобы в зависимости от потребности можно было выбрать те или иные опции, рассчитать финальную стоимость и выгрузить информацию на новый лист.

Я взялся. Часто для решения подобных задач используются базовые возможности Excel. Но я решил применить более сложную надстройку VBA (Visual Basic for Applications) — она позволяет создавать удобный интерфейс прямо внутри Excel с дополнительными возможностями: специальными кнопками, интеграцией с другими приложениями Microsoft Office. Всё получилось.

Фото: личный архив Григория Брусника

Процесс мне понравился. Задача по VBA впервые за много лет напомнила мне о программировании в целом и конкретно о языке C++.

— И вам захотелось освежить и углубить знания?

— Да, я подумал, что программирование может стать для меня хобби. Нашёл профильный курс и приобрёл. Язык C++ выбрал по двум причинам. Во-первых, как-никак я уже был с ним знаком. Во-вторых, считал классикой программирования во всех смыслах. После C++ вы с лёгкостью переучитесь на любой другой язык.

— При этом вас не останавливало то, что С++ считается одним из самых сложных языков?

— Наоборот, мне это нравилось и нравится. В других, современных языках ведь как: разработчик может писать код, а программа за ним будет какие-то мелкие моменты оптимизировать, поправлять. А в С++ иначе: здесь нужно глубоко понимать все процессы и за всем следить. Особенно при работе с памятью. Сравним с Java: там, например, есть сборка мусора. Сборщики всю «грязную» работу сделают за вас.

«Каждый вечер я занимался. Не переносил и не откладывал»: о процессе учёбы

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

Вместе с написанием и защитой диплома — год. Мой вузовский фундамент в программировании позволил мне «пролететь» первые 10–15 уроков. Там я лишь повторял информацию.

Мне понравился подход к обучению: если в институте я ощущал некую отрывистость знаний, то на платформе всё было грамотно структурировано, поэтапно подано: информация ложилась в мозг слоями, последовательно.

— Ого! Год — это довольно быстро для такой объёмной программы. Как совмещали с основной работой? Строили жёсткий график?

— Нет, я себя никак не заставлял. Просто почти каждый вечер (и часто в выходные!) мне искренне хотелось садиться и заниматься, узнавать что-то новое. Не бывало такого, чтобы я откладывал, переносил, придумывал причины не делать.

Вперёд двигал интерес. А ещё нравилось отчётливо видеть свой прогресс, когда раз за разом плашка модуля загоралась зелёным: «Пройдено!» Хотелось поскорее окрасить в зелёный их все.

— Но ведь все мы живые люди, и уставать — совершенно нормально. Неужели вы не испытывали подобного?

— Конечно, испытывал. Но усталость — физическое чувство, а искреннее желание и интерес — нечто большое, нематериальное. Бывало, я сидел над одной задачей по два, три, четыре часа. И она никак не отпускала.

Я ложился спать и думал о решении, ехал на работу и тоже думал о решении. По возвращении домой — скорее дописывал, проверял результат. Потом получал обратную связь от куратора и был доволен собой. Вот это ощущение — когда у тебя получилось и виден результат работы — оно не сравнимо ни с чем.

Мне нравилось взаимодействовать с куратором: он всегда оставлял комментарии по существу. Где-то подсказывал, где-то объяснял. Такая обратная связь развивала, помогала легче осваивать новый материал.

«Я сам поставил себе задачу и написал программу»: об итоговой работе и других проектах

— Каким был ваш итоговый проект на курсе?

Задание для всех звучало одинаково: разработать поисковый движок на C++. Аналог поисковой строки «Яндекса» или Google. Объёмная работа, но не могу сказать, что очень сложная. Саму программу (до исправления нюансов) я написал всего за неделю.

Много времени заняло создание структуры проекта (пришлось разбивать проект на подпроекты), работа с потоками и JSON-документами, Google-тестирование.

— И вот вы успешно защитили итоговый проект. Как действовали дальше?

— Продолжил учиться, конечно! Проходил дополнительные курсы: по GitHub, по языку запросов SQL и программе phpMyAdmin.

А потом… встал вопрос трудоустройства. Коллеги подсказали, да и я понял сам, что одного лишь дипломного проекта в портфолио недостаточно, нужно наполнить его чем-то ещё. В итоге решил придумать тему самостоятельно и написать по ней программу.

— Какую тему выбрали?

— Мне было интересно поработать с протоколами передачи данных, TCP или TCP/IP. Поискал информацию в интернете, на «Хабре», посмотрел библиотеки и написал клиент-серверное приложение (передача информации между клиентом и клиентом, клиентом и сервером). Разбил его на подпрограммы. Даже сделал так, чтобы внутренние сообщения можно было перенаправлять на другой компьютер.

О трудоустройстве и дальнейших планах

— Пробовали ли вы искать работу по новой специальности?

— Пробовал, даже на собеседования ходил. Но столкнулся с проблемой, в основе которой почти неразрешимая дилемма. Мне 35 лет, я опытный специалист в своей сфере с зарплатой уровня между middle и senior. Очевидно, что на схожую или даже мидл-позицию в разработке меня никто не возьмёт. Хорошо, я с этим согласен.

Но… я не бегу за деньгами. Я бы и рад подработать или попрактиковаться: наработать опыт, проекты в портфолио, если бы была возможность программировать вечерами или в другое свободное время. Ведь ровно так я и изучал С++. Но нет: все хотят быть на связи в рабочее время. Подходящие мне по условиям компании пока не нашёл. Так что начинающим специалистам совсем без опыта и бэкграунда, на мой взгляд, в этом плане будет легче.

— Вы упомянули, что всё равно ходили на собеседования…

— Да, в одной компании меня даже были готовы взять. Они искали человека, умеющего работать в Qt Creator. И вроде обозначали, что специалист им нужен начинающий. Но потом… показали такой объём данных, который я должен был изучить за две недели и такое количество работы для выполнения, что я понял, что на самом деле им требуется опытный программист с бэкграундом промышленной разработки за плечами.

Фото: личный архив Григория Брусника

— А как вообще обстановка на рынке труда с языком С++? Много вакансий?

— Так как порог вхождения у языка сильно выше, чем у того же Python, вакансий, конечно, не целое море, но вполне достаточно. Единственный момент: разброс по градациям неравномерен. Для людей с опытом от двух-трёх лет предложений много, с классными зарплатами и условиями. Для новичков — ощутимо меньше.

Думаю, проблему нехватки опыта можно закрывать не только итоговым проектом на курсе и личными наработками, как это делал я, но и участием в командных проектах, хакатонах. Например, у Skillbox есть командный проект по Java, вот было бы круто запустить такой же по языкам C.

— Сейчас, параллельно с основной работой, вы продолжаете кодить для себя?

— Меньше. Интерес к программированию никуда не делся, но, когда перед тобой нет цели, нет задач, заставить себя гораздо сложнее. Ощущение, будто ты один в поле. Поэтому и хочу найти подработку или проект, где мне дадут указания: «Григорий, вот боевая задача, её надо выполнить к такому-то сроку. Соблюсти такие-то условия. Работаем».

Начинающему специалисту нужен напарник, куратор. Не только на работе, но и в начале карьерного пути.

В C++ ещё масса информации и инструментов, которые можно освоить. Время на обучение у меня есть. И желание учиться. Так что жду, когда появятся подходящие задачи. А пока — изучаю английский язык и расширяю свой кругозор в сфере IT.

— И напоследок. Григорий, оборачиваясь назад, на пройденный путь: вам удивительно осознавать, что вы вернулись к разработке и загорелись ей спустя столько лет?

— Конечно! Если бы после окончания университета мне кто-то сказал, что через 13 лет я буду сам покупать себе курсы по программированию и заниматься им по вечерам после работы — я бы не поверил. Но это случилось. Оказывается, с возрастом интересы меняются. И это круто.

Запишите ребёнка на бесплатный урок в Skillbox Kids ➞
Учим детей программированию, веб-дизайну и разработке игр. Преподаватель — IT-эксперт — подберёт курс по интересам ребёнка. Подробности — по клику.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована