Kirill

Kirill

Redmond, WA

About/Bio

For now it's just some parts of my resume.

SUMMARY

Over 25 years of programming experience. Strong C#/C/C++/Assembler programming skills. Adequate mathematical background. Completed several product development cycles (over 20 projects, 1989-2015). Led programming teams.

07/2013-12/2013                                                               Microsoft, Xbox One (Durango)

Software Design Engineer                                              Redmond, WA

Designed and developed Submission Validator DLL (90-95% of the source code), a part of Make Package utility that creates Xbox One game title volumes. The Validator scans the directory structure and files that comprise a game title and verifies that they don’t contain incorrect / foreign files, that manifest XML files describing the title have the correct syntax, that title’s EXEs and DLLs have correct date and version, etc. Also developed a utility running a set of unit/functional tests for Submission Validator.

 

05/2012-12/2012                                                               Microsoft, Kinect for Windows

Software Design Engineer                                              Redmond, WA

Worked on and completed the following projects: Kinect Driver Stress application using internal Kinect APIs (C++); Native Kinect Stress app using public C++ APIs; Native-Managed Bridge using ATL COM, C++ and C# for the Action Runner test harness. Also completed the first version of the Crash Dump Analyzer app that parses and extracts a stack trace from a DMP file.

 

08/2010-05/2012                                                                                       Vita Si Fi

Architect, Sr. Software Design Engineer                                              Redmond, WA

Designed and developed a client-server application for managing a software simulator of multiple distributed neural networks able to support over 10 billion neurons. The server and clients are connected over regular TCP/IP channel using a specially developed protocol. This is proprietary software and it’s not available for download.

Restored the 3D game Breakthrough originally developed in 1995 for DOS. It required rewriting video (in Assembler), audio and keyboard input routines so that it could work under Windows. Please see the demo: http://www.vitasifi.com/journals/about

Wrote the content-based image search utility ClonFinder. It scans the hard drive, and finds, if any, close and exact duplicates - also scaled or rotated - of a particular (sample) image file.

 

12/2009 - 05/2010                                                 Microsoft, Windows Mobile Division

Sr. Software Design Engineer, contract                                                Redmond, WA

Worked in Windows CE Setup Team. Fixing bugs and developing new features for the WiX Burn engine, as well as the UX Chainer.

 

04/2008 - 04/2009                                                             Microsoft, Microsoft Research

Sr. Software Design Engineer, contract                                                Redmond, WA

Worked and successfully finished two separate projects. The first one was a solution for a Terminal Server environment – VIP (Virtual IP address) for Thin client. It consisted of a Layered Service Provider (LSP) and a VIP service, both installed/ running on a TS. The LSP was catching all network connections through Winsock and called the VIP service to get a unique IP address for a particular client. Then the service contacted a DHCP server and supplied it with a MAC address generated from the client’s RID/SID to get an IP address. That way, each user connecting to a Terminal Server was getting a unique IP address, which was logged in DHCP server log files. Normally, without this solution, each user is getting the Terminal Server’s own IP address (same for every user), making it impossible to figure out the user’s identity.

The second project was also targeted to TS/ThinClient environment. When the number of users connected to a single Terminal Server grows, the load on the server is increasing. If those applications are producing more or less static screen output, like for example, Word, Excel, Internet Explorer (not running graphics-intensive pages), the Terminal Services software that compresses and sends the application's display output to the client machine, handles its task quite well, with no visible performance degradation. However if the user opens a webpage that contains not only static images and text, but also animation or video (Windows Media Player, Flash or any similar OCX/plugin), the pefrormance of the Terminal Server starts to degrade almost immediately. To resolve the issue a solution consisting of two components has been implemented - VideoProxy and VideoClient. The idea was to intercept the input video stream coming to the Terminal Server with the VideoProxy component and send it over to the remote client machine where the VideoClient component is performing the actual decompression and display of the video stream. This way the TS processor is not used for the double operation - decompress, then - compress less effectively, and we also save some network traffic over the wire between the TS and a remote client because the original  tightly packed stream is being sent there, not more bulky stream compressed by the TS software.

 

 

12/2007 - 03/2008                                                 Microsoft, Windows Mobile Division

Sr. Software Design Engineer, contract                                                Redmond, WA

