Vitaliy Oslon
no image
Vitaliy Oslon

Vitaliy D. Oslon
3457 Lark Meadow Way
Dallas, TX 75287 - 6008

e-mail ------------
------------

OBJECTIVE
To obtain a permanent position of Software Engineer / Technical Lead where my programming knowledge and experience may be applied toward the development of business, engineering, and scientific applications.

EDUCATION
Received Master Degree in Math from Rostov State University, Russia, 1982.

SKILLS
Working knowledge of the following :

Hardware
PDP 11 family; IBM PC and compatibles
Operating Systems
RSX 11M, MS DOS, MS Windows from 3.1 to 10, .NET from 2.0 to 4.7
Development Tools
Visual Studio from 6 to 2019, MS Visio, Profiler, 16, 32, and 64-bit API
Languages
FORTRAN, C, C++, C#, VBScript, HTML with CSS, JavaScript, Transact-SQL, some Java, some JSP
Libraries
MFC, CodeDom, Reflections, XML, some JSON, Math, Threading, LINQ, Tasks, TPL, Collections, TestTools, some Unity, some common JavaScript libraries, some GUI test tools
Development Methodologies
OOA / OOD / OOP, Design Patterns, components, Agile, SOLID, DRY, Test Driven, Tests First, pair programming, state machines, some BDD
Software Packages
Developer Express, NUnit, NMock, NCover, MOQ, White Framework, some Coded UI, SQL Server 7 to 2017, DB2, Protractor, Selenium, Jasmine
Application Types
GDI / GUI, GDI+, Client / Server, Automation, OLE, COM / DCOM, some COM+, ASP, ADO, XML, multithreading with thread synchronization, state machines, unit tests, functional tests, UI tests, WinForms, WPF, some WebForms, some ASP.NET MVC.
Industries / areas
Mechanical engineering, sales and marketing, computerized training, tax accounting, e-commerce, oil & gas, robotics, financial
Source Control
TFS, SVN/Tortoise SVN, Beyond Compare (helper software), StarTeam, other


EXPERIENCE

03/2018 – 06/2020,
Cash Processing Solutions, Irving, TX
Software Engineer
Developed and modified software controlling banknote sorting machines using Visual Studio 2017 & 2019, C# 7, C++/CLI, MS SQL Server 2017 with Transact-SQL, XML, some JSON, WPF, State Machines, SVN, TFS.
Created and modified software components, unit and functional tests, stored procedures, database access functions, complex WPF controls and whole applications.
Reviewed other developers' code and mentored other developers. Troubleshot complex problems. Modified application to make code more readable and maintainable, eliminated code duplications and other improper software practices. Tracked memory leaks. Optimized for performance.

EXPERIENCE (CONTINUED)

07/2016 – 03/2018
PepsiCo, Plano, TX
Software Engineer
Developed and modified Sales Planning Model application using Visual Studio, C#, WinForms, DB2, Eclipse, Java, some JSP, DB Visualizer, StarTeam.
Created and modified complex UI objects, data objects, and advanced SQL scripts.
Introduced new features. Troubleshot complex problems. Modified application to make code more readable and maintainable, eliminated code duplications and other improper software practices. Optimized for performance.
06/2015 - 03/2016
Fidelity Investments, Westlake, TX
SDET (Software Development Engineer, Test).
Designed and developed UI tests for Fidelity’s trading applications using Visual Studio 2013 and 2015, C#, White Framework, some Coded UI, some WPF, and TFS. Modified trading application to make it testable. Wrote utilities that allowed faster development of tests and provided access to hard-to-find controls. Reviewed other developers’ code. Wrote proof-of-concept UI tests using WebStorm, JavaScript, Selenium, Protractor, Jasmine.
07/2006 – 04/2015
INOVA Geophysical, Houston, TX
Senior Software Engineer.
Designed, developed, modified,, and tested Land Seismic Acquisition systems, including grid views, custom dialogs, wizards, communications with custom hardware, code generation, radio communications prioritized queue handling and collision management, unit tests, functional tests, hardware simulators, custom logging system, performance optimization. Refactored legacy code to meet modern coding standards. Troubleshot field issues. Environment MS Windows / .NET. WinForms, WPF, some WebForms, some ASP.NET MVC, some WCF. Languages used: C++, C#, Transact-SQL.
03/2002 – 07/2006
Self-employed
Software Engineer and Web Developer.
Designed, developed and tested web-based applications, including Age Verification System and e-commerce site, utilizing HTML / CSS, ASP (VBScript), SQL, and some C++, MFC, COM+, and ATL. Developed user information and interface pages, order processing and payment preparation pages, shopping cart, product catalog maintenance and replication pages, online customer support system, banner ads display, ordering, and statistics pages, encryption software, mass mailing system, web site traffic reporting and ad tracking system.
04/2004 – 02/2005
and
06/1995 – 03/2002
RIA Group, Carrollton, TX
2000-2002 and 2004-2005 Software Engineer, Web Developer.
Designed, developed and tested web-based applications, including company's home page (------------) and Intranet, utilizing HTML / CSS, ASP (VBScript), SQL, some MS Access, some ASP.NET, and some C++/MFC. Troubleshot and modified web pages. Developed online store, employees directory, document publishing system, opinion survey authoring system, Call Center statistics reports, web searches, directory search tool, data migration utilities, etc.. Designed MS SQL databases for different projects. Developed maintenance web pages for different SQL databases.

