Legal Counsel at McDonald's Restaurants of Canada Limited @ Greater Toronto Area, Canada
Senior Engine Developer at Wargaming
Seasoned software engineer, I develop engine and gameplay features of award-winning MMO World Of Tanks.
Game development is my passion as all of the complexity which surrounds complex modern AAA games:
Dealing with complex contradictory requirements. Tons of details to take into account and draw interconnections between while designing software solution. Dozens of people to communicate with while understanding what they want and explaining them what they indeed want. Decomposing of the feature into tasks for other engineers.
That's my usual job. And yes, all of these is a preface to some programming after all.
The area of my expertise is AAA game development. I'm proficient at developing software solutions used by gamedesigners and artists as means of game development i.e. component systems and toolsets to operate with them. Also I've rich experience in implementing various gameplay features for multiplayer MMO.
While working on videogames I've shaped my generic programming skills to satisfy their needs. It involves such skills as:
• Architectural design of complex engineering features satisfying requirements
• Work with stakeholders
• Decomposition of features into finite and clear set of tasks to distribute between engineers
• Implementation of efficient algorithms and optimization of existing code to satisfy strict requirements of realtime applications
• Advanced level of C++, because, well, games need a lot of modern C++.
• Design of best coding practices, codestyles and introduction them in the project.
• Knowledge sharing (e.g. engine internals learning materials creation)
Also you had to upgrade and refactor games very carefully if these games have millions of players and roll out new features constantly. It's quite a sophisticated task to extend tank engine while the tank is moving. I can do it and have done it already a lot of times.
Spheres of interest where I already have experience with:
* AAA game software development with a lot of different domains and spheres of interests involved.
* Gameplay systems development.
* Architectural design and technological feature ownership of complex engineering features in game engines.
* Conversion of raw tasks from gamedesigners and other stakeholders into solid TDD for engineers.
* Application of good coding practices.
* Making things done, even with loosely defined scope (at first).
* Technical ownership, architectural design and development of game engine's overhaul, on the ongoing living World Of Tanks. Thus making WoT engine satisfying modern patterns of GameDevelopment.