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