Professional Activity

Period: February 2012 - Present

Company: SCAND LLC – Minsk, Belarus

  • Job Position: Head of PLM solutions development department

Hire people, coordination between teams, review functional and technical specifications.

Achievements: Doubled size of the department.

2013.

Teams: 4 teams.
People: 28 people.
  • Description is not available yet.

2012.

Teams: 4 teams.
People: 19 people.
  • Doubled size of the department.
  • Split department to four teams and delegated leadership in each to a prepeared lead.
  • 2 weeks business trip to USA.
  • Switch main product developement to git.
  • Introduce redular monitoring of code metrics (code coverage, fxcop rules).
  • Organize testing on virtual machines.
  • Organize experimental upgrades of existing customers using git.


Period: January 2010 – January 2012

Company: SCAND LLC – Minsk, Belarus

  • Project: System for Product Life cycle Management
  • Job Position: Project Manager

Make estimations, write specifications, assign tasks and control their execution. Help developers with issues assigned to them, communication with customers. Interview candidates to developer positions.

Achievements: grew up couple of good development leaders and delegate them some regular technical tasks, moved project from CVS to distributed VCS. Introduce regular internal interviews with team members in order to manage the team better.

2011.

Merge development branches, review functional and technical specifications. Interview candidates to developer positions. Everyday meetings conversations with customers. Work on product compatibility with IE9. Implement some features that require deep knowledge of the product.

Team: 9 developers, 4 QA persons

  • Created a git mirror of CVS developement repository, used that for merging branches
  • Migrated another SVN development repository to git.
  • Found and reported to MS a bug with IWebBrowser.Navigate method in IE9. (COM, PInvoke)
  • Patched console application with a help of OllyDbg (asm)
  • Introduce regular internal interviews with team members in order to manage the team better
  • One month business trip to USA
  • Use horisontal partitioning in SQL Server 2005 DB for a large table in order to speed up regular queries (just that increased the performance more than 10 times)

2010.

Merge development branches, review functional and technical specifications. Interview candidates to developer positions. Everyday conversations with customers.

Team: 6 developers, 2 QA persons

  • Designed and implemented a mechanism to protect some columns in DB tables on DB level (VB.Net, SQL)
  • There was a need for a list of fixes in CVSNT since version 2.0.20 - created the list
  • Automated installation of the application on specified remote machines and run automated UI tests against the installations (bat files, CruiseControl.Net, nant)
  • Proposed a way how to support customizable authentication that (authentication) can be re-used in different part of the application
  • Proposed to use and write a specification how to implement brokered authentication in the application
  • Experimented with MacOS, VMWare and CrossOver
  • Proposed and implemented a mechanism how to pass extendable event specific data into server-side event handler (VB.Net)


Period: January 2006 – December 2009

Company: SCAND LLC – Minsk, Belarus

  • Project: System for Product Life cycle Management
  • Job Position: Team Lead/Project Manager
  • Team: 5 developers, 2 QA persons - 8 developers, 2 QA persons
  • Languages: JavaScript, C#, VB.Net, T-SQL, XML, XSLT
  • Categories of apps: Web Services, ADO.Net, WinForms

Make estimations, write specifications, assign tasks and control their execution. Help developers with issues assigned to them, communication with customers. Interview candidates to developer positions.

Achievements: introduced continuous integration, fxcop and ncover usage. Introduced SCRUM.

2009.

