Resume

PERSONAL DATA

  Name:              Nikolay N. Igotti
  Date of Birth:     17 Dec 1976
  Place of Birth:    St. Petersburg, Russia
  Citizen of:        Russia
  Contact phone:     +7(812)992-7232
  E-mail address:    igotti@gmail.com
  Family status:     married
  Children:          none
  Native language:   Russian
  Foreign languages: Fluent English, basic French

SUMMARY
 
 Skilled software engineer and technical leader 
with interests in virtualization,
advanced storage technologies, dynamic code generation, 
OS internals, CPU internals, 
virtual machine technologies and embedded programming. 
 Very enthusiastic about new technologies and new ideas, 
able to motivate others and achieve nontrivial goals.

PROFESSIONAL EXPERIENCE

Aug 2008 - Now
           Sun Microsystems, software engineer at VirtualBox   
           (http://www.virtualbox.org) core development team. 
           Implementation of Python and Java language bindings,
           general bugfixing, hypervisor development.

Sep 2007 - Aug 2008
           EMC corporation, technical lead of Viper data deduplication 
           platform team at EMC's St. Petersburg Center of Excellence.
           Full development process from R&D phase to deployment in real
           storage solution (Celerra).

Mar 2005 - Sep 2007
            Sun Microsystems, technical lead of Hotspot JVM development team 
            (runtime) at St. Petersburg office of Sun Microsystems.

Jul 2001 - Mar 2005
            Sun Microsystems, engineer and technical lead of embedded JVM development
            (project Monty, aka CLDC HI), from Jan 2004 to Jun 2004 as a 
            remote contractor with St. Petersburg branch of Elbrus MCST.

Jun 2001  - Jul 2001
             Sun Microsystems, software developer and designer.
             Design, development, support low level JVM integration API.

Jul 1998 - May 2001
             SPbSU RIMM, Individual contract with Elbrus Inc. contract work 
             for Sun Microsystems Inc, St. Petersburg, Russia.
             Bugfixing and development of HotJava Views and HotJava browser.
	     Designed, implemented cross-platform JVM integration API.  
             Fixing bugs in Mozilla browser.

Sep 1995 - Jun 1998
             St.Petersburg university - system and network
             administrator.
             DataArt private company - Unix web applications developer.
             Developed tool for fractal visualization and
             investigation, results were used in paper published in 
             peer-reviewed journal (Regular & Chaotic Dynamics).

Total professional experience: 10 years

ACHIEVEMENTS
      - Implemented Python language bindings to VirtualBox virtualization
        platform

      - Design and implementation of generic deduplication platform
        to be used across EMC storage products (including deduplication index)
  
      - Building and ramp up of deduplication technology development team 
        in EMC's SPB Center of Excellence

      - Coauthored design and implementation of Java DTrace support in JDK7

      - Successfully built and led two highly skilled software 
        engineers teams at Sun Center for High Technologies in St. Petersburg:
        CLDC HI JVM development, Hotspot JVM development 

      - Hotspot JVM bugfixing and development during release of JDK 1.6/1.7 
        at Sun (implemented compressed object pointers on 64-bit 
        platforms, VM porting to linux-sparc). Implementation of compressed
        object pointers allowed Sun JVM to achieve world performance records
        on certain applications

      - Implemented several key features for Sun's CLDC HI JVM 
        (ARM software floating point support, C interpreter loop for the VM,
        optimized ASM routines, build system, Java bytecode profiler 
        support in the VM)

      - Driven several successful ports of Sun's embedded JVM onto 
        customers devices (cellphones)

      - Designed and implemented generic low level JVM integration API
        ("Project Waterfall") successfully used in Mozilla web browser 
	
      - Built prototype of pJava working with Mozilla running on set top box
        for Sun Professional Services

      - Fixed several show-stopper bugs for Netscape 6 FCS release on Solaris

      - Successfully working in following Sun's Java projects:
          HotJava Views - bugfixing 
	  HotJava Browser - QA, bugfixing
	  Java Plugin for Netscape 6 - porting, redesign


     - Network administration experience (Unix, Windows) for more then 
       10 years 

     - Coauthored 2 mathematical papers
           "Existence of complex homoclinic points"
           N. N. Igotti, V. F. Lazutkin
           Regular & Chaotic Dynamics, Volume 5(2000), Number 4, Pages 383-400.
           see http://igotti.org/homoclin.pdf

           (in Russian)
           "Asymptotic of discrete spectrum generated by confluent Hoin
           equation with close singularities"
           S. Yu. Slavyanov, N.N. Igotti
           Modern mathematics and applications, Volume 38(2006)
           see http://igotti.org/hoin.pdf     

     - Idea and implementation of "Faces of Buildings" project,
       see http://vitateka.com for details
 
     - Idea, architecture, implementation and logistics of Java
       programming contest Electric Jungle, 
       see http://www.electricjungle.ru for details



EMPLOYMENT HISTORY

Aug 2008 - Now       Sun Microsystems Inc., Russia, Staff Engineer

Sep 2007 - Aug 2008  EMC Corporation, Russia, Principal Engineer

Jun 2004 - Sep 2007  Sun Microsystems Inc., Russia, Staff Engineer

Jan 2004 - Jun 2004  St. Petersburg branch of Elbrus MCST, Software Developer

Jun 2001 - Nov 2003  Sunnyvale, CA, Sun Microsystems Inc., Software Developer

Jul 1998- Jun 2001   Individual contract with Elbrus Inc, contract work 
                     for Sun Microsystems Inc, St. Petersburg, Russia

before July 1998     Researcher, freelance software developer, 
                     voluntary system administrator at 
                     St. Petersburg State University, Russia 

PROGRAMMING LANGUAGES
      - C   (expert)
      - C++ (expert) 
      - assemblers (x86, AMD64, ARM, Sparc) (advanced)
      - Java (expert)
      - Javascript (advanced)
      - Bourne shell (advanced)
      - Perl (advanced)
      - Python (advanced)
      - XSLT (advanced)
      - HTML (advanced)
      - cursory knowledge of Lisp, Prolog, Erlang, Objective C

COMPONENT TECHNOLOGIES
      - COM
      - Java Beans
      - XPCOM

VERSION CONTROL SYSTEMS
      - CVS
      - SCCS
      - Subversion

OPERATING SYSTEMS
      - MS-DOS
      - MS Windows (3.xx, NT, 95, 98, 2000, XP)
      - OS/2
      - UNIX (FreeBSD, HP/UX, Solaris),
      - Linux (Redhat, Suse, Debian, Ubuntu)
      - Embedded OSes (RexOS, Nucleus, embedded Linux, WinCE)
      - VMWare ESX Server

HARDWARE
      - 80x86, EMT64
      - ARM, XScale
      - Sparc (including v9 and v9v)
      - IA64

NATURAL LANGUAGES
     - Native Russian
     - Fluent English
     - Basic French

EDUCATION
  1991 - 1993          School #239

  1994 - 1998          BS in theoretical physics in St.Petersburg State 
                       University, Department of Physics. Diploma with honor.

  2003 - 2004          Stanford University, CA
                  - CS107 - Programming Paradigms, grade B
                  - CS140 - Operating Systems and System Programming, grade B+
                  - CS143 - Compilers, grade A-

  2005               MS in computational physics in St.Petersburg State 
                     University, Department of Physics.

TRAININGS

  2006 - AMD Processors Software (www.mindshare.com)
  2007 - Solaris Kernel Internals (Max Bruning)
  2007 - EMC storage trainings

SPECIAL SKILLS
  - technical leadership skills in advanced technology areas
  - understanding of modern storage technologies
  - self-motivated and goal-oriented
  - experience of design and development of enterprise grade system software 
  - strong interest for code optimizations and assembler programming
  - deep VM technologies understanding (including JIT and GC)
  - significant OS internals and hardware architecture knowledge
  - strong abilities in debugging of complex problems
  - deep mathematical and theoretical physics education
  - cross platform C/C++ development experience
  - experience with gmake, nmake, dmake utilities
  - free software development experience
  - excellent self-learning skills, willing and able to help others
  - deep understand of system programming (synchronization, interrupts,
    scheduling, OS-userland interface, memory management etc.)

SIDE PROJECTS:
   - project "Faces of Buildings", see http://vitateka.com for details 
   - programming contest Electric Jungle, http://www.electricjungle.ru
   - Matjito: fast math expression evaluator, http://sourceforge.net/projects/matjito/
   - Bluetooth remote control for XMMS: http://lyola.com/bte/
   - Network speaker system (partially functional): http://www.lyola.com/netspeak/
   - some contributions to Valgrind memory debugger (http://valgrind.org/), 
     AMule (P2P client), Bibletime (Bible reading software)
 
BLOG:
   http://blogs.sun.com/nike/
   http://igotti.org

WEBSITE:
   http://igotti.org

OTHER INTERESTS:
   - Nanotechnologies and advanced computational paradigms
   - Martial arts
   - Fitness
   - Philosophy, anthropology