Senior Software Engineer2016 - 2016MasterOfMalt (via Toptal)
Technologies: Python, ScraPy, PyUnit, GitHub, Image_match, Log4net
- Scraped product pages.
- Created product lists via categories, sitemap, and search.
- Built a spider unit testing engine.
- Handled scraping-related situations like error response codes, processing, and data storage exceptions.
- Checked the engine and script for relevance (scraping model to site).
- Sent detailed status emails about relevance check results.
- Hashed product images using image_match.
- Created an image hashing pipeline.
- Serialized data using CSV, MS SQL, and ElasticSearch.
Senior Software Engineer2013 - 2015Lawfirm Matrix ETL (via Toptal)
Technologies: C#.Net, QuickBooks, QODBC, ETL, TDD, MS SQL
- Created a low-level ETL operation description language that specifies details of data transformation.
- Developed a high-level ETL language and translation engine that does compilation of human readable form into low level language.
- Built a simple but powerful multi-level logging system allowing both easily readable console output and detailed log output of ETL operation workflow.
- Created a type conversion engine.
- Developed a date macro engine (e.g. date of first transaction, date of earliest updated transaction, etc).
- Created tons of unit tests that cover every aspect of core functionality behavior (and not only core).
- Programmed various data sources and target types: QuickBooks (internal access), access through QODBC, MS SQL, CSV, oData.
Software Engineer, Team Lead2013 - 2013CampForDisabled
- Created an application to automatize the preparation and organization of an annual camp for people with disabilities.
- Extracted validators into separate open-source project.
- Invented a method for centralizing requirements to controller behaviors (with unit testing).
Software Engineer, Consultant, Team Lead2010 - 2013Freelance
Technologies: C#, IL Asm, TDD
- Built a library for ultra-fast, reliable processing of Stata data sets (dta-files). Data serialization and processing speed is comparable to that of the C language-based Stata (which has been developed for the last 27 years).
- Created a component for viewing, filtering, and modifying datasets with extreme .NET DataGridView speed optimizations.
Senior Software Engineer, Team Lead2008 - 2011GlobalLogic Ukraine
- Developed a web application for entering and manipulating data related to the environment (e.g., CO2 emissions) with the ability to generate reports on cost savings for various countries and projects. Allowed users to store different operational information about structure of organization, location of department, etc.
- Created a web app that lets fans use their smart phones, Macs, or PCs to make predictions during live football games.
- Implemented extensive unit testing coverage and TDD.
Senior Software Engineer2007 - 2008Validio Ukraine
- Created online project management software containing, but not limited to: a complex UI; addons for Outlook, MS Project; fully functional web folders; and intricate reporting.
Software Engineer1999 - 2007Validio Ukraine
Technologies: Delphi, C++, VB/ASP, C#
- Developed a highly reliable alarm application (Windows service), with an ASP front-end.
- Worked on a Desktop project consisting of three sub-projects related to various parts of the client activity. The subprojects included publishing an object-oriented database, an XML-based layout editor, and a driver for connecting the client’s software with Quark Express.
- Created a set of applications to provide access control for Sproqit mobile services which allowed users to subscribe (via both free and retail licenses) and manage their accounts, and administrators to perform the full management cycle on users, products, newsletter subscribers, etc. Includes ASP.NET web apps (Sproqit and Bell Mobility) and an authentication DLL. All modules are localizable.