1995-1999 Systems Programmer Senior, then Systems Programmer Lead.
Developed, tested and modified tax return software in the IBM PC MS Windows environment. Developed Client / Server application utilizing C++/MFC and OLE. Troubleshot hard-to-fix problems. Analyzed requirements and designed applications. Developed in-house database maintenance applications.

Before 1995
Available upon request.


MAJOR STRENGTHS
Highly knowledgeable in best software development practices.
Write well-formatted, well-commented, easy to read and maintain code.
Make complicated tasks simple.
Senior, Lead, and Architect experience. Experienced in splitting big project into several modules, clearly defining interface between modules, and coordinating team members coding these modules.

RECOGNITION
Won first place in 1975, 1976 and 1977 in the Soviet Union national Math competition for Soviet high school students.


SKILLS IN DETAIL

C# - 2006 – 2020, about 14 years of experience. Latest C# 7.
MS Visual Studio 2005 to 2019, .NET 2.0 to 4.7.
Developed Seismic Acquisition software, UI Tests, Sales Planning Model software, and software to operate money sorting machine. Converted old C++ code to C#.
Experience included GUI (WinForms and WPF, some WebForms, some ASP.NET MVC), some WCF, GDI+, communication with custom hardware, multithreading and thread safety, simulation of custom hardware, code generation, database access (MS SQL), XML, LINQ, optimization, custom logging, generic functions, class extensions.

C++ - 1991 – 2007, 2014, 2018 - 2020, about 10 years of experience.
1991 - 1992 -- Borland C++ for IBM PC / MS DOS platform.
Developed functions to implement Windows - like interface in text mode. Functions were used in multiple projects.
Developed key functions for Manufacturing Engineer's Automated Workplace project.
1993 - 1995 -- MSVC with MFC, IBM PC / MS WINDOWS platform.
Designed and developed classes for applications utilizing OOD / OOP & GDI / GUI concepts.
Designed and developed library classes that were reused in different sections of projects and will be used in future projects.
1995 - 2001 -- 32-bit MSVC with MFC, IBM PC / MS WINDOWS platform.
Developed and maintained tax preparation software and different maintenance applications. Troubleshot and debugged Client / Server applications.
2002 - 2005 -- 32-bit MSVC with MFC, IBM PC / MS WINDOWS platform.
Developed several small applications.
2006 - 2007 and 2014 -- Visual Studio 2005 with MFC, IBM PC / MS WINDOWS platform, Managed C++.
Developed and maintained Seismic Acquisition software.
2018 - 2020 – some ise of C++/CLI

ASP (VBScript), ADO, and HTML - 2000 - 2006, 6 years of experience. Included about 2 years of JavaScript, some HTML 5, some CSS 3, JQuery.

SQL and Transact-SQL - 2000 - 2020, over 10 years of experience.
Designed and created databases, tables, indexes, views, stored procedures, etc.
Implemented access to information using joins, typecasting and complex queries.
Normalized, modified and optimized databases and tables.
Most of experience in MS SQL Server, with 1 year of DB2.
MAJOR PROJECTS

These projects were not my contract assignments. They were interesting work assignments, parts of permanent jobs.

1. 1992 - 1993, 6 months. Project for travel agents.
The program allows travel agents to get information about specific destination, to get the feel of destination. Also teaches the sales techniques and simulates sales.
IBM PC / MS Windows platform, C programming language utilizing GDI / GUI concept, multimedia (video, audio, still images), GENUS PCX library.
The project won several awards.

2. 1993, 4 months. Kiosk application for Southwestern Bell.
IBM PC / MS Windows platform, C programming language utilizing GDI / GUI concept, multimedia (video & audio), GENUS PCX library.
The program allows customers to obtain an information on SWBT services and to order them without salesperson.

3. 1994 - 1995, over 1 year. SalesWare applications.
MS Windows / Visual C++ with MFC, OOD / OOP, GDI / GUI, multimedia (video & audio),
Lotus Notes as database and mail platform.
The program helps salespersons to represent products or services using graphics and multimedia, to take orders and give quotes, to check the availability etc. Also can be used as information system.
Customers were GTE, HP (several subdivisions, including overseas), Panasonic etc.
I programmed several screens and sections and part of the library classes.

4. 1995 - 2000, 5 years. Tax preparation software for tax professionals.
MS Windows (32 bit) / Visual C++ versions 1.5 through 6 with MFC, OOD / OOP, GUI, Client / Server, OLE, COM / DCOM, multithreading.
This project included several standalone projects described below.

5. 1995, 3 months. Interpreter for company's proprietary scripting language.

6. 1996 or 1997, 4 months. Conversion of very large project from VC2 to VC4.
The project was a kernel of the tax preparation software, about 100,000 lines. It utilized MFC, OLE, Client / Server.

