Senior iOS Application Developer
Michael A. Nachbaur
Vancouver, BC, V6B 2Z4
Canada
****@********.***
KEY SKILLS
iOS application development experience4 years Objective-C/iOS development experienceExpert experience in UIKit, Core Graphics, CFNetworking, Core Data, MapKit, etc.Well versed in all areas of iOS development, including encryption, memory profiling, performance optimization, animation, custom view controller containment, gesture recognizersExperienced at building reusable SDKs for iOS developers, including API documentation, good and consistent API design, etc.Passionate about building excellent products that exceed user expectations, with performance, stability, security and good design practices in mind.General development experience18 years Unix (OS X, Solaris, AIX, Red Hat and derivatives, *BSD)17 years Perl experience16 years Web development experience (Perl, JavaScript, C, PHP)15 years Database (MongoDB, Oracle, PostgreSQL, DB2, Sybase, MySQL)11 years XML/XSLT experience10 years Advanced JavaScript experience (Node.js, MooTools, jQuery, YUI, and raw JavaScript)4 years HTML5/CSS3 experience3 years Amazon AWS experience (EC2, S3, SQS)High-performance web application development utilizing caching, Edge-Side Includes, clustering and cloud computingQuick learner and highly adaptive to different environmentsFamiliar with agile development patterns (Lean, Extreme Programming, Kanban, etc), continuous integration
systems, Test-Driven Development and telecommuting / remote development environments.Git, Subversion, Perforce, CVS version control systems
iOS Applications
2009 - Present
Chatter is the "Social Enterprise" component of Salesforce.com. It is a social media platform for businesses and
enterprises for internal collaboration, sharing, and keeping up-to-date on the goings on of your business.
Chatter for iOS is a Universal application with a very custom user experience, encryption, offline support, 100% native-code with high performance rendering.
2012
Docset Viewer is a developer tool for storing and reading Xcode developer documentation from an iPad or iPhone. It allows for complete offline
vieweing of documentation, integration with AirPrint and AirPlay, searching, sharing documentation references (complete with its own URL shortener for sharing
over Twitter, email, SMS, etc), peer-to-peer transfer of documentation, and many other features.
2010
A Universal music application mimicking an MPC-style digital drumpad. Multitouch support, swipe gestures for switching between instrument sets,
and In-App Purchase for downloading additional instrument sets.
2010, 2012
Retro puzzle-style Universal game aiming to provide a peaceful yet challenging experience for an iOS player. Game Center integration and Core Graphics rendering.
2009, 2011
First native application I wrote, and then later updated with retina graphics, this is a simple fortune cookie app using gestures and sound to read their daily fortune.
EXPERIENCE
2010 - Present
Lead Member of Technical Staff
Vancouver, BC
Salesforce.com
Lead developer of .Rebuilt the 2.0 release of the app from scratch, especially including the network architecture, client-side offline caching mechanism, image caching, encryption libraries, etc.Built 90% of the application logic in a reusable library so other internal applications could reuse the application's components.Built and configured our automated build scripts and Jenkins Continuous Integration environment, now managing iOS, Android, Blackberry and HTML5 mobile-web application builds.Mentored and directed a team of up to 6 senior iOS developers.Extensive custom UI component development, including container view controllers, custom gestures, CALayer and drawRect-based graphics.Advanced memory profiling and performance experience.
2009 - Present
Owner
Vancouver, BC
Decaf Ninja Software
Owner / President of my own startup business specializing in iOS applicationsDeveloped several in-house applications for the iPhone and iPadCreated iOS applications under contract across the US and CanadaManaged client requirements and coordinated several international contractorsDesigned and built client/server APIs, complete with web-based implementations of iPhone client functionality, URL shorteners, in-app purchase validation, etcAdvanced Objective-C and iOS application developmentAdvanced Node.js, MongoDB, Redis, Google Maps, cross-platform JavaScriptBuilt a continuous-deployment infrastructure, based on Jenkins, for performing automated deployment and
system testing of server-side updates
I created Decaf Ninja Software as a part-time endeavor to work with the burgeoning mobile development
market, and it has been highly successful. Initially developing applications using PhoneGap and becoming a
major contributor to the PhoneGap project, my development of mobile apps has progressed to working on
several client contracts that involve both client-side and server-side components. Since then, I have moved
on to developing native applications in Objective-C, and have 6 apps in the Apple App Store, including 3 Universal
applications.
Parking Mobility: Client/server
and for allowing users to find
handicapped parking spaces, and to report violators to the city. The client is written in native Objective-C,
utilizing Geolocation services, mapping, camera control, asyncronous HTTP uploads, etc. The server is written in
Perl/Catalyst/KiokuDB. The marketing portions of the website are built in Wordpress, which seamlessly
integrates the Perl-based server into its existing templates. The server's code-base is managed using an
automated continuous-deployment system that performs unit and system tests before deploying first to a
staging, and then production, environments on all production servers.
2007 - 2010
Sr. Software Developer II
Vancouver, BC
Sophos Inc.
Senior developer leading up development of the 's administration console:Created a UI Ajax framework in Perl/JavaScript that allowed for fully inheritable HTML/Perl/JavaScript user interfacesCreated a modern user-interface utilizing a minimum of server-side resources fully backwards-compatible
to IE6Worked on anti-spam and anti-virus filtering projects involving encryption, PDF, high-speed Perl/C
filtering and analysis codeAdvanced Ajax JavaScript, PDF generation, XSLT, several types of encryption, and cross-browser
compatibility
Sophos is a large international security vendor specializing in anti-virus and anti-spam software for
large corporate environments. My team developed the Sophos Email Security Appliance which provided
on-site security and policy filtering of email traffic at our customer's sites. Clustering, automated
remote upgrades, LDAP and ActiveDirectory integration, PDF generation, SNMP notification and many other
technologies were developed and integrated with this appliance. My role as a senior-level developer
placed many different demands which developed me into a "Guru" role within the office.
I've developed
the web application framework for rendering administration interfaces, including DHTML popups, server-side
Ajax communication, localization, and more. Additionally I've kicked off several internal projects within the
organization to utilize modern technologies (such as MongoDB) to provide additional insights into our
customer's experience.
2005 - 2007
Software Developer
Los Angeles, California (Telecommuting)
Nami Media Inc.
Front-end software developer of Nami Media's next generation application:Designed and built the design, infrastructure, and application code for the application's web interfaceRefactored and adapted to changes in requirements and user feedback
This position was a rapidly changing environment, and as such was built using a Perl pipelined event-based
MVC framework to flexibly extend our Ajax web services and HTML interfaces, built using XSLT. The database
back-end was a hybrid between PostgreSQL and a pure RDF datastore. The client interface was made more
flexible and interactive by the use of the Dojo Ajax JavaScript library. This position involved plenty of
RDF, SPARQL and database optimizations to bring those technologies to prime-time.
2002 - 2005
Software Developer
Salmon Arm, British Columbia
Sun Country Cablevision
Sole developer for a regional cable ISP:Designed and developed a customer management web application to automate company policyAutomated maintenance and monitoring of cable modems and their systemsBuilt an automated mail server and integrated that with the customer management applicationDeveloped Firefox extensions to integrate cusomer service desktops seamlessly with the customer management applicationCreated a web-facing customer self-management and -billing portalIntegrated said web application with 3rd party billing systemsSupported and assisted in system administration and difficult batch tasks
In this position, I supported the company's automation and development needs ranging from developing a CRM
application for managing customer information, troubleshooting tools for diagnosing cable modem outages,
developing a PDA-based application for field technicians to troubleshoot their service calls, and customized
Firefox extensions to tie all this in to our customer service desktops.
The following technologies were heavily used in the course of this position:
XML/XSLT, RDF, Ajax, SNMP, Mozilla Firefox extensions (including XUL and advanced JavaScript)
2001 - 2002
Software Development Contractor
Kent, Washington
Sun Country Cablevision
Full-time remote contractor for a regional cable ISP:Provided remote system administration expertiseDebugged and repaired the company's existing CRM applicationStarted development of a next-generation custom CRM applicationAutomated email account management, and other account services
With this position, I started a triage endeavor to upgrade their manual paper-based processes, poor information
management and automate manually-performed tasks. Initially a remote telecommuting position, this became a
full-time position once I relocated to Canada.
1999 - 2001
Internet Developer III
Kent, Washington
Recreational Equipment Inc.
Member of the development team supporting the company's online store REI.com:Worked on goal-oriented projects to improve the company's online storeDeveloped back-end batch processes to integrate IBM's WebSphere E-Commerce system with the company's back-end order fulfillment systemHeaded up a rearchitecture investigation to find and evaluate alternative vendor or custom solutions to replace the company's ailing WebSphere architectureWorked with software design and management methodologies to work with a large teamInteracted with graphics design, sales, and marketing teams
1997 - 1999
Perl Software Developer / Web-Database Developer
San Diego, California
ElectriCiti Inc.
Lead developer and project manager for this ISP and web development firm:Developed and maintained a proprietary SQL-based templating language, similar to PHP, used by in-house web development staffManaged a team of web- and graphics-designersWorked on-location with clients to determine requirements and conduct design interviewsDeveloped high-risk sites that junior developers did not have the skills to handleMultitasked between multiple projects simultaneously
1995 - 1997
Technical Support / Asst. System Administrator
San Diego, California
ElectriCiti Inc.
I assisted the systems administrator in network administration and junior administration tasks, handled technical support issues, and interacted
with "walk-in" users with service issues.SOFTWARE / EDUCATIONAL
2009 - 2010
PhoneGap is a development framework intended to empower developers to create cross-platform native mobile
applications using web technologies. By utilizing the WebView components of most modern smartphones, developers
create applications in HTML/JavaScript/CSS3, which are then run on native hardware such as the iPhone, Android,
or Blackberry.
I'm the original author of the iOS port of PhoneGap, designed and built its original plugin and "gap" API
architecture, and contributed to much of the original project.
2001 - 2007
AxKit XML Application Server
On the project management committee (PMC) for this project, which is a
Apache/mod_perl pipelined application server for transforming XML on the web.
2004
OSCON (Open Source Convention)
Presented a lecture on Client/Server development techniques in JavaScript using the Mozilla/XUL platform. This
discussed techniques that have since been named Ajax, and are just now becoming common-place as an "advanced"
technique.
AFFILIATIONS
6/2003 - Present
Dahut.pm
Founding Member