The objective of the project was to evaluate performance and reliability of the ActiveSync connection when a Windows Mobile phone is connected to a Windows desktop PC over USB cable, in particular RNDIS-over-USB and Serial-over-USB. Measured the ActiveSync connection characteristics and suggested further steps to find bottlenecks in the source code for these two Windows Mobile platforms: a smartphone (e.g. Tornado), and a pocket PC (e.g. HTC Hermes). That required understanding of the driver model (MDD, PDD) used in Windows Mobile, the desktop driver stack and services used for the ActiveSync connection in Windows XP and Vista, familiarity with USB, RNDIS, RAPI, and MTP protocols.

 

04/2007 - 12/2007                                                 Microsoft, Windows Mobile Division

Sr. Software Design Engineer, contract                                                Redmond, WA

Provided engineering design, development, and testing of the Troubleshooter for ActiveSync (ASTU) that is used to diagnose problems when a Windows Mobile phone is connected to a Windows desktop PC. The tool detects various network and user configuration conditions on the desktop OS and notifies users of connection failures and troubleshooting steps. That required replacement of about 80% of the source code used originally in ASTU v1.0. Also worked on and successfully completed the Setup for ASTU. That required using the Orca/WiX/light/candle utilities to specify steps, files, and the directory structure for the installation process. Also worked extensively with the Localization team to help localize ASTU and ASTU Setup to support 24 languages.

 

 

08/2006 - 12/2006                                                             Microsoft

Software Design Engineer                                              Redmond, WA

Worked on a team fixing bugs in WinHelp to ship with Windows Vista. The bugs were found by PreFix/PreFast. Some bugs were file fuzzing bugs introduced into help files to check WinHelp's resistance to crashes.

 

03/2006 - 06/2006                                                             Microsoft, Small Business Server

Software Design Engineer, contract                                          Redmond, WA

Designed and developed a function and test cases for finding and removing trusts between domains in Active Directory. Used WTT (Windows Test Technology) Scenario Builder to create the test cases.

 

10/2004 - 03/2006                                                             Microsoft, HIG

Software Design Engineer, contract                                          Redmond, WA

Designed and developed the ARPower user interface for the Away Mode technology (a COM module). “Away Mode,” a Microsoft Power Sense™ technology, allows the PC to appear off to the user while the system continues to function for tasks that do not require user input. Designed and developed security functionality that would prohibit malicious access to the module. The Away Mode technology uses power management capabilities in the Windows operating system and in hardware to lower power consumption. ARPower module is a part of Away Mode software implementation (set of drivers, services and utilities) that provides an interface to an end user allowing him or her to enable or disable Away Mode.

 

 

7/2003 – 9/2004                                                                Nemo Island, Inc.

Project Lead, Software Developer                                Bothell, WA

Worked on the next version of the Picture Manager and Album Maker.

 

 

6/2002 - 6/2003                                                                 Microsoft, Windows Media

Software Design Engineer, contract                              Redmond, WA

Designed and developed the user interface for the two utilities (tools). The Video Viewer for AVI/WMV files, and WmCompTool - a professional tool to be used by TV/multimedia engineers and editors. The tool allows encoding/conversion of video sequences (AVI/WMV files) providing full control over the conversion process.

 

10/1999 - 6/2002                                                               Nemo Island, Inc.

Project Lead, Software Developer                                Bothell, WA

Designed and developed the Nemo Island Picture Manager and Album Maker. The program allows to create off-line photo albums in HTML format, executable albums for future distribution on CDs along with Nemo Island Album Viewer, build directory trees containing only files of a specified type (JPG, BMP, etc.), create thumbnails, etc., etc.

 

Designed and developed the Nemo Island 3D Viewer™ - ActiveX control for the Internet. With this general-purpose viewer you can display 3D models of things from the size of a wedding ring to a 6000 square foot house and property.  The Nemo Island 3D Viewer ™ is written in C++ to work in conjunction with Microsoft DirectX.  The viewer uses a proprietary data compression technology for downloading data files. The data compression technology gives far better compression than other 3D viewers from competitor companies.

Also designed and developed the proprietary editor. You can take any 3D model made with 3D Studio Max or any other popular 3D modeling package, enhance it and then compress it to be shown on the viewer. You can use the editor to do any necessary adjustments and introduce enhancements like photo realistic qualities, various light reflection properties, etc. to the model. 

 

 

