My objective is to design and develop ASP.NET, ASP.NET Core, MVC frontend web projects as well as backend windows services, WCF services, web services and databases in different market segments. I prefer fulltime position but contract is possible as well.
Platforms / libraries / technologies
dotnet core, aspnet core, .NET 4.6.1/4.6/4.5/4.0/3.5/3.0/2.0/1.1/Mono
MS SQL Server 2012/2008/2005/2000
Microsoft Visual Studio
Team System Server
Various end user software
QPay, Inc. / INCOMM | agent solutions
Miami, FL, USA
March 2012 - present
Senior Software Developer.
Responsibility includes development and support 30+ web applications for online/offline payment processing for different mobile carriers like Metro PCS, T-Mobile, AT&T, Verizon, Cricket, Sunpass, Tracfone, NET10, Simple Mobile, Telcel and others. Frontend technologies include mostly ASP.NET, some new projects were inplemented using modern AspNet Core. UI libraries used for frontend are JQuery, Angular JS, Vue JS, Knockout. Bootstrap and MaterializeCSS are used as CSS frameworks. Extra UI libraries include fontawesome and google fonts. Single sign on (SSO) is used as authentication/authorization for all 30+ websites to make transparent navigation between different websites after single sign on. SSO has SAML implementation which allows to integrate not only internal customers but also external. Websites are also protected by server and client SSL certificates.
Backend implemented as a set of WCF services (Windows services and web services) as well as REST services. These services are used for internal middle tier processing as well as integration with carriers' payment processing APIs. Microsoft SQL Server is used as database storage and reporting service with OLAP processing.
System has integration with third party services like Adobe Sign (https://acrobat.adobe.com/us/en/sign.html) and Authorize.net (https://www.authorize.net).
Frontend and backend use dependancy injection in conjunction with unit testing. Autofac is used for dependancy injection and MS Tests altogether with NSubstitute, FakeItEasy and AutoFixture for unit testing.
Miami, FL, USA
April 2011 – March 2012
Developer - designed, developed and deployed desktop projects for kiosks installed
in prisons, websites for friends and family members, website for prison management,
website for system administrators. All backend implemented as SQL server 2008 and
web services written in C# (.NET 2.0) while all websites implemented as ASP.NET
VB.NET web forms projects (.NET 2.0). Participated in video calls development which
is implemented using Action Script for Flash application and Java as a communication
layer between Flash and .NET web services.
Below are the projects I was working on:
Website http://jpay.com. Website
for friends and family members. Allows users to find inmates in prison, communicate
with inmates using text messages with or without picture attachments, schedule/start
video visit, send money to inmate, buy MP3 player for inmate, get information about
facility address, phones, fees . Website implemented as ASP.NET VB.NET web forms
projects. Uses Microsoft AJAX library, jQuery, embedded flash application. I designed
(applied design made by designer), developed and fixed multiple pages including
HTML layout, CSS, VB.NET backend, web services, stored procedures, Flash application
for video visit.
Website for facility management. Allows to monitor inmate’s communication, money
transactions, review recorded video calls, review inmate’s activity, block or activate
services available for inmate. Website implemented as ASP.NET VB.NET web forms projects.
Uses Microsoft AJAX library, jQuery, embedded flash application. I developed and
fixed multiple pages including HTML layout, CSS, VB.NET backend, web services, stored
procedures, Flash application for video visitation.
Website for system administrators. Allows JPay system administrators to setup all
active/inactive kiosks installed on facility premises as well as modify settings,
available services at facility, add/remove/change inmate settings, monitor system
activity. Website implemented as ASP.NET VB.NET web forms projects. Uses Microsoft
AJAX library, jQuery. I developed and fixed multiple pages including HTML layout,
CSS, VB.NET backend, web services, stored procedures.
Inmate Kiosk. Windows desktop application running on kiosks installed
on facility premises. This is a windows form application written in C# for .NET
2.0, serves for inmates and provides all available services provided by JPay. Kiosk
is able to capture/stream picture/video from webcam, send/receive/display/compose
text message with or without attachment, download mp3 files from JPay servers, upload
mp3 files to mp3 players. Module responsible for file uploads to mp3 player is written
in C and referenced using interop from C# application. I fixed multiple pages (architecture
of kiosk is made similar to web experience where every forms appears as a new page
with backward availability) including C# backend, web services, stored procedures,
Flash application for video visitation (flash application embedded into kiosk inside
embedded web browser control).
Modern Ad Media / Acqunity Interactive
Deerfield Beach, FL, USA
October 2010 – February 2011
Senior Web Developer - designed, developed and deployed web projects for online
advertising, sweepstakes as well as windows and web services for internal processing.
Web projects include external websites for customers as well as internal websites
for advertising campaigns setup, reports. System components include web servers
IIS 7, SQL server 2008, WCF services and windows services. Websites implemented
as C# ASP.NET 4 applications with DevExpress controls. Some websites implemented
using MVC 3 pattern.
Below are the projects I was working on:
WebAdmin. Web application for system setup and management implemented
as C# ASP.NET 4 web forms project. Application consists of data layer, business
layer and presentation layer. Data layer and business layer implemented as separated
assemblies and shared across multiple projects. Some parts of business layer implemented
as WCF services. Web application uses Microsoft AJAX library, jQuery library as
well as DevExpress components and controls.
Reports. Web application with report functionality implemented
as C# ASP.NET 4 web forms project. Whole data layer implemented as a set of SQL
server stored procedures. Website itself is just a presentation layer for every
stored procedure from data layer. As a presentation layer it contains a lot of forms
to filter data in reports and heavy usage of DevExpress controls. Below are some
controls and features used from DevExpress:
Grid control. DevExpress provides flexible grid with AJAX functionality and ability
to create nested grids, e.g. detailed report for selected row of parent grid. This
grid has ability to implement “on fly” filtering, when grid header has additional
icon which allows to limit number of records based on entered text, selected checkboxes
or selected value from combobox which applies to particular column only.
- Combobox. AJAX implementation of regular combobox.
- Date/Time picker. AJAX implementation of textbox for date/time selection.
- Checkbox. AJAX implementation of checkbox control with three states.
- Controls schema. Similar appearance of all DevExpress controls.
Mobile reports. Website implemented as C# MVC 3 application for
mobile devices. The reason of that project is to provide mostly used reports to
the business on the go. Original Reports project with complex grids is not suitable
for mobile devices.
Sweepstakes. Web project for online sweepstakes implemented as
C# ASP.NET 4 web forms project with WCF and windows services at backend. Presentation
layer implemented as website and allows users to participate in sweepstakes, display
results and leave testimonials while windows service run in background, picks a
winner and sends notification about win. WCF service used to communicate with other
systems to inform about winner and retrieve information about available sweepstakes,
prizes and settings applied for particular sweepstake.
Miami, FL, USA
October 2005 to October 2010
Senior Web Developer/Software developer – designed, developed and deployed web projects,
web services, WCF services, windows services including web based monitoring system,
reporting, web based AMC(Account Management Center) for customers, intranet web
project PAC(Provision Account Center) for internal needs as well as several parts
of huge messaging system including OCR, distributed file system, branding, monitoring.
Used technologies: C#, .NET Framework 2.0, RFC standards, Image processing, RFC
standards (FTP, HTTP protocols), FineReader SDK.
Common library. Designed and developed .net library written in C# for several projects.
Project divided into business layer and data layer.
Business layer is implemented as a .NET 3.5 assembly written in C# using Linq2Sql
and Linq2Objects technologies. Designed and implemented solution to track changes
made by different users from different applications for future troubleshooting.
Data layer is implemented as a .NET 3.5 assembly written in C# and serves as data
layer for Microsoft SQL Server 2000/2005. Used Linq2Sql to generate wrappers for
database objects (tables, stored procedures) and partial C# classes to extend generated
classes to implement additional data read/write logic.
Project PAC. Website for internal usage to provide customer support, sales and finance
people ability to manage customers' accounts. Designed and developed from scratch.
Project written using C# 3.5, ASP.NET, MVC 2. Website provides web 2.0 experience
to load/update data without page refresh. Underlying services for web 2.0 are implemented
as WCF services. AjaxToolkit library and jQuery are used too to provide web 2.0
Credit Card Processor. Windows service written in C# uses HTTP GET and POST requests
to connect to credit cards merchant provider to process credit card transactions.
Data Export. Windows service written in C#. This service gets requests from customers
and other services for data export. Makes requests to MSSQL 2000/2005 databases,
converts received data to SVC format or ZIP archive with SVC file inside and sends
email using SMTP server to customer. ZLIB library and it's C# wrapper is used for
archiving. This service is multithreaded.
Invoice Printer. VB 6 application. Used to generate invoices from Crystal Report
templates. Uses Crystal Report COM objects to generate PDF file or print directly
Notifications. Windows service written in C#. Monitors events in the system and
sends email to customer in case of event. Service allows to setup different notifications
for different customers as well as different translations.
AMC. Website for customers. Available at http://amc.venali.com. This online tool
allows customers to see how many faxes they sent or received in table format or
as a graphical chart, request call details records (CDR) directly to customer's
mailbox, view/download PDF invoices, fax archives in TIFF or PDF format, make credit
card payments, change personal information, send broadcast faxes and add/delete/modify
Website written using C# 3.5 and ASP.NET. Localized to 12 different languages. Localization
uses ASP.NET localization tools. My own invention allows translators to translate
website directly from webpage. That allows to see context of translating expressions.
Once translation is complete the result is available immediately. Website provides
web 2.0 experience to load/update data without page refresh. Underlying services
for web 2.0 are implemented as WCF services for ASP.NET. AjaxToolkit library and
jQuery are used too to provide web 2.0 experience. Website uses wildcard SSL certificate
to encrypt data exchange between client's browser and web server.
AMC. White Labeling. That project allows resellers to use their domain, own logo
and scheme for AMC website. So AMC website will look like reseller's website but
not Venali's. To protect customers' sessions reseller's SSL certificate will be
SOHO Signup. Website for customers. Available at http://signup.venali.com. Serves
as an entry point for new SOHO customers to start faxing. Allows customers to select
best package, create their own account, make payment online using credit card or
paypal(in development). Website written using C# 3.5 and ASP.NET. Internal communication
implemented using .net remoting.
VDMS.Branding. This is a component for VDMS (Venali Distributed Messaging System).
Branding is a one of last stages for fax to email processing. It prepares email
to be sent to customer. It uses different PLAIN TEXT or HTML email templates with
or without images, in different languages, to compose email. Written in C# it uses
LumiSoft library to prepare email. Custom solutions for customers requires to insert
custom headers, attachments, mark it as spam if so, use different MIME types for
VDMS.DFS. Distributed File System. This solution allows VDMS to read/write files
from/to different types of locations. It can be UNC location, FTP location, HTTP
location, custom location. Implemented as a C# library with common file access interface
and different implementations for different locations.
VDMS.OCR. Optical character recognition component for VDMS. Implemented as C# assembly
using FineReader SDK. Can OCR single page images like JPEG, BMP, GIF, PNG and multipage
images like TIFF.
VDMS.NocServer. Windows service for NOC. Implemented in C# it analyses logs generated
by VDMS and creates reports about it's work. It analyses from 10 to 30 Gb of data
daily. Data stored in Berkley DB and Ms Sql Server 2005 database. Size of SQL database
about 200 Gb. This application hosts WCF service to manage this service externally.
Implemented as multi plug-in application. Every plug-in hosted in separated AppDomain
which allows to load/unload plug-ins on the fly without stopping whole service.
VDMS.NocWebsite. Web interface for NocSever. Implemented as website written in C#,
ASP.NET. Designed for multi users and allows to modify report pages individually
for each user.
- SVN, Source Safe, Team System source control systems.
New York, USA / Dnipropetrovs'k, Ukraine
Software developer – worked with FXTrader client/server software for trading on
forex markets. Used technologies: C#, C++, C, VB, .NET Framework 2.0, COM. Used
software: Visual Studio 2003/2005, Microsoft Windows Server 2003.
- FXTrader server is a windows service app written in C/C++ using COM, DCOM.
FXTrader client application for FOREX trading is a WINAPI/MFC application written
FeedServer. C++ application to provide clients with current currency trade rates
and historical data.
- ASP/ASP.NET website to setup FXTrader server and feed server.
Microsoft SQL Server 2000 database was used to store data. Used database tables,
views, stored procedures, triggers to manage data storage.
- RSS news browser written in C#.
ISD (Information Systems Development)
Software developer – designed, developed and deployed “Specimen Tracking” and “Phlebotomy”
part of huge client/server software for hospitals and laboratories. Used technologies:
C, C++, CORBA, COM, MFC, Win32 API, db Vista. Used software: Visual Studio 6.0,
Phlebotomy and Specimen Tracking are server/client applications written in C++.
Server part written in C++ for AIX operating system and client written for Windows
using WINAPI and MFC library.
New development, bug fixes and support for predecessors: UNIX versions of “Specimen
Tracking” and “Phlebotomy” client applications written in C.
Designed and developed custom MFC controls: masked edit, date time picker, custom
combo box, custom textboxes, custom page tabs, custom panels, custom toolbars.
- Import/export data in XML format
- CORBA is used as communication between windows clients and AIX servers.
- DB Vista database.
- MKS source control system
Master degree. Dnipropetrovs'k State University (Ukraine), radio and physic
faculty, "computer systems and network" specialty.
Bachelor degree. Dnipropetrovs'k School #13 (Ukraine), physic & mathematics
Programming society of regional center of technical youth (Ukraine).