Pages

CV



Vasily Chekalkin

Status
Australian citizen
Phone
+61-4-21-771-526
EMail
bacek@bacek.com

Summary

Profile:

  • Over fifteen years of Software Development experience.
  • Strong hands-on skills in Software Design and Enterprise Architecture.
  • Strong hands-on experience in Service Oriented Architecture.
  • Experience in converting monolithic applications to reusable SOA components
  • Significant experience in Stakeholders Management
  • Knowledge of RDBMS internals, architecture and design.
  • Well versed in Object-Oriented Design and Development.
  • First hand knowledge of Patterns of Object Oriented
    Design.
  • Conversant in XML based technologies: XSLT, XPath,
    XMLSchema, XQuery
  • Conversant in CORBA based distributed network programming.
  • Lead multiple development teams.

Skillset:

  • General skills: Software Architecture, Service Oriented Architecture, Large-scale systems developement
  • Solution Design
  • Stakeholder management
  • Programming languages: C/C++ with STL and boost, SQL, Perl,
    PHP, JavaScript, C#, PL/SQL.
  • Libraries and products: boost,
    omniORB, libxml2/libxslt1, Apache HTTPD, Apache Xerces, etc.
  • Technologies: TCP/IP, CORBA, HTML, XML, XSLT, DOM, .NET, OOA,
    OOD, OOP.
  • RDBMS: InterBase, MySQL and Oracle 8i.
  • Development tools: CVS, make, shell, gcc, gdb, valgrind, gnu
    autotools, SCons, etc.
  • Experience in System Level programming with C/C++ within Unix
    (Linux) environment.
  • Platforms: Linux, FreeBSD, Windows.

Professional experience:

Signtel Optus

April 2008 — present time

Application Architect

Optus is an Australian leader in integrated telecommunications, delivering cutting-edge communications, information technology and entertainment services. In 2001 SingTel became the parent company of Optus, paving the way to become a strong and strategic telecommunications player within the Asia-Pacific region..

My main responsibilities in Optus are:

  • Architect large-scale projects with complex inter-connectivity between different backend systems
  • Work closely with business owners to provide Impact Assessments, clarify requirement, propose solutions for particular problems.
  • Enforce SDLC policies

  • Coach developers in "best practice" methods

  • Provide guides and how-to's for developers to follow SDLC.

Worked on the following projects:

  • Wap Migration.
    Project:
    Reverse engineering of existing monolithic portal and migrate it to Service Oriented Architecture with strong separation between Business Logic and Presentation Layer.
    Role:
    Enterprise Architect. Application Architect.
    Software used:
    Perl, Java, Postgresql, MySQL
  • NScreens.
    Project:
    Implementation of multi-purpose framework for building Web portals.
    Role:
    Software architect. Team leader. Senior software developer.
    Software used:
    Perl, Java, Postgresql, MySQL

Canon Information Systems Research Australia

April 2006 — April 2008

Senior software developer

CiSRA is committed to researching and developing digital imaging, software, hardware, and advanced system technologies.

My main responsibilities in CiSRA are:

  • Architect and develop software
  • Coach developers in C++ "best practice" methods
  • Provide guides and how-to's for development in linux environment.
  • Maintain cross-platform code.

Worked on the following projects:

  • Embedded XQuery processor. Implementation of W3C XQuery specification targeted for embedded linux platform.
    Project:
    Implementation of XML query language in resource-limited environment.
    Role:
    Software architect. Implement almost all code of XQuery processor.
    Software used:
    C++, flex, bison

  • Distributed retrieval. XML based distributed search system.
    Project:
    Implement system for gathering and merging search result from distributed search modules.
    Role:
    Developer and maintainer.
    Software used:
    C++

Internet portal Yandex.ru (comparable to Yahoo! for Russian
speaking market)

April 2005 — February 2006

Head of communication services development department

February 2000 — April 2005

Senior software developer

Software architect and lead developer at Yandex.ru, an internet
portal comparable to Yahoo! for the Russian speaking market.
Yandex.ru handles millions of requests per day and provides service
to over six millions of users.

During employment at Yandex my main responsibilities were:

  • Performed software design and development and led a team of
    fifteen developers.
  • Developed components used as the building blocks for the
    portal.
  • Coached developers on component writing; led software design
    and promoted usage of best practices.
  • Used the following Agile techniques: Test Driven Development,
    Unit Testing, Acceptance Testing, Iteration Planning and more.

