6 ВОПРОСОВ BACKEND-РАЗРАБОТЧИКУ 2040WORLD
Продолжаем серию интервью с участниками команды разработки. Сегодня нашем гостем стал Сергей Лысов, старший backend-разработчик 2040World.
— Расскажи немного о себе и о том, как ты пришел в профессию.
Со мной в детстве произошел один случай, который вдохновил меня стать разработчиком. Был у меня старый компьютер с 133-герцовым процессором, винчестером на 20 Гб и 3Dfx Voodoo 2. Я открыл exe-файл игры Half-Life в блокноте и удалил часть непонятных символов, после чего все сломалось. Тогда-то я осознал, что, если понимать эти символы, можно сделать свою игру и решил, что в будущем стану разработчиком.
— В чем заключается твоя работа на позиции backend-разработчика? Какие у тебя задачи в проекте?
Я не только backend-разработчик. Но если говорить исключительно об этой области, то я выполняю следующие задачи: меня просят сделать определенный функционал, после чего я продумываю, как его реализовать, какая архитектура для этого потребуется, в каком виде все должно быть, а затем пишу код.
Но нужно иметь в виду, что с первого раза вряд ли что-то будет работать (если так произошло, значит, явно есть какая-то серьезная ошибка), поэтому мы отлаживаем функционал. То есть запускаем его и смотрим, как он ведет себя в программе. Выявляем несоответствия первоначальной задумке и исправляем их. Далее готовый код я отдаю на тестирование.
— Как не допустить сброса игрового прогресса? Как вы за этим следите?
Это очень сложная и комплексная задача. Инвентари это действительно большая фича, и каждый предмет проходит множество операций, мы активно работаем над поиском всех проблем связанных с ними и благодарны аудитории, за то что вы помогаете нам находить эти проблемы.
Eсли мы видим, что были потеряны какие-то предметы, или кто-то сообщает о подобной проблеме в саппорт, мы начинаем «расследовать» данный инцидент: поднимаем бэкапы баз данных, проверяем логи. И если выясняется, что предметы пропали из-за технического сбоя, мы в персональном порядке возвращаем их игроку. Поэтому при утере предметов не стесняйтесь обращаться в техподдержку, мы поможем разобраться с проблемой.
— У тебя есть команда? Расскажи про вашу совместную работу.
Да, у меня есть команда разработчиков. Мы постоянно обсуждаем архитектурные решения и прочие задачи, чтобы выполнять их максимально быстро и эффективно.
Если нам поручают объемную и сложную задачу, первым делом мы разбиваем ее на части и решаем, кто за какую составляющую будет отвечать и как она будет реализована. Затем мы приступаем к работе, находясь в постоянной коммуникации. В конце мы объединяем то, что получилось, в одно целое и отдаем на тестирование команде QA.
За год работы все участники команды очень сплотились: мы научились быстро и слаженно справляться с такими задачами. Каждый из нас понимает зону своей ответственности и значимость своего вклада, что позволяет тратить на задачи намного меньше времени и выполнять их качественнее.
— Какие баги чаще всего встречаются в игре? Сложно ли их исправлять?
На самом деле совершенно разные. Чем чаще встречается один и тот же баг, тем проще его исправить. Сложнее с единичными багами. Но есть и такие, над которыми очень долго ломаешь голову, а проблема может быть всего лишь в одном числе или одной строчке кода.
— Какая задача была самой сложной за все время работы? Как ты с ней справился?
Весь вопрос в том, что считать сложной задачей. Есть такие, которые нужно выполнять долго, но они простые и прозрачные. А бывает, что на решение требуется совсем немного времени, а вот чтобы понять, как к ней подступиться…
Вообще в своей работе я руководствуюсь принципом «Как съесть слона». А как? Конечно, по частям. То есть любую сложную задачу следует разделить на несколько небольших, тогда все становится легче.
Одни из самых сложных задач для меня те, что связаны с архитектурой, когда ты придумываешь и настраиваешь связи внутри проекта. Здесь приходится использовать весь опыт и знания.
Спасибо за внимание! Больше интересного контента ищите в наших социальных сетях.