SUMMARY OF QUALIFICATIONS
. Over ** years of experience with Java Technologies and APIs with
significant client/server applications and database development
experience with EJB, Hibernate, Struts, Spring, JBoss, WebLogic,
WebSphere and ORM frameworks.
. Over 4 years of experience with C#/C++ and . NET frameworks with
Microsoft Visual Studio and Visual Studio .Net.
. Over 6 years of hands-on GIS experience with ESRI/NAVTEQ software and
technologies (NAVTEQ Atlas, Bison Project, NAVSTREETS, ESRI MapObjects
Java, ESRI ArcIMS, ESRI ArcSDE, OpenGIS WMS/WFS, ArcGIS).
. 3 years working experience with Images, Raster and Vector data format
with JAI API, ESRI MOJ API and DDK-Pro.
. Expert in algorithms of data compression, GIS routing and geocoding.
. Experienced in full software development life cycle, problem definition,
project architecture, design and implementation.
. Expert understanding of UML modeling (i.e. Use Cases, Sequence Diagrams,
State and Active Diagrams). Tools used include: Control Center, JVision,
Microsoft Visio and Rational Rose.
. In-depth understanding of spatial data formats and the tools to perform
data transformations (SHP, SDC, Oracle Spatial, SDE).
. Excellent communication and organizational skills, ability to work
independently as well as part of an integrated team.
TECHNICAL SKILLS
Programming languages Java, C#, SQL, C/C++, XML/XSL, HTML, WSDL
Java Technologies WebServices, JAXP, JNI, JSP, Servlets, EJB, JDBC, JAI,
JavaMail, JSR-168 Portlet API, XDoclets, Hibernate,
Log4j, Spring, Struts/Struts2
GIS Technologies Transit Data, NAVTEQ data, NAVSTREET, ArcObjects,
OpenGIS WMS/WFS, SLD, GML, ArcSDE Java/C API, ArcIMS,
Routing, Geocoding, ESRI AXL, Rendering, Projections,
SDC Data Compressing
XML Tools/Technologies XSLT, Xalan, Saxon, Xerces, SVG Batik, Crimson, SAX,
DOM, JDOM
Web/App Servers Apache Tomcat, JBoss, IBM WebSphere, IIS, IPlanet, SUN
One Application Server, ServletExec, Geronimo, Resin,
Oracle OC4J 10g
IDE/Build Tools Eclipse, Visual Studio .NET, JBuilder
Developer/Enterprise, JDK 1.x, Ant tool, JSDK, Visual
C++ 6, C++Builder, WSAD, VSS, CVS, Subversion
CASE/UML JVision, Together ControlCenter, MS Visio, Rational
Rose
RDBMS Oracle, IBM DB2, Postgres, MS-SQL Server, MySQL,
Interbase
GIS Software/Tools Nokia OVI Transit Data, NAVTEQ Bison/Atlas, ArcIMS,
ArcWeb Services, ArcGIS Server, ArcGIS, ESRI
MapObjects Java, ESRI Route Server, ArcSDE, ArcGIS,
BusinessMap, ESRI DDK-Pro, RouteMapIMS, AutoCAD
Graphic Tools Lightroom, Bryce 4, Painter 5, Corel Draw 8 / Xara 2,
Flash, Visio
Operating Systems Windows XP/2000/7, Solaris, RedHat, Linux
(Mandriva/Ubuntu/Debian)
PROFESSIONAL EXPERIENCE
01 / 2007 - present NAVTEQ/Nokia Chicago, IL
Development - Lead Engineer
Project: Discover Cities OVI Transit Data (DiCi)/Bison/Atlas Project
Bison is digital map database for navigation/traffic systems and location-
based solutions. Atlas is Java APIs and Java -based Application for
visualization Bison database. NAVTEQ is a leading global provider of
digital map data. Additionally, the NAVTEQ database includes Points of
Interest (POI) in approximately 50 categories in North America and
approximately 40 in Europe including restaurants, gas stations, hotels and
banks, making it easier to locate and route to different destinations.
. DiCi Transit Data Project. Nokia OVI Maps (maps.ovi.com) provides
Transit Navigation Map for all major cities around the world. Designed,
Implemented major Discover Cities Transit Editor Tool for
adding/editing Transit Data. Based on functional specifications
developed acceptance criteria and development plan of the project for
agile team. Reviewed source code, technical and user's guide
documentations.
. Toll Info Project. Improved Bison subsystem capability which enables
NAVTEQ customers to better model real-world implementations of road
features that require payment of a toll or any usage fee including
credit card, fixed fee, cash payment methods. These systems are enable
end-users to be better prepared for traversal of road features that
require payment for use.
. Phonetic Data Extract Project. The purpose of the Phonetic Data Extract
project is to optionally incorporate phonetic data within a NAVTEQ
extract process. Project defines a new process for merging phonetic data
into a NAVTEQ data files. Designed Java Core API for Map Infrastructure
to extract phonetic data from third-party database to NAVTEQ database.
. Signs-as-Real Project. The purpose of project is enable an attribute
based reconstruction of traffic signs as real as possible. Sign-as-Real
is an enhancement to the NAVTEQ sign text which is already stored in the
NAVTEQ database. For example information like format of the sign, format
of text, arrows, pictograms, and sign layout should be covered.
. Highway-exit POIs Project. Designed Java interfaces Highway-exit POIs, a
new type of POI placed along controlled-access roads at exit points that
associate a set of services (gas stations, restaurants, hotels, etc.)
that are within a given travel distance from the exit.
. Discover Cities Project. Implemented Metadata/Infrastructure supporting
for Bison database as developing Java Core API for Map Context in Atlas
Application and updating Oracle database schema.
. Worked Agile software development process with all iteration on all
. Designed Detailed Design Documents based on Feature Requirement
Documents (FRD) and High Level Design Documents (HLD).
. Communicated with Quality Assurance team to ensure testability and
maintainability of selected designs and technologies.
. Reviewed Java/C# source codes on quality and Java/C# standards.
. Developed General Bulk Loader Framework to automatically add external
data sources to NAVTEQ database.
Environment: MS Visual Studio .Net, Eclipse 3.2/Europa/3.4, JDK 1.5,
.NET 2.x /3.5, JIRA, JUnit, Ant, JDBC, IBM Rational ClearCase, IBM Rational
ClearQuest, UNIX/WinXP, SQL, PL/SQL, JDBC, Oracle SQL Developer, Toad,
Oracle SQLPlus Client, Oracle9i/10, VPN.
Project: Quality Center Upgrade
Client: BMW North American
Participated in the transition to a new website design, which will have the
ability to store customers' preferences and deliver content based on
previous purchases and will rely on IP addresses to suggest events most
suitable to the customer based on location.
. Manage an organization-wide deployment of Test Director and Quality
Center
. Migration from Test Director 8 with Oracle 9i to Quality Center 9.0 with
Linux
. Customize user defined fields in Quality Center utilized build-in Work
Flow utility in Quality Center
Environment: Mercury Quality Center (TestDirector), Bea WebLogic, SQL,
JDBC, Oracle SQLPlus Client, Oracle9i, RedHat.
01/2005 - 10/2006 IBM - Advanced Technologies Group/Axmor Software
Java Developer/Sr. Java Software Developer
Project: Struts 2 Integration Solutions for IBM Advanced Technologies
The project goal is to design and develop Enterprise Web Applications using
new Advanced Java/Web Technologies and integrate it with IBM products: the
main goal of the Struts 2 Project is to investigate Struts Action Framework
version 2 and to compare it with Struts Framework version 1. An additional
goal of the project is to gain experience in using Eclipse Web Tools
Platform for development of Java web applications.
. Designed business logic and persistence models for Struts 2 Training
Project
. Designed Action Item Management Web application that manages tasks
called action items;
Environment: Eclipse 3.2, Eclipse WTP, Struts2, EJB, JSP, JSTL, IBM DB2,
IBM WebSphere, Ant, XDoclets.
Project: Spring Integration Solutions for IBM Advanced Technologies
06/2006 - 8/2006
. Investigated Spring implementation of the Model-View-Controller (MVC)
mechanism for web applications
. Re-factored existed database and applying XDoclets tools for Hibernate
mapping to the project
. Designed data objects thought Spring and Hibernate object-relational
mapping (ORM) for Spring Data Access Object (DAO)
. Created Technical Proposal and Architecture Overview with UML Diagrams
for Spring Framework Project
. Designed Middle tier using Hibernate templates of Spring DAO/ORM
Framework
Environment: Eclipse 3.2, Hibernate, Eclipse WTP, JBoss 4, Spring Framework
1.2.8, JSP, Apache MyFaces 1.1.3, Oracle, Oracle ADF JSF components, Ant,
XDoclets.
Project: Ruby on Rails Integration Solutions for IBM Advanced Technologies
As the result of the training web application are solution based on:
. Investigation of Ruby On Rails's implementation of the Model-View-
Controller (MVC) mechanism for web applications based on Rails
Framework.
. Creation, selection and updating of data objects thought IBM DB2 Adapter
for Ruby and Rails.
Environment: Eclipse 3.2, Eclipse WTP, Apache Web Server, IBM HTML Server,
Ruby, Rails, RadRails IDE, Ant.
Project: GWT for IBM Advanced Technologies
Google Web Toolkit (GWT) is a Java software development framework that
makes writing AJAX applications like Google Maps and GMail easy for
developers. GWT helps developers write front end in the Java programming
language, and the GWT compiler converts Java classes to browser-compliant
JavaScript and HTML.
. Developed GUI components using GWT framework for User Management
functionality;
Environment: Eclipse 3.2, Eclipse WTP, Google GWT, AJAX, Apache Tomcat
Server, Ant.
Project: Alpha SW e-bidding System
The Alpha SW is an e-bidding system provided scalable web-based, services
and commodities trading system, designed to scale for to a large number of
participants to sell goods at a set price and to avoid expenses for sales-
mediators. The E-bidding system provides the following functional
features: User profile management (visitor, participant, observer,
secretary, and administrator), conduct of a closed or open action in the
form of usual tender, return tender or auction. Other features included
mailing of personalized electronic letters with announcements, remaining,
conducting or closing of electronic bidding and a multi language version of
the system. The application was based on the Struts and Apache Common-
Controls framework and uses Hibernate Framework as the ORM tool.
. Designed and Created Hibernate-compatible Plain Old Java Objects (POJOs)
and component models for UI development, and extended its functionality
to the business layer
. Developed messaging system for Alpha SW application which consisted of a
Message Center and the e-mail sender. The Message Center was a part of
the application which was accessed through the main menu and worked
similarly to mailboxes
. Implemented Middle tier using Session Beans and Hibernate.
. Created Hibernate XML mapping of the Message Center between POJO Java
classes and RDBMS tables, properties and columns, associations, foreign
keys and Java types
. Developed JBoss automatic reminder and recovery agent. This component
contained two scheduling services implemented with the help of the JBoss
scheduler architecture. These services accessed the backend database
using Hibernate HQL queries and provided functionality for performing
reminder and recovery procedures
. Wrote database queries for the Hibernate framework as named queries
. Developed "User Management" component of the Alpha SW solution. This
component was implemented as a based on Hibernate "Table Per Class
hierarchy" mapping scenario and provides the following functionality:
. Create, update and disable organizations and its members
. Create, update and disable committees and voting groups
. Administer member management from committees and voting groups
. Install and Configure Hibernate standalone and Eclipse Plug-ins
. Generated Hibernate mapping files using XDoclets and ANT tools
. Integrated Hibernate framework with JNDI DataSource connection in JBoss
Environment: Hibernate, Eclipse, JBoss, Struts, EJB, Apache, Tomcat,
Postgres, JSP, JSTL, HTML, JavaMail API, SMTP, SendMail server, JavaScript,
Ant
Project: IBM Solution for Eclipse Platform and IBM WebSphere
The goal of the project was to create a customizable W3C extended format
(http://www.w3.org/TR/WD-logfile.html) compliant adapter. The developed
adapter was configured and installed to provide a W3C compliant log file to
be imported in two ways:
o Importing existing log files for analysis inside LTA from the
local log file
o Importing existing log files for analysis inside LTA from the
remote log file via RAC
. Designed and developed business logics for systems that allowed users to
log files from IBM WebSphere and other servers that supported the W3C
Extended Log Format to be added to the Eclipse Platform
. Developed the W3C Extended Log Extension Plug-in for the Eclipse
Platform
. Designed and developed business logics for the ITRisk Application
. Monitored live logs with the help of LTA attached to RAC
. Ported portlets source code from IBM WebSphere Portal 5.0 to source
code for JSR-168 API in WPS5.1
. Updated UI components from HTML to Java Server Faces components for JSR-
168 portlets in WPS5.1
. Created and used XML Access scripts for porting JSR-168 portlets from
WPS 5.0.x to WPS 5.1
. Implemented cooperative portlets of RSSNA administrative subsystem
. Created WSDL files for cooperative portlets in WPS 5.1
. Configured Search portlets for IBM WebSphere Portal
Environment: Eclipse, IBM WebSphere JSR-168 Portlets API, IBM WebSphere
Portal (WPS), IBM WebSphere Application Developer (WSAD), JBuilder2005,
JAXP, EJB, XML, JSP/Servlets, IBM WebSphere Content Management, Tomcat,
WSDL, HTML, JavaScript.
02/2001 - 01/2005 Environmental Systems Research Institute (ESRI)
Redlands, California
Lead GIS/Java Developer
Project: Data Manager Service for ArcWeb Services
ArcWeb Services offers a way to include GIS content and capabilities in
various applications as a Web Services Standard. http://arcweb.esri.com
ArcWeb Services provides access to more than 100 different sources of
spatial content from streets to geographical imagery to demographics to
live traffic and geocoding.
. Designed and developed the business logic for a system that allowed new
SDE layers to be added anytime through a web service
. Developed JavaBeans which stored the results of the Transaction Server
Response (Insert, delete, update features)
. Developed Logger Servers and Logger Clients for collecting information
about transaction-based pricing for ArcWeb customers
. Was responsible for quality assurance and overall project support
. Performed tuning for the ArcSDE and Transaction Servers for Data Manager
Service
. Designed and developed flexible utilities for loading and transforming
spatial data
. Used JAI API for implementing Spatial Content Reader and Renderer for
Data Manager Service
. Completely automated and structured the spatial data conversion from
Database/SHP format to compressed SDC spatial format
. Performed code re-factoring which resulted in improvements in both code
quality and performance
. Configured ArcSDE to use spatial data and set up interoperability
between the following technologies: ArcIMS, ArcSDE and ArcIMS Extensions
. Created and maintained multiple documents: software design documents,
ArcIMS Extension architecture design, work instructions and requirements
specification
. Communicated with internal and external developers, testers and DBAs
from ESRI.
Environment: ArcWeb Services, JMS, Java 2, JBuilderX, ArcIMS, ArcSDE, C++,
Visual C++ 6, JAXP, JavaBeans, XML/ArcXML, JSP/Servlets, JAI, MOJ2, SUN One
Server 7, SOAP, WSDL, HTML, JavaScript, Log4j, Ant, Tomcat, ServletExec.
Project: WMS Connector and WFS/WMS AdminTool for ESRI ArcIMS
The WMS and WFS Connectors are Java Web applications which provide an Open
GIS Consortium (OGC)-standard Web Map Service (WMS) or Web Feature Service
(WFS) interfaced into data served by ArcIMS Map Services.
http://interops.esri.com
. Implemented an open GIS Consortium-standard WMS for versions 1.0.0,
1.1.0, 1.1.1 and Styled Layer Descriptors (SLD) for version 1.0.0
. Developed a XML-parser and XSLT-processor independent system for
processing AXL/SLD/GML transformations using JAXP API
. Used JBuilderX/Apache Ant for compiling, deploying and remote-debugging
of web-based applications and servlets
. Administrated and tuned ArcIMS
. Analyzed various implementations of the WFS/WMS servers
. Designed and developed GUIs for WMS/WFS AdminTool using JSP and
JavaScript
. Designed XSL templates for WMS versions (1.0.0, 1.1.1, 1.2.0)
. Created UML models and a developer guide for WMS Connector for AIMS
. Tested and fixed defects using MS Clear Quest and MS Visual Source Safe
Environment: Java 2, JBuilderX/9, ArcIMS, MOJ2, OGC WMS/WFS/SLD
Specifications, Web Applications, JSP/Servlets, Ant, Apache, Tomcat,
ServletExec, IPanet, MS IIS, JAXP, SAX2, EJB, JDOM, SAXON, Xalan, Xerces,
XML/XSL/AXL, JVision, UML, MS Visio, Together
Project: TransactionServer for ESRI ArcIMS
TransactionServer is the extension for ESRI ArcIMS 4.01. ArcIMS Transaction
Server allows users to execute editing operations with data stored in a
relational database management system (RDBMS) through ArcSDE application
programming interface (API). With ArcIMS Transaction Servers, multiple
users can access geographic data in a Geodatabase through versioning. This
TransactionServer has to be used in a ESRI ArcWeb Service.
. Used C++ ArcSDE API for creating the main transaction/rollback modules
for the server
. Implemented standard AXL parsers for ArcIMS extensions
. Fully Implemented the support of Versioning Model ESRI Geodatabase in
the transaction server
. Ported the transaction server from Windows to Solaris
. Designed and developed XML/AXL models for requests and responses for
this server (insert, update, delete, etc.)
. Designed and Implemented security modules for the TransactionServer
. Developed the Error-Message module. Wrote JSP/HTML Client for testing
the TransactionServer
. Used Oracle8i/9i and MS SQL Server for tuning the TransactionServer with
ArcSDE with different kinds of RBDMS
. Designed UML models and wrote the documentations for users
Environment: C++, MS Visual Studio 6, ArcSDE C++ API, ArcIMS 4.x,
Java/Servlet Connectors API for ArcIMS, XML/AXL, Xerces, UML, ArcSDE 8.x,
SQL, Oracle9/8, MS SQL Server 2000,
Project: CAD/DWGReader for ESRI Map Objects 2 Java (MOJ2)
10/2002 - 03/2003
http://www.esri.com/software/mojava/overview_features.html. This feature is
a part of the new collection of components in MOJ2. Map Object Java 2
(MOJ2) is a rich collection of client and server components for Java
developers. MapObjects Java Edition can be used to build custom
applications that incorporate GIS and mapping capabilities and to extend
the capabilities of existing applications.
. Developed JNI wrapper for C library
. Designed and Implemented interfaces for integrating CAD/DWGReader into
MOJ2 API
. Developed DWG Encoder component for MOJ2 from DWG to JPEG format using
JAI API
. Developed a GUI interface for cataloging the multi-shaped CAD formats
using Swing and Java2D APIs.
Environment: Java 2, JBuilder8, MOJ2 Java API, Swing, Java2D, XML/AXL, JNI,
UML JVision, JAI, C++, MS Visual Studio 6, ESRI ArcObjects, AutoCAD
Project: SDC Compression module for Data Development Kit (ESRI DDK-Pro)
DDK-Pro is a Data Preparation Tool for compressing data of shape files
(SHP) and ArcSDE data in the Smart Data Compressed format (SDC file). This
toolkit is used for preparing data for various ESRI software products
(BusinessAnalyst for ArcGIS, BusinessMap, and Route Server for ArcIMS)
http://www.dataeast.ru/Eng/Software/
. Developed a compression module for DDK-Pro
. Maintained an Oracle Database and performed Tuning for the ArcSDE Server
. Used ArcSDE API in a system of stored compressed data
. Worked with various data types from different Data Providers (GDT,
TeleAtlas, NavTech, DMTI)
. Implemented several composite algorithms of compression (Haffman
algorithm, RLE algorithm)
Environment: C++, MS Visual Studio 6, COM, AcrSDE, ArcSDE C++ API, SQL,
XML, Oracle8/9, MS-SQL Server 2000
Project: Annotation module for ESRI Map Objects Java (MOJ)
ESRI Map Objects Java is a collection of client and server components for
GIS Java developers.
. Designed and Developed Annotation FeatureClass of MOJ for the ArcSDE
Annotation Layer
. Used ArcGIS 8.x for editing Geodatabase in ArcSDE for Oracle
. Designed and Developed Annotation Layers Converter component to JPEG
layers using JAI API
. Developed a GUI interface of the Catalog Viewer application with Swing
and Java2D
. Wrote the Serialization module for Annotation of Feature Classes in
ArcXML
Environment: Java 2, JBuilder 6, ArcSDE Java API, JAI, Swing, Java2D, ESRI
ArcObjects
Project: SWG/Image MAP Server
SWG/Image Map server is Java Web Application for providing SWG/GIF format
from the Shape files (SHP).
. Developed a client-server GIS Web-Application using Servlets API
. Developed a JPG converter for Image Map Server from SHP/ TIFF format to
JPG format using JAI API
. Used Apache Batik/SWG Java API for transforming buffered image content
into SWG content.
. Designed and developed a GUI interface using JSP
Environment: Java 2, JBuilder 6, Apache Batik (SWG Java API), JAI, Tomcat,
JSP/Servlets
06/2000 - 01/2001 Beta Trade Group Novosibirsk, Russia
Programmer
Project: Beta Trade Server
. Developed the design for point-of-sale terminals for the corporative
trade system
. Wrote stored procedures and triggers
. Designed and developed databases in MS-SQL Server for stored information
to use with point-of-sale terminals
Environment: C++, C++Builder 5, TS-SQL, MS-SQL Server 7, ODBC, ADO
01/1999 - 06/2000 Institute of Informatics Systems Novosibirsk,
Russia
Programmer
Project: System of Automatic Document Transformation for Web Publications
This system is automatic system for publishing electronic versions of the
recent publications of the IIS staff members presented as HTML-documents
and in PDF and PostScript formats.
http://www.iis.nsk.su/Preprints/indexeng.html
. Developed the system of automatic transformations from TeX and LaTex
documents to HTML/RTF/DOC formats
. Used Latex2HTML tools. (Perl scripts and C++ utilities)
. Designed and developed a GUI application for the administration module
of the transformation. Used C++Builder 4
Environment: C++, HTML, Perl, JavaScript, LaTeX, MS IIS, Apache,
C++Builder 4
EDUCATION
B.S. in Applied Mathematics, Specialization: "Computer Science:
Programming" 1993 - 1998
Novosibirsk State University, Institute of Informatics Systems,
Novosibirsk, Russia
M.S. in Philosophy, Specialization: "Logic and Methodology of Science"
1998 - 2000
Novosibirsk State University, Novosibirsk, Russia
Ph. D. minimum in Applied Mathematics, Specialization: "Computer Science:
Programming" 2000 - 2003
Institute of Informatics Systems of SB RAS, Novosibirsk, Russia
CERTIFICATES
. Sun Certified programmer for the Java 2 platform 1.4 (March 24, 2006)
. ESRI authorized instructor to teach ArcIMS version 3.x (July 22, 2002)
. Java certified Non-GUI programmer by Brainbench (February 28, 2001)