I'm a mobile application developer who enjoys the challenges of working with cutting edge platforms such as iOS and Android. My expertise includes user interface design, network communications, web services, SQLite databases, and location based services. I have good organizational skills and can easily "switch gears" between platforms, languages, and development environments. I'm a well rounded generalist who can bring immediate value to an organization while quickly learning the particular technology and application domain at hand.
I worked on Android and iOS clients for a cloud based service to catalog media content on user devices. I worked with UI designers to give the Android client a consistent look and feel. I improved tolerance for temporarily dropped connections when switching between cellular and Wi-Fi. I implemented code to keep client caches synchronized with metadata in the cloud. For the iOS client I wrote code to index the camera roll and upload photo metadata to the cloud. I also wrote application startup code to properly handle thread synchronization, avoid blocking the UI, and deal with background/foreground transitions.
I worked on a photo uploader application for Android, BlackBerry, Java ME, and BREW handsets. I worked on user interface and back end software. I also set up build scripts for Android and improved build times for our other platforms.
I worked on the core technology team, developing cross platform middleware to run on a variety of mobile and embedded platforms including Java ME, BREW, iPhone, embedded Linux, and other platforms. I was responsible for maintaining the byte code compiler for UJML, a proprietary markup and scripting language. I also designed and developed a component based architecture for UJML. My work involved meetings with customers, carriers, and OEMs. Our technology enabled UIEvolution to develop mobile applications such as AT&T Media Mall 2.0, MySpace Mobile, ESPN MVP, and others.
I worked on Visual SourceSafe and other developer tool products. I managed several contract developers on sustaining engineering tasks. I analyzed network throughput for Visual SourceSafe and achieved a 30% performance improvement.
Implemented new features and fixed bugs for Visual SourceSafe.
Developed an RTF parser that inserted proper ligatures for hand writing character fonts.
Ported an IEEE floating point library for an embedded microcontroller application.
I worked on a team developing machinery vibration data collectors for predictive maintenance applications. I implemented test fixtures and procedures for maintaining quality control and improving fault tolerance. I optimized a Fast Fourier Transform (FFT) algorithm to cut processing time in half. I designed digital hardware, programmable logic, and firmware for several data collection products. I facilitated communication between hardware, software, and marketing teams to insure a smooth product roll out.
Implemented database manipulation and repair utilities for a UNIX based call center system.
Wrote software for a desktop pension valuation and administration system.
I was involved in engineering support and product design. My initial responsibilities involved production test of disk controllers and CPU boards. I developed test plans, fixtures, and software. I also did fault diagnosis, tracking, and repair. This evolved into an automated circuit board test and burn in fixture that we used in house and sold to other companies. I built a simple bus state analyzer for 68000 microprocessors and wrote an object code disassembler for in house debugging efforts.
Computer repair and services for computer dealers, school districts, and small businesses.
Field and depot repair service for personal and business computer systems.
Wrote actuarial programs for pension and life insurance applications.
Wrote financial analysis programs for a study of the tax structure of South Dakota.
Assisted computer science students in using the facilities of the USD Computer Center.
BA in mathematics with minors in computer science and history.
Graduate study in mathematics.
Graduate study in computer science, probability, and statistics.
Electronics, digital and microprocessor circuits.
Available upon request.