Contact info:


Email:  
Skype: Constantine.Khorunzhev
LinkedIn: http://lnkd.in/aVcR7f

Portfolio: http://www.fourarcticfoxes.com

Other info:
Native language: Russian
Other languages: English
Actual location: Russia, Saint Petersburg
Time Zone: UMT+4 (Moscow time)
Relocation for concrete projects is possible
but remote work preferred.

Constantine Khorunzhev

   Software Engineer with 15 years of experience in the IT industry with a focus on software development and software design with C++, C# and other programming languages.
   Extensive knowledge of Unity 3d/C#. Rich experience of development client-server interaction of Unity3d clients for different platforms (for Flash platform too) with web services.
   Experience of development web services (http, https) for Unity3d clients with Node.js (Javascript) and using Amazon cloud to hosting it; using other clouds like Parse.com
   Integration with in-apps payment services, Google Play Services, game analytic services, different adware networks, Social networks
   Experience of work as the member of highly distributed international teams.

Skills summary

  • Over two years’ experience with Unity3D/C#:
      -   3D and 2D gameplay for Unity3d Web Player, Flash, mobile (basically Android) and desktop (basically Windows) platforms
      -   Client-Server interaction with web services (from Flash platform too)
      -   Development the applications with dynamic scene creation and dynamic downloadable textures, sound and video usage
      -   HUD development with NGUI
      -   Development plugins for Unity3d Editor mode, including import load XML-featured results of export from third-party products.
      -   Integration with social networks.
      -   Experience with third-party plugins adaptation, problems fixing and integration
  • Server-side development for Unity3d projects (basically with Node.js):
      -   Web services (both http and https) with Node.Js (Javascript for scripting, Eclipse as IDE): basically “server imitators” to reduce the dependences to customer “real” server development and provide the easy-to-change standard implementation of requirements to client-server JSON-based or XML-based interaction protocols
      -   Experience with Amazon Cloud (EC2, Elastic BeansTalk, R3 and others). It is extremely useful for creating low budget but highly scalable server side service applications
      -   Experience with other clouds like Parse.com
  • Project management skills and experience:
    Experience includes:
      -   planning (MS Project is preferable) and estimating small projects up to 250,000$,
      -   managing highly distributed international teams up to 10 members and interaction with Russian/Ukraine/Belorussian free-lancers. I prefer the Google products stack to organize such activities.
  • Other useful for Unity3d projects skills:
      -   HTML/*Javascript useful to provide interaction with browser for browser Unity3d clients
      -   MS .NET technology stack useful for game editors (WPF/Silverlight, WCF, MS SQL Server)
      -   C++/STL/Boost (MS Visual Studio, XCode)
      -   SVN (lovely), Git, Mercurial, MS Team Foundation Server, Unity Assets Server. JIRA, IBM ClearQuest, Assembla integrated issue tracking, Google code integrated issue trucking…
      -   Apache Ant (lovely), CMake.
      -   Initial level skills with Adobe Photoshop and 3D Studio Max.

Work experience


Games development experience

2012 till now: self-employment and contract-based collaboration with Sin Game developing international project (Saint Petersburg) and some other companies as software engineer or consultant, basically with using oDesk and eLance.
Personal Unity3d projects (single developer)
    Last developed with Unity3d my personal projects: prototype of framework to simplify development of 2d Slot Machines games, prototype of framework for creation of 3d presentations and Virtual Museum applications. To speed up the development of new slot machine games I have developed several Unity3d Editor components.
    These applications are client-server: their server part was developed by me with Node.Js and hosted at Amazon cloud.
    These projects presented at my site http://www.fourarcticfoxes.com
Unity3d projects as the member of team:
 -  Different puzzle and quest/adventure games (typically 2 developers, 1-2 months)
 -  "Lucky farmer" genre game Ganja Farmer - Weed empire )
 -  one mix of racing and third person shooter( Death tour ).
 -  Prototype for 3d world multiplayer adventure game.
My typical responsibilities for puzzles and quests:
 -  Develop and document software design
 -  risks mitigation by prototyping basic gameplay or some high risky (hard estimation) components.
 -  Decompose works to work breakdown structure and provide project estimation,
 -  develop some critical components like events-based components interaction systems or quests/story data structures. For instance, component of graph of cross-stories for fractal style writing of prototype for very ambitious adventure game project like remake of Gabriel Knight .
For Death Tour: Unity3d Editor components, fascade component for integration with social networks via 3d-party components;

Other projects as the member of team:
 -  2012, 2 months: С++, Lua - integration of Lua into C++ proprietary engine, develop with Lua simple demo game, teach 2 junior developers to continue game development with Lua
 -  2012, 2 months - Lua: rework gameplay of quest game with C++ & Lua - based proprietary engine.
 - 2012, 2 months: C# (WPF) - game data editor (WPF client developer), Unity3d/C# Editor plugin – import data from XML
 - 2012, 2 months: Cross-platform (iOs, Android) game development project (XCode C++ ) similar to “happy farmer”. Team size – 20 developers, my responsibility: develop extensible set of upgradable game objects like mill, mine, etc and corresponded game logic subsystems

 

Other development experience

January 2012 — May 2012 First Line Software(Software outsourcing)
Saint Petersburg, www.firstlinesoftware.com) Senior Software Engineer (C#,C++)

  -   C#: UI (Silverlight) SW developer, 2 months. Project of customer notification system (includes automatic generation of emails for mass mailing).
My responsibility: WYSIWYG editor for XML-like mail templates and e-mail text (HTML and RTF) generator.
  -   C++: adopting SW to concrete customer for automated warehouses system (produced by Viastore Systems Gmbh). Project size: 3 months, 3 developers
January 2011 — January 2012 (1 year) Blue Phoenix Solution contractor
(Saint Petersburg team), project “ AppBuilder” (was acquired by Magic Software Enterprises at end of 2011), Software Engineer (C++)

  My responsibility:

  -   C++: UI (MS MFC) SW developer:  improve the IDE for specific language which can be translated into C, Java, COBOL, C#. Single developer at this component; total developers count at project was 15; Provide compatibility of this IDE with Windows 7 and port sources from Visual Studio 2005 to Visual Studio 2010 with resolving incompatibility issues

March 2010 — December 2010 (9 months), Spb Stars Up (
Saint Petersburg), Lead Software Engineer (C#)

Design, project and develop financial module of new customer specific enterprise accounting system prototype, develop module of import necessary data from outdated system: C# for .NET 4.0, WPF, WCF. MS SQL, MySQL; adopt ASP.NET information presentation module at customer corporate site.
Team size: 2 developers.
June 2007 — March 2010 (3 years) Alcatel-Lucent
(Russia, Saint Petersburg Alcatel-Lucent R&D center, www.alcatel-lucent.com) Software Engineer (C++,SQL,VBA)

   Project: OTCC Premium Edition - next generation (at that moment) of Alcatel-Lucent environment for call centres.
My Responsibilities:
  -   improving, new features development and deliveries of complex multithreading service component “SSBD SynchroServer Bidirectional. It is intermediate layer between IP PBX and higher level server services. At this component I was single developer.
Environment: Visual C++ 2003, InstallShield 6.3
  -  development of system of MS SQL stored procedures for server part. Environment: T-SQL/MS SQL Server 2000,2005  -  VBA development for report generation subsystem Environment: VBA/Excel
Team at Saint-Petersburg R&D center: 7 software engineers , 4 Q&A engineers.
Key achievements:
SSBD is partially rewritten and became ready to exploitation. An excerpt from recommendation letter: "...As a programmer Constantine was responsible for several different sub-systems: C++ application, triggers, T-SQL stored procedures and VBA modules. He proposed and implemented non-standard technical solutions and demonstrated ability to solve uncommon problems requiring thorough analysis. Thus, having tricky C++ code inherited from another employee, Constantine managed to eliminate real-time crashes, memory allocation and multithreading problems...."
October 2005 — May 2007 (1,5 years) Rhonda Software Ltd/Motorola contractor(Russia, Vladivostok, www.rhondasoftware.com ) Senior Software Engineer, Technical Leader

 

"Rhonda ltd" was being managed by Motorola as one of its own divisions. So basically this company was developing the firmware of Motorola cellular phone for RAZR series.
My responsibilities:
- plan and monitor task execution, control developers to guarantee observance of standard process
- manage and execute code reviews.
- Investigate different components of developed software and their interactions. Share the knowledge and execute some tasks as the programmer
Environment:
- C (own Motorola compiler), platform P2K (based on own Motorola real-time OS, which core was VRTX).
- VBA(Outlook, Access, Excel) - automating some calculations and data collecting related to Quantitative Project Management .

Some special tasks:
- standard process improvement in project management area
- member of Control Change Board triage group: fast analyze the change requests and assign them to proper workgroup.
- member of project team of project to prepare the company to CMM level 5 certification: I was responsible for Project Scope management subarea.

Key Achievements:
- stabilized the managerial process of propagation the fixes done for one model of cellular phone into compatible models
- Documented the existing managerial process of development the new feature. Initiated, planned and successfully executed the re-engineering of this process
- Developed the Project Scope Management "Rhonda ltd" internal corporate guide.

October 2004 — September 2005 (1 year) PolyOptimum
Russia, Vladivostok R&D center, www.polyoptimum.com), Team Leader and software engineer (Visual FoxPro,C++)

Company was the developer and owner of products for establishing proactive management. Basically these products were used by Canadian, Australian and USA hospitals. Development teams were located in Russia. I had helped establish the team in Vladivostok and then I was leading it. 

Responsibilities:
- take part in development as one of the programmers
- interact with central team and requirement managers in other countries to clarify and decompose change requests
- locally establish and improve the standard process
- plan and monitor task execution, manage and execute code reviews, manage local knowledge sharing.
- carry on negotiations with lessor, internet provider, repairing company, etc

Environment: Visual FoxPro 6,8,9; MS SQL 2000; Visual C++ 6 

Key achievements:
- stabilized the workflow of established team.


Elder development experience:

March 1995 — October 2004 (around 10 years)

Employee of different companies at Vladivostok, Russia.
Basically I occupied positions of Software Engineer or Senior Software Engineer. Environment and tools: FoxPro, C++, Delphi/MS SQL; additionally for some features and projects - VBA(MS Excel, MS Access).
Other roles:
  -   Senior Civilian Specialist of Primorsky Kray Regional Headquarter Police Office, IT department – December 1995 till May 1996;
  -   Vladivostok State University of Economics and Services (http://eng.vvsu.ru/,also see 7iki page ) — chief of IT innovations department: around 3 years (March 2002 — October 2004)
March 2002 — October 2004 (around 2.5 years)  Vladivostok State University of Economics and Services (http://eng.vvsu.ru/ , also see 7iki page )
Chief of IT innovations department. Team size: 5-8 permanent members.
This department was established by me from scratch as specialized analog of project office. It provides some managerial services to different departments of University.
- clarify IT-related ideas of top managers and in collaboration of experts from other departments develop detailed project documentation, including project estimations.
- coordinate IT-related feasibility investigations, execute preliminary estimations and project planning in collaboration with other departments
- monitor and coordinate execution of subprojects by contractors and other departments
Samples of projects: mass production of low prime cost multimedia materials for distance learning, buy and introduce Access Control system and its integration with University Information System etc
September 2001 — March 2002 (7 months) NR ltd (wholesale company), Senior IT Manager of IT department
Russia, Vladivostok. Team size: 5 members
Responsibilities:
- handle the development of company IT infrastructure and execute the planning of it in accordance of company needs and planned grow.
- develop requirements to new proprietary accounting system and plan corresponded re-engineering of business processes
- represent the company as the business analyst to external business re-engineering expert. 
- Provide to this expert and company top-managers the necessary data and calculations based on actual accounting system. These calculations required the massive but fast development as the programmer. 
Tools: T-SQL (requests and stored procedures), VBA/MS Access (to present the results of calculations).

Key achievements:
   - Developed requirements to new accounting system for this company and similar companies. Done preliminary projecting of SW development project and corresponded re-engineering project. Done marketing investigations of possible sales of this system to other similar companies following the strategy of business diversification.
   - Found and introduce into usage enough appropriate alternative.
February 2001 — September 2001 Vladivostok ship repairing factor
Software Engineer of IT department.
Project:

Rework, integrate and introduce into usage developed by contractors SW products
- SW for fast planning and making up the estimates of ship repairing projects
- SW for servicing the contract records per ship and accounting the costs per ship. 
Tools: MS Visual FoxPro 6, MS SQL 2000
- SW for factory depot. 
Tools: Borland Delphi 5, MS SQL 2000
Project size: 1 developer

May 1996 — February 2001 (around 5 years) Primorsky Kray State Regional Headquarter Post Office
Russia, Vladivostok.
Software Engineer of IT department
Main project:
  -   Project and develop proprietary SW system to automate some specific regional workflows (MS FoxPro 2.6 for DOS) and interactions between regional office and local offices of different towns. Project corresponded re-engineering of business processes.
  -   Handle introducing of this system around the region (more than 20 towns)
    At the same time I was learning the management in Vladivostok State University of Economics and Services. So I was immediately introducing to practice appropriate knowledges related with project management and business processes engineering. And I was using this project and this experience to develop my thesises for graduating.

Other projects:   Develop proprietary SW products to office automation (VFP, Borland C++ Builder). 
December 1995 — May 1996 (6 months)
Primorsky Kray Regional Headquarter Police Office, IT department
Senior Civilian Specialist

Responsibilities

- inspect the "information distribution work group" (2 persons)
- develop in-house software products to automate workflow of this group (Clipper 5 and Borland C++ 3.1 for Dos with Borland TurboVision and Borland dbf library)
- consult users about using specific SW products and maintenance specific hardware 

Key achievements:
Established "from scratch" the "information distribution work group". Workflows of this group were stabilized and automated.

1993 — December 1995 (~3 years)
Far Eastern Federal University (former Far Eastern State University): http://www.dvfu.ru/en/web/fefu (during garduating in Applied mathematics and Computer Sciences)

Developed C++ library for applications to numerical analysis for some Fluid dynamics problems; develop several applications with using this libary as the part of my theses project.

Education and trainings

1990- 1995  Far Eastern Federal University (former Far Eastern State University): http://www.dvfu.ru/en/web/fefu, also see  Wiki page
Applied mathematics and Computer Sciences/mathematical modelling of physical processes. Mathematician, specialist degree (beyond the Master's degree but below the doctorate, see Wiki page. Close to German Diplom(Univ.) degree, see  Wiki page)
Theses: Numerical analysis of magnetohydrodynamic flows of low conductivity gas.

1997-1999

Vladivostok State University of Economics and Services ( http://eng.vvsu.ru/ ,  also see 7iki page)
Management, economics and business administration. Manager, specialist degree (beyond the Master's degree but below the doctorate, see 7iki page. Close to German Diplom(Univ.) degree, see  Wiki page)
Theses: IT-based business processes re-engineering project of subscription services of Primorsky Krai State Regional Headquarter Post Office.
2009 "Projektmanager/in" ("Project manager") AFW Wirtschaftsakademie Bad Harzburg GmbH(AFW Academy of Economics and Management, Bad Harzburg/Germany, http://www.afwbadharzburg.de/) and OBS Spb/Russia, qualification certificate (Harzburg – Zertifikat)
2008 Developing Applications for the Java SE Platform
Sun Educational Services,Spb/Russia, certificate


Some of personal achievements


 
  •  Developed as personal project with Unity3d the prototype of applications like virtual museums, 3d infographic presentations etc, which needs to build the scenes dynamically based on JSON received from server and can  use for some items at scenes the images, sounds, video etc dynamically provided by server.
     
  • Developed as personal project with Unity3d the slot machine prototype.
     
  • For "Alcatel-Lucent OmniTouch Contact Center Premium Edition" project finished the component "RSI synchro server".  Module was partially rewritten and became ready to exploitation. An excerpt from recommendation letter of director of Saint-Petersburg Alcatel-Lucent R&D centre:
      "...As a programmer Constantine was responsible for several different sub-systems: C++ application, triggers, T-SQL stored procedures and VBA modules. He proposed and implemented non-standard technical solutions and demonstrated ability to solve uncommon problems requiring thorough analysis. Thus, having tricky C++ code inherited from another employee, Constantine managed to eliminate real-time crashes, memory allocation and multithreading problems...."
     
  • As Motorola contractor company (Rhonda Software ltd) employee stabilized in this company the managerial process of propagation the fixes done for one model of cellular phone into compatible models