Worked on the following projects:

  • Yandex.Lenta. RSS and Atom web
    aggregator (Similar to bloglines.com but with many powerful
    features).
    Project:
    Collect, store and aggregate in threads RSS and Atom feeds. Based on blogs.yandex.ru with aggregating subsystem added.
    Role:
    Software Architect and Team Leader. Developed database schemas and SQL queries.
    Software used:
    C++, Perl, Python, omniORB, XScript, boost, MySQL and many other public and internal tools.

  • Yandex.Blogs. Blog search engine
    Project:
    Collect, store and search thousands of RSS and Atom feeds. Focused on performance of storing very large amounts of small items with checks for duplicates.
    Role:
    Software Architect and Team Leader
    Software used:
    C++, Perl, Python, omniORB, XScript, boost, MySQL and many other public and internal tools.

  • Codename DPS. XML content management and publishing system.
    Project:
    Storage, editor and publisher of XML documents. Based on modern XML technologies including XML Schema, XPath, XInclude and XSLT. Main idea is having a single XML Schema which is used for creating web-based document editors validating external XML documents.
    Role:
    Software Architect and Team Leader.
    Software used:
    libxml2, libxslt, XScript, boost, omniORB, MySQL.

  • Next.Yandex.Ru. Custom Yandex
    front-page similar to My.Yandex, but supporting very high loads and
    providing simplified personalisation capabilities.
    Project:
    Based on ideas of My.Yandex, but storing all the user settings in a single cookie.
    Role:
    Software Architect and Team Leader. Created infrastructure for marshalling complex data to and from stringified cookie. Developed Apache module for users' customised page output.
    Software used:
    Perl, mod_perl, BerkeleyDB.

  • Codename LibRBAC. Implementation
    of Role Based Access Control as shared library and perl module.
    Project:
    Implementation library of RBAC level 3 as C++ library and Perl module. Use ad-hoc language for describing roles and transitions between it.
    Role:
    Software Architect and Team Leader. Implement "RBAC Handlers Language" in C++ and Perl.
    Software used:
    Perl, C++, YaPP, ragel, boost.

  • XScript. Distributed
    CORBA/XML web application framework.
    Project:
    Highly scalable web application development framework built on distributed and fault tolerant CORBA components. The framework supports quick and inexpensive construction of web applications by using components which produce XML. The framework allows for assembly of the XML into pages directly and using XSLT. The framework supports parallel CORBA invocation, various caching strategies, bridging HTTP request into CORBA objects, multi pass XSLT application, call timeout tuning. All Yandex projects that were developed in last 4 years and serve millions of requests per day are built on XScript.
    Role:
    Software architect and development team leader. Wrote main framework and developed various CORBA components. Created XML based language for describing CORBA component invocations. Took part in development of multithreaded HTTP server (code name BAIDA). Contributed patches for omniORB, libxml & libxslt (bugs #78662, #110577, #111420, etc.), Apache Xerces (#11771, etc).
    Software used:
    C++/C, omniORB, libxml2, libxslt, boost.

  • My.Yandex. Personal portal
    (comparable to My Yahoo!).
    Project:
    Highly scalable and usable personalisation and aggregation engine for massive web portal.
    Role:
    Team Leader. Designed and developed software, designed database scaling to millions of records. Developed various modules for aggregation of external data including RSS and financial indexes
    Software used:
    Perl, mod_perl, MySQL.

  • Yandex.Fotki. Joint project
    with Eastman Kodak for scanning user film and publishing them on
    the Web.
    Project:
    Web application for managing photos, converting them into various formats, e-mailing of greeting cards made from photos, and creating of styled photo albums.
    Role:
    Designed and developed software, designed database.
    Software used:
    PHP, Perl, ImageMagick, Oracle.

  • Yandex.Narod. Internet hosting
    for casuals. (comparable to Yahoo! GeoCities)
    Project:
    Template based system for creating and authoring end user web pages.
    Role:
    Designed and developed software.
    Software used:
    PHP, MSSQL.

Internet furniture catalog www.vse.ru

November 1999 — January 2000

Software developer

Project:
Interactive web catalog.
Role:
Developed new version of the web application driving the web catalog. Supported existing version of the application. Gathered requirements, redesigned database and developed server-side software.
Software used:
Apache, PHP, Perl and PostgreSQL.

Berenika Ltd. Kazan, Russia

September 1995 — November 1999

Software developer

I worked on the following projects:
  • Document workflow system for Kazan State University.
    Project:
    Storing and printing data for students diplomas of Kazan State University.
    Role:
    Gathered requirements, designed database and developed client-side software. Supported client software in various Kazan State University departments. Started development of intranet version based on multi-tier architecture.
    Software used:
    ERStudio DB modeler, Delphi 3/4, InterBase DB Server 5 for Windows-client. FreeBSD 3.2, InterBase 4, PHP 3, JavaScript 1.2 for intranet-client.

  • Virtual archeological museum of Kazan State University
    Project:
    Create a multi-tier software for archeological museum with fat and web clients for accessing data.
    Role:
    Gathered requirements and designed database. Designed, developed, administered and supported software.
    Software used:
    ERStudio DB modeler, Delphi, InterBase, PHP, JavaScript, FreeBSD.

  • System of automation of workflow for JS Tatneft SNERS
    Project:
    Create a system for storing data about oil mining
    Role:
    Gathered requirements, designed database and developed software.
    Software used:
    Linux, MySQL, PHP.

  • Ad-hoc plug-in for ADEM CAD/CAM.
    Project:
    CAD plug-in for automation led design of factory facilities for Kazan Aircraft Engine Building Factory. In form of plug-in for ADEM (CAD/CAM system from Omega Technologies).
    Role:
    Gathered requirements, designed and developed software.
    Software used:
    MS C for DOS.

  • Register for cash register
    Project:
    Registration and control of cash register for "Etalon" (cash register factory).
    Role:
    Gathered requirements, designed database and developed software.
    Software used:
    MS FoxPro 2.6/DOS.

Education

Masters in Computer Science, Kazan State University, Russia,
June 1999.

Other

Actively participating in development/GSoC mentoring of Parrot VM. Main areas are GC, JIT, bytecode optimizations, low-level optimizations, algorithmic optimizations.