I am a skilled software developer with expertise in programming and a passion for iOS development. I have created numerous high-performance iOS mobile apps using functional reactive programming and MVVM. When not involved in programming, I specialize in most C languages including C++, C#, and Objective C. I have worked in both the finance and medical software industries and typically follow all the cutting-edge technologies that will shape the world in the the coming years (microservices, functional programming, blockchain, and machine learning). As a client-focused developer, I ensure my client’s apps are clean, fully responsive, bug-free, and secure.
Create and develop innovative mobile and software solutions for a wide range of clients.
Freelancer
iOS Developer
2015 - Present (9 years)
Served as an iOS developer for several clients.
Developed a high-level event management application.
Private Contractor
Software engineer, IT Infrastructure Administrator, Database Administrator
2011 - 2015 (4 years)
Completed various projects while working simultaneously as a software developer, IT infrastructure administrator, and database administrator for a private medical contractor.
Designed and implemented a complete patient management system with full medical records, automated querying and parsing of new data, and dynamic reports/graphs. Utilized Objective C/Cocoa/OSX (for front-end clients) and Ubuntu/MySQL/OpenSSL as a back-end database server and XML for network information exchange.
Observed client’s workflow and identified areas where improvements or a new extension could significantly benefit the project.
Outlined business needs and produced requirements analyses.
Utilized numerous technologies and methods to implement various components of the patient management software system including Quartz drawing engine (for generating new layouts for all contractor's documents and implementing automatic PDF reports according to design rules), CorePlot framework (for generating automatic graphical reports based on medical data), Integrated FTP Client (for scheduling queries), EventKit (for calendar and reminders event generation) and EtPanKit (for automatic e-mail generation and delivery).
Mysis
Software Engineer
2008 - 2010 (2 years)
Developed the Summit Architecture department for a company providing financial services software for retail/corporate banking, lending, treasury, capital markets, investment management, and enterprise risk.
Served as the designated trainer and mentor for new software developers.
Completed development of Summit FT client extensions.
Conducted Summit Maintenance for FT Front (Misys Summit FT is the financial software used by many treasuries, investment banks and government branches to manage their derivative products).
Utilized numerous technologies including Visual Studio, C# .NET, XML as well as Summit Maintenance for back-end, Business Objects: C++, XML, gcc, Solaris.
Gocus is a goal oriented task management system for life insurance agents.
Utilized MVVM architecture using reactive bindings on UI; all data manipulations were done in separate viewModels, the objective being the total separation of business layers from the complexity of the UI; asynchronous calls were abstracted using Rx and launched on different queues to avoid callbacks, reduce complexity while ensuring a responsive UI; - custom data cache designed to improve networking performance.
A significant amount of the UI components were custom built in code using Core Graphics directives (including vector images as UIBezierPaths), to avoid the need for adding resources for every screen size. The interface scales perfectly on any type of screen.
Designed and implemented a complete patient management system with full medical records, automated querying, new data parsing, and dynamic reports and graphs.
Identified workflow gaps and implemented improvements or new extensions to optimize the process.
Technologies used: AES Encryption and decryption, MD5, MCPKit framework, XCode, Objective C, C++, Cocoa, Ubuntu, SSL Client / Server, X.509 certificates management .
This application can be used to quickly organize an event, add invitees, chat with participants, and manage associated tasks related to that event.
Designed for event organizing for business or personal use. User creates a new event or joins one created by another user. Invitees receive an email from an external email service, specifying user has created a new event with an Event ID, and including all event data. Within the event, participants have several options such as chat room, voting on various topics/suggestions, and sending/receiving images.