Team: 3 developers, 2 QA persons


    Period: October 2005 – January 2006

    Company: SCAND LLC – Minsk, Belarus

    • Project: System for Product Life cycle Management
    • Job Position: Team Lead
    • Team: 5 developers
    • Languages: JavaScript, C#, VB.Net, T-SQL, XML, XSLT
    • Categories of apps: WinForms, ADO.Net
    • Tools: VS 2005, QuickTest Pro, Rational Functional Tester.

    Mostly implemented features related to client-side of our application. Gave tasks to subordinate developers and control their execution.

    Achievements: designed and implemented a set of C# classes to automate UI testing via QuickTest Professional 8.2.
    Application Smoke test was completely automated. All tests were written in C#.


    Period: August 2002 – October 2005

    Company: SCAND LLC – Minsk, Belarus

    • Project: System for Product Life cycle Management
    • Job Position: Software Developer
    • Languages: JavaScript, ASP (VBScript), VB.Net, C#, T-SQL, XML, XSLT, XPATH

    2005.

    Working hard. Two business trips to US. Got reach experience in detecting and locating memory leaks in JavaScript. Became a team lead.
    Areas of product: Client side, server side. JavaScript, HTML, XML, С#, VB.Net, SQL, ADO.

    Tools: Homesite, CVS, WinCVS, VS 2003, SQL Server 2000

    • Implemented Toolbar control in JavaScript to be used instead of Java applet
    • Implemented complex configurable grid in JavaScript
    • 3 weeks business trip to USA (May)
    • Participated in a different project related to indexing and search in articles by key words. (Delphi, CVS)
    • 2 weeks business trip to USA (Nov)
    • Converted most of used Java applets to Windows Forms controls (C#)
    • Became official leader of a group developing client side of the application.

    2004.

    Became one of leading developers. Started participate in requirements analysis. Started learn and use .Net.

    Areas of product: Client side, server side. JavaScript, HTML, XML, VBScript, VB.Net, SQL, ADO.

    Tools: Homesite, MS Script Debugger, CVS, WinCVS, VS 2003, SQL Server 2000, Oracle 9.2

    • Split application into cleaner client and server parts. Only server part had access to DB. Client and server parts comminucated via SOAP over HTTP.
    • Upgrade legacy DB data (SQL Server and Oracle DBs) to be compatible with new being developed server core
    • After that together with a manager from US side worked on DB Update Tool specification (a utility to upgrade DB to newer version)
    • 2 weeks business trip to USA
    • Actively participated in migrating server side code to .Net
    • Started write integration tests using NUnit
    • Integrated code editor with syntax highlight into the application
    • A lot of fixed issues

    2003.

    Achieved good understanding of the developed system, got one subordinate developer.
    Made technical design, implement and test various new features both on server side and on client side.

    Areas of product: Client side, server side. JavaScript, HTML, XML, VBScript, SQL, ADO.

    Tools: Homesite, MS Script Debugger, MS VSS (with a wrapper for HTTP protocol), SQL Server 7, SQL Server 2000, Oracle 9.2

    • Implemented sending emails by some server-side events (VBScript)
    • Introduced support of UI preferences (visible columns of tables, columns widths, some others) stored on client computer (JavaScript)
    • Implemented support of multiple databases attached to the system (VBScript)
    • By the middle of the year got one subordinate developer. Introduced him to system, gave him tasks, checked his code
    • Found a bug in IE "window.screenTop return wrong values inside nested FRAMESET" and found a workaround for that
      (http://www.webmasterkb.com/Uwe/Forum.aspx/ie-dhtml/39/window-screenTop-return-wrong-values-inside-nested-FRAMESET-s)
    • Introduced support of pseudo Identity "Creator" (VBScript, SQL)
    • Implemented "advanced search" mode where user was able to specify complex search criteria (JavaScript, HTML)
    • Introduced support of Oracle DB from scratch (support Oracle 9i, and later switch to 9.2 to support column renames),
      introduced support of transactions for Oracle DDLs (VBScript, SQL)
    • Introduced a feature in server code to get calls stack in a case of error

    2002.

    Study existing code, significant redesign parts of application in order to get better architecture (simpler code -> less bugs),
    implement new features, bug fixing. When implementing new features I was given functional requirements then I did technical design myself,
    implemented and tested. Everyday conversations with customers regarding to progress and current status of tasks.

    Areas of product: Mostly client-side, but worked with server side also. JavaScript, HTML, XML, XPATH, XSLT, VBScript, SQL.

    Achievements: learned how to split large task into smaller ones and how to achieve a goal.

    Tools: HomeSite, MS Script Debugger, SQL Server 7, SQL Server 2000

    • Implemented a batchloader (a tool to import a lot of items described in plain text files) (VBScript, IE ActiveX)
    • Completely rewrote methods for drawing forms and populating forms with data (JavaScript)
    • Optimized populating forms (did not reload all the form, but populated existing with new data) (JavaScript)
    • Completely rewrote visual forms designer (HTML, JavaScript)
    • Rewrote and significantly improved dialog for image selection from images gallery. (HTML, JavaScript)
    • Implemented support of new data type "Filter List" (JavaScript on client-side, VBScript on server-side)