7. 1998, 2 months. Database read-only access utility. C++, OOD / OOP.
The program provided API for read-only access to databases with company's proprietary structure. These functions worked 3 to 11 times faster, depending on type of test and the database, than standard API.

8. 2000 - 2001, about 2 months intermittently. Web-based access to Call Center reports.
ASP (VBScript), HTML, ADO, SQL, T-SQL
The project included analysis of the structure of MS Access database, design, creation and optimization of MS SQL database, scheduled data replications from Access to SQL, and coding ASPs that access SQL database.

9. 2000, about 2 months. Shopping cart and checkout for company's e-commerce site.
ASP (VBScript), HTML, ADO, SQL.

10. 2001, about 4 months. Online employees' directory.
ASP (VBScript), HTML, ADO, SQL, MS Exchange, LDAP, Lotus Notes API.
The project included analysis of the structures of MS Exchange Global Address List and several Lotus Notes databases, design and creation of MS SQL database, data replications from Lotus Notes and MS Exchange GAL to SQL, coding ASPs that access SQL database, and designing web crawl to provide full text search by any attribute.

11. 2001 - 2002 and 2004, about 3 months intermittently, Sales Proposal Tool.
ASP (VBScript), HTML, ADO, SQL.
The program helps salespeople to write sales proposal letter and / or e-mail by extracting the information on company's products from several different databases and combining it with templates and sales proposals made previously.

12. 2002-2003, about 3 weeks intermittently. Encryption software.
MS Windows / Visual C++ / MFC.
Utilizes my own encryption algorithm that is very hard to break. Works both in command line mode and in interactive mode. Displays complete command line syntax.

13. 2004, about 2 weeks. Survey authoring system.
ASP (VBScript), HTML, JavaScript, SQL, ADO.
The program allowed non-programmer to create customer surveys in a simple 4th generation language (script) with several different question types and branching depending on answer. Surveys were complete with script syntax verification and error reports in a plain language, JavaScript validating customer input, answers stored in a database, online statistics web pages, and popup blocker detection.

14. 2007, about 3 months. Complete redo of system providing messaging between PC and specialized computer.
MS Windows / Developer Studio / C#.
Project included encoding/decoding of numerous messages (about 100), validation of received messages, and human readable message logging.

15. 2008, about 3 months. Proposed and developed prioritized request queue handling and radio collision management for communication between PC and custom hardware.
MS Windows / Developer Studio / C#.
Allowed users to send requests to custom hardware at any time and from any thread. Sorted requests by priority. Did not send next request until all the expected replies from previous request are received to avoid collision on radio frequencies. Merged duplicate and overlapping requests. Allowed sending requests with minimum required delay. Added stackable and configurable preprocessors for received replies. Handled timeouts and communication failures. Handled delays required by custom hardware. Logged success and failure messages.

16. 2009, about 2 months. Simulator for custom hardware.
MS Windows / Developer Studio / C#.
Proposed and developed software simulator that can simulate responses from multiple units of custom hardware. Requests were processed in regular code path up to the moment before being sent down the communication line. Responses were injected at the point regular requests are received from communication line.
It allowed testing and debugging of software that interacts with expensive hardware that requires substantial set-up time and making quick changes to hardware configuration. It also allowed testing of preprocessors (see previous project).
It could optionally generate random errors to test how are custom hardware or communication errors handled by software.

17. 2011, about 2 months. Custom logging system.
MS Windows / Developer Studio / C#.
Logged messages to multi-column text files. Allowed numerous logs that could be configured by editing .XML file. Split long strings into substrings for better formatting. Started new log file when current file exceeded specified size, or when requested by user. Handled log requests from different threads. Handled high volume of log messages and extremely long strings (10M). Logged or didn’t log messages depending on their importance. Allowed logging to undefined log by specifying unknown log name.
This logging system was very effective tool for debugging and resolving field issues.

18. 2012, about 1 week. Several nice UI controls.
While working on big UI screen, I developed several convenient UI controls:
Controller for flashing buttons. Allowed one or more buttons to flash synchronously.
Disabled button with a tool tip. Was used to explain why button is disabled.
Custom progress bar.
All the controls were thread safe and could be called from any thread.

19. 2014, about 2 weeks.
Optimized process that required a lot of computing power using Profiler.
Refactored code to make parallel processing possible. Made computation about 100 times faster.

20. 2018, 6 weeks, then 2 weeks of updates in 2019.
Custom tool for graphical representation of banknotes moving thru sorting machine.
C# / WPF / MVVM.
Tool was widely used to troubleshoot machine problems and fine-tune the machine.

21. 2019, about 3 months intermittently.
Designed database, database access APIs, and complete set of unit tests.
Transact-SQL and C#, with extensive use of delegates and local functions.
Included complete database design and general database access functions. All the access was implemented by stored procedures. Every stored procedure had counterpart C# function with same name. Every C# function had extensive unit tests.
Database was used to count banknotes, with numerous counts by deposit, strap, bundle, and other counting units.