Extremely versatile software developer with over 20 years of experience, a record of producing tangible results and intellectual property, and a history of guiding teams to the right place at the right time, i.e., lean up front, paying off technical debt when the time is right.
- "Recommending search terms using collaborative filtering and web spidering".
- "Appearance and positioning annotation text string and base text string specifying a rule that relates the formatting annotation, base text characters".
@WalmartLabs | Kosmix San Bruno April 2011 to present
- I lead the @WalmartLabs algorithmic pricing application development team.
- Whatever it takes to provide Walmart Global eCommerce merchandisers with the ability to optimize and execute prices multiple times per day.
- Guide a team which does application development in Rails. Validations to ensure that Walmart doesn't encounter pricing catastrophes. 100% uptime.
- Authorization/privileges graph server development in Golang. It builds a 10 million vertex graph in a few seconds. It answers typical graph connectivity requests in microseconds, 1 or 2 milliseconds if garbage collection kicks in. 100% uptime.
- Authentication server development in Rails to support single sign on for multiple web applications with authentication against Active Directory over LDAP. 100% uptime.
- Java if I have to, Scala preferred. Python too.
- Enough bash fu to drop a 30-year-old jaw every now and then.
- Vigilant code review. My team reviews every line of code.
- Even more vigilant testing and continuous integration. My team hits 80% line coverage on the server side.
- Around the clock support.
- Global markets. US, Brazil, Colombia, Australia.
- That whatever, in my case, includes:
Independent Software Development
Oct 2003 to March 2011
- Developed a Ruby/Rails/PostgreSQL/Apache/Passenger grants management system for the California Institute for Regenerative Medicine, a California state governmental agency charged by the electorate with distributing $3 billion in funding for stem cell research.
- Developed and continue to manage a Ruby/Rails/PostgreSQL/Passenger/Apache web application for the marketing, scheduling, and signup for a series of baking and pastry classes. This currently occupies 0% of my time but it's still ticking.
- Developed a web application in Ruby/Rails/MySQL/Mongrel/Apache to provide database-driven camp and location information, process customer reservations and payments, and handle CRM for ABK BoardSports. Another one which was written long ago, occupies 0% of my time, but is still ticking and serving live customers.
- Created multiple geospatial web applications using Ruby/Rails/PostgreSQL/PostGIS, then Python/Django for Urban Mapping Inc.
- Developed iPhone applications for distribution in the AppStore along with a push notification service involving an OAuth Consumer, Google App Engine, the Twitter API, a custom server application written with Python/Django/PostgreSQL/WSGI/Apache, and Apple's push notification servers. Long defunct, but it was mobile before the world was mobile first.
- An investment portfolio management web site to suit my personal needs complete with automatic FIFO lot matching, overrides for tax-advantaged non-FIFO lot matching, wash sale flagging and adjustment, realized/unrealized gains, corporate event handling such as symbol changes, splits, dividends, acquisitions, and rate of return calculations factoring in the time value of dividend payments. Originally created with Ruby/Rails/MySQL, then rewritten with Python/Django/PostgreSQL/WSGI/Apache and an OCaml lot matching engine.
Owner, Chief, Software Developer, Windsurf Guru, Scuba Guide, Janitor
Villa Bientu Bonaire, Netherlands Antilles Mar 2005 to Feb 2007
- Owned, marketed, and operated Villa Bientu, a 4-unit bed and breakfast in the Caribbean on Bonaire, Netherlands Antilles.
- Developed an outward facing web application using Ruby, Rails, MySQL, and Google AdWords to handle all marketing, reservations, and payments for our Caribbean bed and breakfast.
Software Engineer | Engineering Manager
Overture Services Inc | GoTo.com | Cadabra.com San Mateo Jun 1998 to Oct 2003
- Designated as a key contributor when Cadabra.com was acquired by Overture Services Inc.
- Independently identified a need for, implemented, and subsequently patented a search phrase recommendation engine in Java using a k-means based collaborative filtering system.
- Led a team of three developers in creating a books, music, and video comparison shopping engine.
- Created a metadata editor using Java/Swing/AWT for a reverse-chaining inference engine.
Random Noise Inc San Francisco Sep 1997 to May 1998
Adobe Systems Inc | Frame Technology Inc San Jose Sep 1987 to Sep 1997
- 10 years of C programming.
- Just about every activity at Adobe and Frame revolved around developing features for the FrameMaker long document publishing application. I specialized in development of the most advanced WYSIWYG area composition engine of its time, including a patented method for Japanese text layout.
Symantec Corporation Cupertino Mar 1986 to Sep 1987
White box software quality assurance.
- Wrote software quality assurance tools using Apple's software development tool of the time, MPW, for testing Q&A, Symantec's consumer oriented, flat-file database.