Post Job Free
Sign in

Engineer Software

Location:
Toronto, ON, Canada
Posted:
January 16, 2016

Contact this candidate

Resume:

ZAKHAR SUKHANOV

Technical Leader/C++/Objective C developer

Canada, Toronto

*******@*****.***

OBJECTIVE:

To be a key-role member of highly qualified team to utilize skills developing primarily ObjectiveC/Swift/C++. Desired work requires me to get into technical and managerial challenges.

PROFESSIONAL PROFILE:

Senior IT professional with 12 years of total IT experience. Skilled in developing solutions and applications using next set of technologies: C++, Objective-C, .NET/C#, COM, STL, Boost, MFC, ATL, SQL/MS SQL Server, and other technologies. Technically expertise includes OOD, OOP, database application design and implementation, enterprise-size application development and maintenance. Background in creating multi-user (client-server and multitiered) applications, financial/trade system, forensic application, mobile applications.

Have good communication and interpersonal skills. Able to work independently and within a team. Have proven experience in:

Object oriented analysis, architecture, design, testing, and deployment;

Team Leadership;

Full software development life cycle experience: conceptualizing, requirements gathering and analysis, architectural design, developing, coding, testing, support, troubleshooting, developer training.

KEYWORDS:

Team leadership; Financial, Client-Server, Forensic, Multiplatform, Multiuser Software, Mobile applications; Agile/SCRUM; Object-Oriented Analysis, Design and Development; Test-Driven Software Development/Unit testing; Enterprise-level Software Development and Support; UML; Windows, Linux; Solaris; iOS, Android (NDK); Multithreading; C++; Objective-C, Java; Microsoft .NET Framework/C#;SQL; STL; Boost; OpenSSL; MFC; ATL; Swing; Servlet; LINQ; XML; Win 32 API; Windows/Linux TCP/UDP Sockets; WMI; SVN; CVS; SourceSafe; Perforce; XCode, MS Visual Studio; MS Project; Eclipse; KDeveloper; GDB; Cmake; Jira; Bugzilla; Redmine, Jenkins;

TECHNICAL SUMMARY:

Skill Category

Skill list

Project areas

Mobile apps, Client-Server, Forensic, Financial/Trade (Bank) software, Mobile Device Management (MDM)

Programming Environment

Agile/SCRUM

Operating Systems

Windows, Linux, Solaris, iOS, Android(NDK)

Languages

C++, Objective-C, C#

APIs and Frameworks

Cocoa, Core Data, Win32 API, COM, Windows/Linux Sockets (TCP/UDP), STL, Boost, MFC, ATL, OpenSSL, Asio, gSOAP, Swing, Java Servlets, LINQ, number of 3rd party C++ libraries

Databases

MS SQL Server, Core Data, Berkeley DB

Technologies

OOP, OOD, UML, Unit testing, Multithreading, Crossplatform

Development Tools

Xcode, MS Visual Studio, Eclipse, Kdeveloper, GDB, Cmake, Enterprise Architect, MS Project, Jira, Bugzilla, Redmine, Jenkins, Star UML

Source Control

SVN, CVS, GIT, Source Safe, Perforce

Misc

XML, JSON, WMI, Autosys, Managed C++

LANGUAGES:

Russian – Native.

Ukrainian – Native.

English – Fluent.

German – Pre-Intermediate.

EDUCATION:

1998 – 2003 Vinnitsa National Technical University, Ukraine, Computer Science.

2003 – 2005 Vinnitsa National Technical University, Ukraine, Economics.

MILITARY SERVICE:

2004 – 2005 Ukraine Military Service

Fireman and Fire Vehicle Driver.

TRAINING PROGRAM ATTENDED:

2010 Agile/SCRUM training

PROFESSIONAL EMPLOYMENT:

SOTI, Canada, Toronto

June, 2013 – current. Senior Software Developer

SOFTWARE DEVELOPMENT.