05/99 - 08/99                                 Microsoft, Accessibility Design Group

Software Design Engineer, contract                              Redmond, WA

Developer for Microsoft Accessibility Dialog box in Control Panel for Windows 2000. Fixed and verified about 20 bugs. Compiled a list of source and project files for Accessibility Manager. Wrote a sample program for selecting a window under the mouse cursor.

 

11/97 - 02/99                                             Microsoft, Direct Animation Group

Software Design Engineer, contract                              Redmond, WA

Developer and tester for the Microsoft Direct Animation 3-Dimensional area. Wrote over 250 samples in C++, Java Script, Java for testing various aspects of the 3D functionality. Direct Animation is the foundation of the latest Microsoft Chromeffects technology for the Internet. It enables to integrate different media types (two-dimensional images, three-dimensional geometries, sounds, movies, text, and vector graphics). The media can be animated over time and integrated with user and synthetic events. Animations can be constructed for deployment on the Web or used directly within applications or standalone content. HTML authors can add multimedia and animation to their pages by using the DirectAnimation multimedia controls without programming at all. Tools used: Microsoft Dev Studio 97,Visual C++ 5.0/6.0, Microsoft Java SDK. Platforms tested: Windows 95, Windows 98, Windows NT 4, OSR 2.0, OSR 2.5, etc.

 

11/96 - 10/97                                             Microsoft, Zone games group

Software Design Engineer, contract                                          Redmond, WA

Developer for several online puzzle-game titles in the Mind Aerobics project. Games were released on the Internet (MSN) in July 1997. Worked on a team of developers, each implementing separate games. Was the first developer hired, and the only original developer retained through the end of the project. Worked closely with Test and Art.

 

Developed the following online puzzle-games:

Count-to-100
Roboloader (animation)
The Focal Point
Honey Way.                     

Count-to-100 utilized the Microsoft DirectDraw and Direct3D technologies. According to the functional spec, the player's goal was to count all 3D rotating shapes of various colors in the magic box. Each shape had a number between 1 and 100. Shapes were kept as 3D meshes in .X files. Direct3D was used to read the files and to project them onto a DirectDraw surface under different angles in order to get a set of sprite phases. The sprites were used to create a picture of a magic box filled with 100 various shapes (cubes, cones, 3D crosses, cylinders, etc). Direct3D was also used to load and wrap textures (wood, stone, metal) around the shapes. The standard Windows GDI functions were used to create 2D animation for The Focal Point, HoneyWay and Roboloader titles. Tools used: the Microsoft Dev Studio 97,Visual C++ 5.0, DirectX.

 

OTHER 3-D PROGRAMMING EXPERIENCE

11/94 - 5/96                                                                       3D Technologies

Project  Lead and Developer                                         St. Petersburg, Russia/Boston, MA

Managed and developed the game 'Breakthrough'. Managed a group of programmers, artists, sound engineers and game designers. Created development plan and cycles for the project. Each level of the game was powered by its own 3D realtime engine. Created fast real-time animation algorithms for the three 3D engines:

Catacombs
Landscape
Caves.

This required solid knowledge of 3D geometry, understanding texture-mapping and bitmap-scaling algorithms. Both algorithms and source codes were developed to be easily converted to Microsoft Windows. Tools: VC++ and Watcom C++.

 

5/93 - 11/94                                                                       Animation Magic

Project Lead and Developer                              Boston/St. Petersburg

Managed and developed "I. M. Meen," a best-selling 3-D adventure game for kids, published by Simon & Schuster Interactive in 1995 on CD-ROM. Managed a group of  programmers. Was responsible for the coordination of all parts of the project (animation, text editor, interface, spell-checker, behavior routines, map-editor, resource-compiler, sound, setup, etc.) Developed 3D-engine, fast algorithms for bitmap-scaling; designed graphics data file formats and utilities. Created development plans and cycles for the software part of the project. The game works both under MS-DOS and MS Windows. Tools: Visual C++, Watcom C++. Read more here: http://en.wikipedia.org/wiki/I.M._Meen

Interest & Hobbies

This is interests and hobbies section

This is interests and hobbies section

This is interests and hobbies section

This is interests and hobbies section

This is interests and hobbies section

Flag Content