4/2016-3/2017: Senior Software Engineer, ThinAir:
Created C# Outlook AddIn and WIX installer. Created custom C# SharePoint IRM (Information Rights Management) dll which encrypted and decrypted
SharePoint documents as they were uploaded and downloaded using ChaCha20 and AES encryption. Created HttpModule in C# for SharePoint
which renamed ThinAir encrypted files on download. Setup on-premises Active Directory domain in Azure (IAAS) with Microsoft SCCM and
30 Windows client machines; configured client machines using Group Policy and SCCM to automatically install ThinAir software, automatically login
as a test user, and load-test ThinAir product, simulating hundreds of users. Wrote various WPF/C# apps and Powershell scripts for internal use.
10/2013-3/2016: Senior Software Engineer, Aspera:
Integrated Aspera's high-speed data transfer technology into SharePoint 2013 (on-premises) and Office365 (Sharepoint Online) using a hybrid Provider-Hosted/SharePoint-Hosted App.
Implemented Remote Web as an ASP.NET MVC web application supported by a Windows Service, communicating via WCF and Web API. Implemented custom SharePoint Search solution.
Ajax, REST, Web Api, C#, etc. Configured, coded, and troubleshot various authentication schemes including Azure AD, WS-Federation, Azure ACS, STS, Active Directory, etc.
9/2012-9/2013: Co-Founder, Lead Developer, Reprise Apps:
Developed Outlook Add-In using WPF, C# and SQL Compact Edition; developed Website and Web Services on Azure
and Microsoft SQL Server;
created installer and build system using Advanced Installer
Created a weekly mailing system using Windows Azure Service Bus and Office 365.
12/10-9/2012: Senior Software Engineer, LiveLoop:
Add-In with TaskPane using WPF, C#, Expression Blend, IDTExtensibility2, IRibbonExtensibility,
and ICustomTaskPaneConsumer; developed interop between .Net and Python;
developed Windows MSI installer; developed complete ASP.Net website with user registration and
dynamically generated, customized (per user), signed installer download WebForm;
developed Windows Shell extension; ported website to Azure.
2/08-12/10: Senior Software Engineer, Xobni:
worked on various features of Xobni, an Outlook plug-in,
using C#, WinForms, and ASP.Net Web Services; Developed Xobni's AutoSuggest, a replacement for Outlook's email suggestions;
developed InspectorX, a program for diagnosing customer problems; Developed
the "Problem Notification Feed", a mechanism that notifies customers of system configuration
problems, incompatibilites with 3rd party applications, and data corruption. Developed Xobni Controller,
an enterprise solution for deploying Xobni via Active Directory
and Group Policy
functionality into Xobni; worked on Trivia Manager; created a Tracking Manager system,
an api that developers can use to send back stats from Xobni installs.
6/05-2/08: Senior Software Engineer
Prosper Marketplace, Inc.:
Various C#, ASP.NET, Web Services, WinForms, Windows Services, SQL Server 2000 projects;
Created system for initiating bank ACH, wire, and checks via XML and NACHA
file formats; created system for authenticating and pulling credit profiles from
; created system that generated monthly account statements in PDF format for customers; created composite custom
control for instant account verification via Yodlee
created system to submit 1099s
to Fed and State,
created system for sending weekly XML files to Collection Agencies,
created system for sending Metro2
files to Credit Bureaus (Experian
), wrote various
applications to read, generate and modify Excel
7/03-6/05: Contract Programmer, Cole Valley Group:
Programmed in ASP.Net and ASP, administered
managed SQL Server 2000 database for SFSOS
website and opt-in mailing list, managed various other website and databases, ported
websites to new machines at new ISP, debugged and fixed various Active Directory/C#/SQL Server performance problems
7/02-6/05: Contract Programmer, AdvisorSites:
Using Perl and C,. created Milter
email archiving system to help financial advisor
customers comply with Sarbanes-Oxley
requirements. Created MFC application to allow customers to download and view
archived mail. Various IT and programming tasks including Sendmail and SASL
configuration, security audits, implemented web-based administrative screens, etc.
Wrote system which searched email text and attachments (PDF, Excel, Word,
etc.) using Google-like algorithm for finding words and phrases "near" each other
8/94-6/05 (Various companies listed below):
5/92-7/94 Windows Developer, Berkeley Systems, Inc.
- Sun Microsystems: Java/RMI/JDBC/Sybase
programmer, Microsoft SQL DBA, NT & IIS Admin
- net.world/Cresta Systems: Contract ASP,
- Turner New Media:
Wrote "The Jetsons Game", "The Jello
Screensaver", "The Johnny Quest Game". (AOL Keyword: Cartoon).
Wrote a Web version of a segment of "Koala Lumpur" game; Created demo
CD of "The Last Express" game.
Wrote the client Windows application for the first version of ChessmasterOnline
- Foote, Cone, and Belding:
Wrote various screensavers for Levis, Nabisco, Chivas in C++/Win32
- Nickelodean Online:
Wrote "The Crank", a digital comic book player in C++/Win32 (AOL Keyword: NICK).
- Sega Online:
Wrote a Shockwave, a Java, and a C++ Football game.
- The Monster Board:
Wrote the Monster Board Screensaver (www.monster.com).
- SegaSoft/Sega of America: Contract Perl, C++, Java, SQL
- WindowChem Software/ChemSW:
Wrote various Chemistry programs (Stoichiometry, Standard Curves) in C, C++
- CarClub: Supported T-1 and Frame Relay; configured Cisco firewalls; wrote various Perl scripts.
MFC/Visual C++ contract programmer; wrote Optidose application
- Visa Online:
Wrote 3 games (Hangman, VisaCard, and "Spatial Relations".) in C++
- NTT Software:
Wrote the front end for NTT's Interspace project in C++.
Contract C++, MySQL programmer
- Printing Industries of Northern California:
ASP and Perl programmer
- StrategicSolutions.net LLC:
Contract programmer, SQL DBA; security lockdown expert
- PlasticWeb, Inc.:
- Hypnovista Internet Services: As part of two-man team, ran a
small ISP, (Apache,
Bind, Cisco routers)
- Japanese Trade Organization:
Wrote the "Bullet Train Schedule" in Lingo and Perl.
- Living Books:
Wrote Perl and Shockwave modules for the Living Books site.
- The Grubb Co.:
Created Perl search engine which searches through real-estate listings
on the Web (www.grubbco.com).
- Blastorama: Contract programmer (Java, Perl, cgi scripts,
- Red Dot Interactive:
Wrote the Red Dot Java Applet, Wrote 4 Coca-Cola screensavers, the Red Dot Screensaver.
- Robert Lundahl & Associates: Wrote various Java applets.
- H&M Systems Software:
Wrote "African Adventure", a strategy board game for Windows, wrote "Mill-Pro", a strategy board game.
- Shoptaugh Games:
Wrote "Shuttles", a strategy board game in C++/Win32.
- US Games:
Wrote the Artificial Intelligence Engine for a Checkers game in C++.
- Big Chief Software:
Wrote the "Novell" screensaver in C++. Wrote various Perl scripts.
: Wrote two screen saver
modules for the AfterDark "Star Trek" module pack. Wrote two screen saver modules
for the AfterDark "Disney Collection" module pack. Ported four modules from Macintosh
to Windows for the AfterDark "Star Trek" module pack, and four modules for the "Disney
Collection". Worked on C++ cross-platform library for Macintosh and Windows. Made
additions and upgrades to AfterDark for Windows engine.
12/90-5/92 Windows Developer, BARRA
: Wrote, maintained, and supported a finance program
for Windows 3.0 which allowed the user to graph financial series in different currencies,
perform hedges, calculate statistical information, create portfolios, print graphs
and portfolios, etc. Wrote an MS Windows program which generated data files for
existing DOS applications, and then ran the DOS applications under Windows.
4/90-12/90 Windows Developer, Higgins Group
: Systems Analyst, Enable Software Maintained
existing software in C. Added cut and paste feature to Higgins program. Wrote Windows
applications which implemented a calendar, rolodex, scheduling, notified user of
2/89-4/90 Windows Developer, Datawiz International
Designed, wrote, and maintained MS Windows 2.0 and OS/2 1.1 Presentation Manager
programs which interfaced to the Microsoft SQL Server, and allowed the user to enter
and display information from the SQL database (RGB values, text, numbers.) Wrote
and maintained applications which allowed the user to convert data from the SQL
format into other formats (e.g. Cobol, HP Image, DB2), and vice versa.
University of California Berkeley
B.S. Engineering Physics, August 1988