А как изменились подходы к разработке?
Раньше мы планировали работы на месяц вперед. Это довольно много, так как в течение этого времени могли появляться более срочные задачи, меняться вводные, и в итоге мы делали совсем не то, что было запланировано. Теперь планируем спринтами по две недели, это гораздо удобнее. Сроки более сжатые, работа напряжённее, но и контроля над задачей больше.
Вы бываете на предприятиях, которые используют «Гольфстрим»?
Да, несколько раз ездил в командировки, связанные с поддержкой нашего ПО. Это были закрытые предприятия, где удаленная работа невозможна, и требовалось приехать лично.
Довольно интересно было взглянуть на наши решения глазами пользователей, услышать их мнение, что нравится в ПО, а чего не хватает. Потому что аналитика – это хорошо, а взгляд со стороны всегда привносит что-то новое. Иногда какие-то фичи появлялись в продукте как раз после такого общения с заказчиками на предприятии.
Над чем вы работаете сейчас?
В проекте разработки «Гольфстрим» для web я занимаюсь частью бэк-кода, в котором реализована вся бизнес-логика приложения и все требования к его быстрой и безошибочной работе. И теперь я немного переживаю эффект дежавю.
Когда мы начинали делать десктопный клиент, было очень много неопределённости, вопросов, как и что делать. Сейчас, с web-клиентом, который будет сильно отличаться от десктопной версии, испытываю те же ощущения, что и много лет назад.
Что для вас значит продукт, над которым вы работаете?
«Гольфстрим» за столько времени стал для меня родным. Я не могу просто выйти с работы и сказать себе «всё, на этом мой рабочий день закончен» и забыть. Какие-то сложные моменты, сложные куски кода постоянно сидят в голове, и регулярно я ловлю себя на мысли, что фоном могу что-то продумывать.
Какие качества, по-вашему, необходимы хорошему инженеру-разработчику?
В первую очередь, нужно быть любознательным. Если человек рос в профессии и вдруг для себя решил, что дальше развития нет, он всего достиг, то это означает начало деградации. Для разработчика очень важно постоянно интересоваться новым, что называется, лезть под капот и смотреть, как что устроено.
Также важны умение сосредотачиваться и усидчивость. У меня был опыт, когда над одной ошибкой я работал в течение 4-5 дней. Вроде бы никаких новых функциональностей не добавляешь, анализируешь то, что уже есть, и в итоге исправляешь. Для пользователей это важно.
Наконец, нужно не бояться набивать шишки. Если знания даются легко, то человек их не ценит и не запоминает.