MobiControl (http://soti.net/mobicontrol/) is the world’s most trusted Mobile Device Management (MDM) and Bring Your Own Device (BYOD) Management solution. MobiControl enables organizations to centrally manage, support, secure and track corporate-liable and employee-liable mobile devices, regardless of device type, mobile platform and location.

Implementing new/additional functionality for iOS Client (https://itunes.apple.com/ca/app/soti-mobicontrol/id423660710) of the system, bug fixing.

Next tools and technologies used for the development:

Objective-C (XCTest), C++ – iOS agent client for iPhone/iPad/iPod;

Core Data, SQL Server – as data storages for iOS app and backend correspondingly;

XML, JSON – as data carriers;

iOS (iPhone/iPad/iPod), Windows (backend) – target platform(s),

Xcode, MS Visual Studio, Jenkins, Jira – development tools.

Avid (http://www.avid.com), GlobalLogic, Kiev

December, 2012 – June 2013 Technical Leader

TECHNICAL LEADERSHIP, SOFTWARE DEVELOPMENT.

Sibelius application (http://www.sibelius.com) is a powerful Musical Editor application for professional musician. Allows to edit a score to apply different filters and to play a music. Whole application package includes Sibelius application itself (for Mac and Windows), iOS Scorch app. (https://itunes.apple.com/ca/app/avid-scorch/id436394592), Browser plugin.

Team leadership, implementing additional functionality, bug fixing.

Next tools and technologies used for the development:

C/C++ (STL, Boost, Qt) – Main components;

Objective-C – iOS (iPad)/OS X layer components;

OS X, iOS, Windows – target platforms,

Xcode, MS Visual Studio, SVN – development tools.

February, 2012 Software Developer

SOFTWARE DEVELOPMENT.

Network Traffic Optimizer. Application is a Linux System process that is run at Android Phones “under” Dalvik VM. Optimizes/compress outgoing and incoming network traffic (HTTP, HTTPS, DNS). This saves phone battery and cost of Internet.

Implementing logic responsible for SSL traffic optimization, bug fixing.

Next tools and technologies used for the development:

C/C++ (STL, Boost) – Main components;

Android (NDK) – target platforms,

Eclipse, SVN – development tools.

Barclays Capital (fixed income), EPAM, Kiev

June, 2010 – February 2012 Software Developer, consultant

SOFTWARE DESIGN, DEVELOPMENT, DEPLOYMENT AND SUPPORT.

Trading system for the Global Market (Fixed Income area: New York, London, Singapore, Tokyo). Long term project support and development for internal clients.

Solving problems, bug fixing, adding new features, like: new subcomponent development (.Net/C#), support for existing instrument types (Bonds, Swaps etc.).

Next tools and technologies used for the development:

MS VC++ (STL, Boost) – Main components;

Python – Several of main components;

C#/.NET (LINQ) – Used for implementing new parts of the system.

MS SQL Server – as a data storage;

XML, JSON – as a data carrier;

Windows, Linux – target platforms,

MS Visual Studio, Perforce – development tools;

Autosys (JIL) – for task/scripts scheduling.

ADF Solutions (http://www.adfsolutions.com), Global Logic, Kiev.

December, 2008 – June, 2010 Technical Leader

SOFTWARE ARCHITECTURAL DESIGN, DEVELOPMENT, TESTING.

Forensic triage -examiner tools (http://www.adfsolutions.com/products/triage-examiner.php) for rapid evidence recovery and intelligence extraction from computers and peripheral devices (FAT, NTFS, EXTs) . The tools have a proven track record at reducing forensic backlogs, securing fast convictions, and identifying suspects who are a threat to national security. The project’s aim is to develop designed products in accordance with defined specification by old code refactoring and new functionality development. Performing full functional and security testing.

Begun using Scrum at development process.

Next tools and technologies used for the development:

C++ (STL, Boost, The Sleuth Kit API, number of 3rd party C++ libraries) - Main development language

Unit testing (Boost test framework) – unit testing;

Windows, Linux – target platforms;

MS Visual Studio, Eclipse, Cmake, StarUML, SVN – development tools.

December, 2007 – December, 2008 Software Engineer

SOFTWARE ARCHITECTURAL DESIGN AND DEVELOPMENT.

Network/security manager. Application is intended to be used on laptops as a Network-connections manager. Supplied as a pre-installed application. Manages network connections depending on a location, whether it is in office, or at home, or at an airplane board, or at any other public place. Uses LAN, WiFi, Bluetooth as a physical transport. Interacted directly with Hardware (Network related) through Firmware.

There are two main parts: GUI (.Net/ C#) (Client Side) and Core (C++/Managed C Interaction between parts made through a Socket and/or Managed C++ calls.

Design supposed Core part to provide public interface that allowed different clients (from different vendors) use it (not only .Net/C# based).

My task was, to provide an ability for Core logic interacting with Hardware through Firmware (C/C++ libraries) interface.

Next tools and technologies used for the development:

C++/Managed C++ (STL, number of Firmwares from hardware vendors) - Core part language;

WMI – to interact with OS;

Windows – target platform;

MS Visual Studio, CVS – Development tools.

Aricent, Kiev

December, 2006 – December, 2007 Technical Leader / Software Engineer

SOFTWARE ARCHITECTURAL DESIGN AND DEVELOPMENT.

Part of a Telecommunication system. Soap – XML – Translator used as a Web – service to convert requests from client (Java based) data format to server (C++ based) data format.

There were Sever an variety of Cleints that used well known protocol to deliver data/messages. New generation of the protocol was issued (with new Clients) – this forced to update Server – to “teach” it understanding new protocol. Soap – XML – Translator served as a Proxy between new Clients/New Protocol and “Old” Server, translating new protocol messages/requests to old protocol format.

Participated while architecture development, implemented framework of the application, dealt with parsing Client requests and translating them to a new protocol format, implemented logic of messages processing.

Next tools and technologies used for the development:

C++ (STL, gSOAP) – development language;

Solaris – target platform;

MS Visual Studio, Sunstudio, GDB, SVN – development tools.

November 2006 – December 2007 Software Engineer

SOFTWARE DEVELOPMENT

MediaBroadcaster - Media broadcasting application. Developed for Media Companies to deliver media to target Clients.

Application automated media consuming for a Client. Client just visited Media web- page, chose data snippets he/she interested at and pressed OK. Media broadcaster created schedules, timers, tasks, rules how and when to begin Media downloading.

Application supplied SSL transport to deliver data (Libtorrent + OpenSSL), partial data storage, searching for alternative data sources, NAT problems negotiation (XSTUNT), etc.

I implementer network/transport part of the application, refactored old implementation, added SSL ability.

Next tools and technologies used for the development:

C++ (STL, Boost, Asio, XSTUNT, OpenSSL, Libtorrent) – main language;

Windows, Linux – target platforms;

Windows/Linux Sockets, SSL – to implement network transport functionality;

RQL-Ukraine, Kiev

April, 2006 – November, 2006 Software Engineer

SOFTWARE DEVELOPMENT

Voice messaging system designed to synchronize PC, Laptop, Smartphone content.

Was implemented as a manager – application parts of which should be installed at PC, Laptop or Smartphone (Symbian). Those parts served as content driver: performed phone activity related to content renewal/synchronization.

My tasks were: PC and Smartphone related parts bug fixing and additional features development. Tasks were mainly related to optimization of network traffic and dealing with cases when data lost.

Next tools and technologies used for the development:

C++ (STL, MFC, Win32 API, Windows/Linux Sockets, Direct Sound/Video API) – main development language;

Windows, Linux, Symbian – target platforms;

MS Visual Studio, Kdeveloper, CVS – development tools;

Flextronix (Nasdaq:FLEX), Vinnitsa, Ukraine (April 2003 - May 2006)

May 2005 – May 2006 Software Engineer

SOFTWARE DEVELOPMENT

This software is a security scanner installed from the web as an ActiveX component. Scanner designed as set of Active X Plugins (C++, ATL, STL), that are automatically installed to a target PC though Web depending on User's choice. Each particular scanner implemented as a separate Active X component.

I developed a particular scanner and participated while implementing plugin installation routine (download cap-file, extract/install it's internals, setup Scanner plugion).

Next tools and technologies used for the development:

C++ (STL, ATL, Win32 API, Windows Setup API, WMI) – main development language;

Windows – target platform.

April, 2003 – April, 2004 Software Engineer

SOFTWARE DEVELOPMENT

iMesh (http://www.imesh.com/). File sharing software – P2P network. Automates file searching, download, sharing.

My tasks were to implement Network Transport Routine(s) (C++, MFC, Win32 API, Winsock, STL) with using multithreading and Client -Server approach, and realize application storage (C++, Berkeley DB).

Next tools and technologies used for the development:

C++ (STL, MFC, Win32 API, Winsock, Berkeley DB) – main development language;

Windows – target platform.

April 2003 – April 2004 Software Engineer

SOFTWARE DEVELOPMENT

Instant Messenger. Participated at Client Part development (Java Swing) and partially Server Side (Servlets).

Participated while implementing communication logic based on SIP protocol.

Next tools and technologies used for the development:

Java (Swing, Servlets) – main development language;

IntelliJ IDEA – development tool.



Contact this candidate