||Native iOS (v3.2 - 7.0) development with Objective-C (1.0, 2.0) using
CoreData, StoreKit, AVFoundation, Social, MediaPlayer, UIKit and other
frameworks ever since the fist SDK was released. Appcelerator Titanium, Rhodes, and PhoneGap frameworks (for multi-platform development).
||Java, Google Guava, Spring 3, TestNG, JSON, FreeMarker, Maven, Gradle, Ant, Jenkins.
||Domain-Driven Design, Design Patterns, Test-Driven Development, Continuous Delivery, Continous Integration, Agile.
2011, Beautiful Code Factory, Inc.
Sr. Mobile Developer
- Designed and implemented a rapid app developement platform which is able to automatically create multi-platform native mobile apps for iOS, Android and Windows stores from common specification/media by applying native code templates, features and plugins.
- Produced 40+ apps on iTunes App Store (alone), as well as Android (Google Play / Amazon), and Windows App Stores.
- Most of these apps have a 5-star rating, great reviews and loyal customer base.
2011, Expedia, Inc.
Software Development Engineer II
- Owned "Flights Domain" which is responsible for modeling flights for searches and other areas.
- Significantly improved existing domain design and coding
practices, implemented new features, continuous refactoring.
Mobile Team / Mobiata
- Worked on an awesome project with the mobile architect to create the "Mobile API" for Expedia's iOS and Android mobile apps (which are some of the highest rated apps in the World) and learned a lot in the process.
2007 - 2011, Microsoft
Software Development Engineer
Business Online Services R&D Core
Involved in many aspects of data center automation, deployment, virtual machine management, networking and PKI.
- Created "Powershell Best Practices and Style Guidelines" that were
adopted by my group. Gave many presentations on powershell scripting, C#
commandlets and v2 features.
- Designed and Implemented Synthetic Transactions framework in C# and
Powershell. It is being used world-wide as part of health and monitoring
solution for Microsoft Online (that compete with Google Apps).
- Implemented a Certificate Replacement tool which is responsible for updating expiring certificates in multiple data centers.
- Automated processes of delivering data stream (logs) for analysis (mining).
2004 - 2006, Klimb Consulting
Worked on all aspects of software development process, delivering the following projects from start to finish:
- Background Investigation System (for a Private Investigation
One aspect of this system is a web application where investigators can
login and start a background check on subjects. The data is pulled from
multiple sources (commercial and public) and aggregated in a single
report which conforms to a strict government standard. Hanford Nuclear
Facility and many other large NW companies use this software during the
hiring process. CakePHP MVC Framework (RoR clone), Apache, PostgreSQL.
- SpyLock, a security tool for Mac OS X that encrypts
files whenever a special hardware device is present (the key).
Optionally has special effects like speech synthesizer to speak names of
the files that are being processed and matrix-like transparent code
scrolling just for fun. Used GnuPG, IOKit, and Java Swing.
- Project Management web application that tracks projects,
tasks, resources, invoices, and other aspects of running a small
business. Initially it was created for my own needs, and evolved into a
larger custom solution for a client.
- Contact Manager: web application for managing contacts. I
also created a plug-in for Outlook and OS X Addressbook for exporting
contacts into it. Used Ruby on Rails, AJAX (Scriptaculous), MySQL, C#.
- Content Management System web app with WYSIWYG editor,
hierarchical pages, blog, file attachments, data archival/restore, RSS
feeds. Built with PHP/Pear, Smarty, PostgreSql.
7/2005, Rock Climbing Coach, Klimb
I am very passionate about rock climbing. In July I took a break
from software and coached clients for the upcoming US Climbing
Nationals, and World Cup championships in China. We used Klimb (the
software I created) to track progress and prep for peak performance. My
client's performance increased dramatically:
- 2nd in US Climbing Nationals, Metro Rock, Boston, MA.
- 6th in Sport Climbing World Cup, Beijing, China.
2003 - 2004, Klimb
Created "Klimb", a journaling software that helps coaches track
athletes progress and train more efficiently, syncing peak performance
with competition dates.
- Klimb was implemented using Java, Swing, jGraph, log4j.
- Created a web application for marketing, processing payments,
unlocking trial versions, and providing automatic updates. Used Zope 2,
Python, Java, XML.
- Eventually most of Klimb code was release to Open Source (under GPL) and is being maintained by other individuals.
2001 - 2003, ToolBuilders Laboratories
Software Engineer, Spartan-1 Team
- Researched common vulnerabilities in C code for "Spartan-1" (a
static source code analysis tool we created to discover security
vulnerabilities in C code).
- Security review for Storm Linux installer.
1997 - 2001, Millennium Products
Started a software company while still in high school, focusing on promoting Linux.
- Created a Linux distribution targeting simplicity for
non-experienced users and a simple installation process. It was used to
build our "Millennium Linux" dual-boot PCs (Linux/Windows).
BS in CiS, Eastern Washington University
When I started college I was already working full-time as a
professional developer. I challenged many computer science courses (took
final exams), was chosen to lead nearly every team project.
BS in "Concert Piano and Music Theory", Magadan Music Academy
I am very fortunate to be born into a family of musicians. My
mother is a concert pianist and my dad was a director of 3 music
schools. I inherited "perfect pitch" from my mom, and been playing piano
since I was 4.
- 1st place, Regional Piano Competition, 1994 (Jazz)
- 1st place, Yagodnoe Piano Competition, 1992 (Classical)
Professional Training / Seminars / Conferences
- 2007, "Planning and analysis of online experiments" by Microsoft.
- 2007, "Better Estimation Using Wideband Delphi and Planning Poker" by Microsoft.
- 2008, "Developing with Design Patterns" by Net Objectives.
- 2008, "Refactoring, Unit Testing, and Test-Driven Development" by Net Objectives.
- 2009, "Windows operating system internals for developers" by Microsoft / Net Objectives.
- 2009, "Advanced Software Design" by Microsoft / Net Objectives.
- 2009, "Microsoft .NET threading in C#: Building Responsive, Reliable, and Scalable Code" by Net Objectives.
- 2012, "No Fluff Just Stuff Conference" (on Java and Mobile) by NFJS Software Symposium.