William Power *** Work Experience *** Sr. iOS Developer, OfferUp, March 2015 - current - OfferUp iOS App. (https://itunes.apple.com/us/app/offerup-buy.-sell.-simple./id468996152?mt=8) Buy and sell used second-hand goods locally. - Prepared codebase for automation by removing manual steps from the 'pod install' flow. Created one-step build script. - Refactored legacy codebase to enable upgrade of dependencies and tools. - Implemented dynamic view instantiation system that enables A-B testing of arbitrary layouts based on lists containing agreed-upon ViewController names. - Fostered weekly discussion among the engineering team of readings from the book “Clean Code.” Software Engineer, Motorola (Twisted Pair), Sept. 2014 – March 2015 - WAVE Mobile Communicator. (http://www.twistpair.com/index/communicators-mobile and https://itunes.apple.com/us/app/wave-mobile-communicator/id505543446?mt=8) A VOIP app that supports push-to-talk voice interaction with land-mobile radios according to server-configured rules. - Implemented features for point-release updates of the main app and an internally-used network-layer SDK while evolving the legacy codebases for maintainability and ease of iteration. - Enabled easier SDK versioning by creating a custom Ruby script which generates a Podspec and the associated directory structure for the SDK, along with team adoption of Git tagging of SDK releases. - Fostered weekly ‘lessons learned’ meeting to share knowledge among developers, including discussions of readings from the book “Clean Code.” - Applied best practices in use of Git, Github, CocoaPods and Jenkins to increase predictability and stability of builds. Sr. Software Engineer, Infospace, Jan. 2014 – August 2014 - Branded news feed applications, Zoo and Dogpile. (https://itunes.apple.com/us/app/zoo-search/id826883105?mt=8 and https://itunes.apple.com/us/app/dogpile-search/id526817899?mt=8 ) Deliver branded and themed news viewer applications for Infospace’s owned & operated properties. - Developed features in SDK, delivered to Infospace partners, which provides parameterized access to news and ad services. - Created highly optimized constraint-based layout system that allowed for dynamic content sizing of UITableView cells based on data type and available properties. Optimized and simplified content feed structure. Software Consultant & CEO, Rogue Power, LLC, April 2013 – December 2013 - Music recording application. iPad app for recording musical performances. ‘Big’ features: Recording, playback, recording management, song transcoding, waveform visualization, various server interactions (account/performance info, uploads). Less-common SDKs used: Core Audio’s lowest level API (Audio Units), Core Audio’s mid-level API (Audio Queues), External Accessory (required working closely with device vendor). UIAutomation for integration/acceptance testing (JavaScript used to drive application interactions). - Zangadoo iPhone/iPad game. Completed finishing touches on this app, which I originally created while at Ratio Interactive (details below). SDK updates, then app store submission. Software Engineer, Ratio Interactive, April 2010 – March 2013 Agile consulting environment. Rapid iteration and delivery. Objective-C / iOS Projects: - Zangadoo iPhone/iPad game. Cocos2d with Box2d. Set up tool chain for off-site level designers using off-the-shelf solution (SpriteHelper/LevelHelper). Wrote server using Python & Tornado, hosted on AWS to allow level designers to push to server. Augmented Cocos2d’s CCTextureCache to load from Documents directory (cached by timestamp) so we could quickly iterate on level design. Engaged from design/planning through delivery (~6 months). - Epub reader for subscription service (iPad) [shipped]. Wrote data layer and network layer based on spec for existing and newly-created client-provided endpoints. Used storyboards to create app screens and most of the app navigation/segue flows, including popovers. Engaged from start of development to release (a few months). - AllRecipes Video Cookbook (iPhone/iPad) [shipped]. Custom UIControllers that behave one way for iPhone, another way for iPad. Slightly different navigation behavior on iPad. Dynamic layouts based on content from servers. Integration of and patches to a couple great time-saving open source components (SlideMenu and GridView). Involved in project from roughly mid-way to release (a few months). (https://itunes.apple.com/us/app/allrecipes-video-cookbook/id575737564) - Pirq (iPhone) [shipped point release]. Add features for point release: reservation of discount, punch card behavior. Fixed bugs. (a few months) (https://itunes.apple.com/us/app/pirq/id450432947) - Real Networks’ Firefly beta release [shipped]. Facebook integration, UIKit-based view framework, privacy preferences management & communication to server about privacy. (a few months) - iCookbook (iPad/iPhone version) [shipped point release]. Add BrightCove video support. Created library to manage cook timers. Wrote Python scripts to update SQLite store deployed with app. Wrote Objective-C to manage schema update of on-device database (for changes occurring in a ‘point’ release). Engaged intermittently over the course of a few years. (https://itunes.apple.com/gb/app/icookbook-thousands-name-brand/id420762854) Flex/ActionScript Projects (first projects at Ratio): - Cloud-based cross-platform media solution. UI & business logic. Very customized UI components that required implementation once in Halo and again later in Spark; internationalization (German) as well as UI- and font-related issues dealing with characters not always present in embedded fonts. (~1 year) - Sales tool for digital signage in large sports venues. UI & business logic. Server API/data design discussions as needed to support app behavior. Media content management. Multiple deployments in live environment. (months) Software Developer, The Active Network (Thriva), Jan. 2008 – June 2009 - Developed Flex UI & business logic for complex multi-tiered RIA & accompanying SDK. Using Agile development approach, completed 1-2 features per 3-week Sprint. Joined team early in the development cycle, stayed through beta and public releases. Program Manager Intern, Microsoft, May 2007 - August 2007 Wrote Feature Spec for Windows 7's File Save/Open Dialogue. Triaged bugs for Vista's SP1. Software Developer Intern, Microsoft, May 2006 - August 2006 Specified and wrote plug-in for Outlook using Windows Desktop Search (WDS) API. *** Tool Kit *** Languages - Objective-C (4 years daily use) - ActionScript 3.0 (4 years daily use, but less recently) - Python (intermittent light use for creation of tools) - Ruby (light use for creation of tools and for Cocoapods interactions) Tools - Xcode - AppCode - Git - Cocoapods - FlexBuilder/FlashBuilder - Eclipse - Subversion *** Leadership Experience *** Chairman, WSU’s IEEE Student Chapter May 2005 to May 2006 - Managed an engineering-centric career fair end-to-end. Improved condition and layout of the student lounge area. Supported an initiative to provide better wireless access in the student lounge. Peer Mentor, Kelly Fitz’s Advanced Data Structures (CS 223) January 2006 to March 2006 - The Peer Mentor program was created to bolster retention of students in CS223, a difficult 'weed-out' course. I was one of three Peer Mentors chosen based on standing in the department and prior performance in this particularly difficult class. Responsibilities included reviewing projects with students twice per week, once to help them plan their strategy and once as a technical code review. Teaching Assistant, Jack Hagemeister’s Data Structures Class (CS 122) June 2005 to August 2005 Selected as a TA while an undergraduate, based on performance in the program. Responsibilities included running a lab section that focused on teaching underlying principles of coding in C, C++ and C#.NET. Created a standardized grading system that was used in both my section and another TA’s section. *** Education *** B.S. in Computer Science (cum laude) December 2007, Washington State University Game Developer Certification June 2004, Edmonds Community College Associate of Arts & Sciences June 2000, Edmonds Community College *** Hobbies / Activities *** Host of East-Side Meetup Group: Seattle Indie Comic and Game Artists (SICAGA) http://www.meetup.com/sicaga/ Pencil, charcoal, and marker drawing http://williampower.deviantart.com/