Всем привет! Сегодня у нас по плану — поближе познакомить вас с еще одним нашим сотрудником. Расскажем об инженере по автоматизации тестирования Дмитрии Самофалове.
Дима, привет!
Привет!
Как ты пришел к тому, чем занимаешься сейчас? Расскажи, кем ты работал в ИТ до «АйТи Бастион».
Я пришел в ИТ не сразу. Около 10 лет я работал инженером на различных производствах: автомобильном, водоочистных и водоподготовительных систем, фармацевтическом.
Уже тогда моя работа была частично связана с программированием, хотя и с очень специфическим его направлением — промышленной автоматизацией. Я получил интересный опыт работы со всевозможным технологическим и измерительным оборудованием от роботов до высокоточных уровнемеров.
В какой-то момент я понял, что оставаться на позиции инженера мне уже неинтересно, и обратил свое внимание на сферу ИТ. После работы по книгам и курсам из интернета я изучал веб-программирование. Три года назад я начал свой путь во фрилансе, выполняя заказы по парсингу сайтов и написанию чат-ботов. Затем я устроился на стажировку в студию спецэффектов и анимации, успешно её прошел и проработал там еще год. После неё я оказался в «АйТи Бастионе». Хотя изначально я не планировал искать работу именно инженером по автотестированию, с удовольствием согласился на предложение компании поработать в этом качестве. Причины просты: отличные условия, новая для меня область. А еще мне понравилось интервью с hr-менеджером и подход технического директора к процессу разработки и развития продукта. И вот я здесь 🙂
Кратко опиши, зачем и почему твоя должность нужна компании.
Тестирование снижает убытки компании, сокращает срок разработки и развертывания на стороне клиента, а главное — выявляет ошибки в программном продукте на самой ранней стадии добавления функционала. Мне нравится такая аналогия: разработка без тестов — это как езда в автомобиле без педали тормоза. Можно так ездить? Можно, но любая ошибка в управлении таким способом может стать последней.
Чем отличается хороший специалист на твоей должности от плохого?
В моем представлении, плохой специалист только пишет тесты и все. Он не интересуется повышением качества кода, не читает код своих коллег, не интересуется системой в целом, ее устройством, идеологией архитектуры, на каких принципах она построена и почему работает именно таким образом. Иначе говоря, у плохого специалиста отсутствует проактивность, дух исследователя. Это, кстати, справедливо к техническим специальностям в целом.
Нельзя работать на твоей должности, если …? Продолжи.
Если вам неинтересно тестирование и у вас нет склонности к экспериментам. Тестирование — это больше про проверку предположений и про выявление новых способов испытания системы на прочность. Для этого нужно мыслить нестандартно и иметь стойкое намерение проверять свои предположения.
Без какого личностного качества в твоей работе не обойтись? Почему?
Мне кажется, ключевой навык — это усидчивость. Ежедневная работа программиста в основном состоит из выявления ошибок и определения того, почему и где что-то работает не так, как ожидается. Инженер по тестированию — это особый «подвид» программиста, который работает с кодом, но на метауровне, т.е. он пишет код для проверки кода.
Еще инженеру по автотестированию, помимо написания тестов, зачастую нужно настраивать отдельное окружение, тестовые стенды, инфраструктуру, чтобы воспроизвести ошибку или сымитировать определенные действия пользователя системы. С окружением много своей специфики и проблем, на решение которых нужно время. Без навыка терпеливо разбираться со всем этим ничего не получится.
Расскажи о твоем самом большом заблуждении о работе, когда ты только начал свой путь в текущей должности.
Я думал, что программист — это одиночка. Это верно лишь отчасти. На самом деле, самая потрясающая возможность, которую дает работа в ИТ, — это общение с коллегами, профессионалами, людьми, увлечёнными своим делом. Нередко бывает так, что, спросив совета у коллеги, я могу взглянуть на проблему с другой, неизвестной мне стороны и найти решение там, где я бы не стал искать. Также часто в ходе совместных обсуждений какого-то функционала всплывают особенности, которые незаметны на первый взгляд.
В итоге мое заблуждение сменилось откровением, насколько ценным является работа в команде, насколько важным навыком является общение с коллегами.
Выполнение какой задачи в течение рабочего дня приносит тебе особое удовольствие?
Безусловно той, для которой нет готового решения и над которой работал длительное время. За неимением подходящей формулировки я называю этот процесс «добычей мрачного дофамина» 🙂
Откуда ты черпаешь профессиональные знания, помимо рабочего процесса?
Мой основной источник знаний — это, конечно, книги. В среднем прочитываю 2 технические книги в месяц. Читаю в основном про архитектуру, паттерны проектирования, про алгоритмы и структуры данных. Навыки кодирования тренирую на ресурсах типа codewars, leetcode, hackerrank и подобных. Прохожу курсы на множественных русско- и англоязычных площадках: stepik, hexlet, лекториум, udemy, edx и подобных. Также смотрю и слушаю отдельные доклады от разработчиков на интересные темы или по рекомендации коллег. И последний, но не по значимости, «источник» — это мои коллеги.
Расскажи о выполненной задаче/проекте, которым ты гордишься.
Мне трудно выделить какую-то одну задачу. Почти каждая из них со своими особенностями. Но я чувствую свой вклад в развитие качества продукта, чувствую, что в том числе и благодаря моим усилиям и готовности помочь работа коллег становится чуть легче.
Расскажи о каком-нибудь веселом и смешном случае, связанном с твоей работой.
Как-то я писал коллеге в личку по одной технической проблеме, с которой столкнулся, а потом совершенно внезапно для меня другой коллега включился в диалог, задавая свои вопросы. Мне потребовалось несколько минут, чтобы понять, что я перепутал личный чат с общим. Я был абсолютно уверен, что пишу в личку коллеге. Самое смешное здесь то (как выяснилось позже), что моя коллега думала в тот момент точно так же: «А как он-то тут оказался? 🙂 В общем, смешных моментов бывает достаточно. Часто это специфический it-юмор, требующий пояснений для непосвященных людей. Но поверьте на слово, это бывает очень смешно 🙂 И это здорово работает на поднятие командного духа.
Есть мысли о том, чем бы ты занимался/кем работал, если бы не занимал должность инженера по автоматизации тестирования?
Оглядываясь на свою жизнь сейчас, я скажу, что ни о чем не жалею. Свой путь я выбрал сам. И теперь благодаря пройденному пути я уверен, что смогу преуспеть в чём угодно. Если бы так сложилось, что я не работал инженером, я бы стал реализовывать себя в творческих профессиях: стал бы музыкантом или писателем. На худой конец, блогером 😉
Охарактеризуй 3 словами твою работу: какая она?
Итеративно сдерживающая энтропию.
Что ты посоветуешь тем, кто тоже хотел бы стать инженером по автоматизации тестирования?
Я бы посоветовал сначала посмотреть вводные видео по теме тестирования, которые легко найти в интернете, и честно ответить себе на вопрос: мне интересно это направление? Если ответ «Однозначно да!», то освоить программирование на базовом уровне и затем углубляться в тот стек технологий тестирования, который ближе лично вам. Практикуйте регулярный кодинг, пишите очередной «никому не нужный калькулятор с обратной польской нотацией» или to-do блокнот или всё, что только придет вам в голову. Чем чаще вы пишете код и рефлексируете над его улучшением и развитием, тем быстрее вы реализуетесь как программист. А в процессе создания собственных программ обязательно пишите тесты, держа в голове такой вопрос: «А что, если…?». Это очень полезный вопрос. То, как часто вы задаёте его внутри себя, довольно точно определяет вас как специалиста по тестированию. И еще. Если вы все-таки решите стать программистом, то запомните: программист всегда пишет тесты. Не верьте тому, кто считает иначе.
Назови песню, которая ассоциируется у тебя с твоей работой.
Песня «Край ветров» группы «Артерия»: потрясающая глубина текста и музыки, всем рекомендую послушать. Там есть такие строки, они часто звучат у меня в голове:
«Край ветров
Манит тайнами руин,
Тенью древних городов,
Солнцем выжженных долин.
Вопреки
Ураганам встречным вдруг
Рвусь вперёд и жизнь свою
Этой скорости дарю».
БЛИЦ
Машина или мотоцикл?
Машина, т.к. я пишу код с использованием машин. Я слышал от нескольких людей, что кто-то успешно программирует с использованием мотоциклов «Ява», но таких людей лично не встречал.
Санкт-Петербург или Москва?
Санкт-Петербург, всенепременно 🙂
Стадионный концерт или «квартирник»?
Стадионный концерт. Едва ли есть другой способ ощутить энергию любимых исполнителей среди большой толпы неравнодушных к творчеству людей.
Полет на Луну или спуск на дно Марианской впадины?
Полёт на Луну. Я хочу верить, что «The truth is out there».
Баг или фича? 🙂
Баг. Баг — это про ответственность и перемены к лучшему, а «фича» — это, вероятно, что-то на хипстерском 😉
Благодарим Дмитрия за интересные и информативные ответы! Следите за обновлениями и знакомьтесь с другими специалистами «АйТи Бастион».