Hew WolffExperience · Languages: Ruby, Java, TypeScript, Haskell, JavaScript, C/C++, HTML/CSS, Python.
· Platforms: web, desktop, embedded, mobile.
· Web: Ruby on Rails, Node.js, REST, HTTP, React, Spring, JEE.
Goals · Collegial team, good social mission, code quality, work-life balance (no on-call), remote-first. Pluses: tough interesting problems, back end, math and algorithms, functional languages.
Software Roles Senior Software EngineerLively (February 2020 - October 2023) | San Francisco, CA | In Node.js/TypeScript/React app:
· Rewrote and extended core money-movement modules transferring millions of dollars per day on the Automated Clearing House network.
· Added automatic daily account reconciliation, designing for maintenance of PostgreSQL queries.
· Added bank API call using OAuth protocol.
· Rewrote IRS tax file generation, adding automated tests.
· Added claim review flow using CSS Flexbox for layout.
· Helped create unit-testing culture with talks and examples.
Senior Software EngineerFlow Cannabis Co. (Event Horizon Technologies) (August 2018 - November 2019) | Oakland, CA | In Ruby/Rails app:
· Designed and implemented back end for inventory audits.
· Tracked down and fixed inventory bugs using ORM audit tool.
· Added features to wholesale order flow.
· Started engineering practices document.
Software EngineerSquare (October 2017 - April 2018) | San Francisco, CA | In Java/Go service-oriented high-availability system:
· Designed new REST API feature touching several other teams, resolving conflicts.
· Served in on-call rotation covering several production services.
Software EngineerIndeed (July 2015 - December 2016) | San Francisco, CA | In Java/Spring/React service-oriented system serving millions of pages per day:
· Created index for querying large distributed database to measure user behavior, using custom declarative language.
· Extended job-state tracking across multiple services.
· Made web app for testing several data-science models.
· Cowrote algorithm for tracking user activity in MongoDB.
· Documented internal tools.
Senior Software EngineerPlatphorm (May 2013 - March 2015) | San Francisco, CA | In Ruby/Rails app serving 500K pages per day:
· Rewrote credit-card user interface, adding card type detection.
· Redesigned home page, adding graphical JavaScript widget using jQuery.
· Designed fast algorithm for tracking recent customer behavior in MySQL database.
· Added email deliverability checking.
Senior Software EngineerArt & Logic (July 1996 - April 2013) | Pasadena, CA (full-time telecommuting) | · Led 30 projects with teams of 1-4 developers, managing technical issues and client relations.
Web development:
· Designed and built a web interface for Motorola's wireless cable modems, extending the web server code with a parameter-management table, run-time display flexibility, run-time localization, an XML protocol for communicating with the device back end, and device simulation. Added scripts for validation (Python for testing hyperlink navigation, Java for UTF-8 encoding and unit testing, XSLT for schema), preparing localized code, and preparing releases.
· Added SOAP service to high-performance PHP application for processing photographic images.
· Maintained HTML 5 Canvas design application.
· Designed, built, and maintained the company's timesheet tracking system from 2000 to 2008, adding a web interface to the legacy FileMaker Pro database using Lasso middleware, and a Java client utility.
· Designed Flash application for creating modular furniture layouts, with flexible administrative interface, using PHP/MySQL for back end.
· Contributed to open-source GoAhead/AppWeb embedded web server, and ported to a new RTOS.
· Managed and contributed to J2EE web application for uploading and reporting on sales data for a large beverage company.
· Implemented web interface to an MPEG multiplexer, including a complex Java applet and an XML protocol for displaying hierarchical stream data in real time.
· Added Ruby navigation tests to major sports gear e-commerce site.
· Built and maintained web application to automate loans for mortgage brokers.
· Built Ajax prototype for smart thermostat interface, and supervised port to Google Web Toolkit.
Server-side development:
· Designed and implemented REST API for a large evolving data model, using JEE (Tomcat, Hibernate, and Oracle), for iPad sales support app.
· Built REST API for music-playlist management using Python and TurboGears.
Desktop development:
· Managed design and development of cross-platform JRuby tool for processing aerial photos.
· Maintained legacy ASP.NET application, and added Excel/VBA reporting tool for aggregating sales data, with custom configuration language.
· Implemented Windows user interfaces in Visual C++ for multimedia authoring tool, medical training package, and digital audio recorder.
· Wrote a utility to convert sound files to proprietary format, researching and implementing sample rate conversion algorithm.
· Conceived and designed C++ classes for real-time sample analysis module used by ultrasonic testing apparatus.
· Implemented proof-of-concept 3-D molecular simulation in Java and Python (using OpenGL), and Flash.
Other Responsibilities:
· Researched recommender system algorithms for news story propagation.
· Developed and closed new sales lead.
· Prepared estimates and technology recommendations for project proposals.
· Wrote technical articles for the company web site.
Education Ph.D. in MathematicsUniversity of California, Berkeley (1991-1996) | Berkeley, CA | · Thesis: “Fundamental groups of immersed spheres”.
· Conceived and developed 4,000-line computer program for dissertation research, to generate and study examples of a topological construction.
A.B. in Mathematics with HonorsHarvard University (1986-1991) | Cambridge, MA | · Wrote prize-winning undergraduate thesis, including computer program to solve a difficult 3-dimensional tiling problem by exhaustive search.
Published Work Articles · “Reddish-Greenish-Refactor”, O'Reilly Programming blog, July 2014.
· “Function = Var + Return: A Functional Style of JavaScript Programming”, O'Reilly Programming blog, December 2013.
· “Confessions of a Git Skeptic”, Art & Logic blog (Hacker News front page), February 2013.
· “Good Code Tells the Truth”, PragPub magazine, October 2010.
· “XSLT As Pretty Printer”, xml.com, November 29, 2006.
· “Automating Localization”, Dr. Dobb's Journal, February 2005.
· “Space tilings and local isomorphism” (with Charles Radin), Geometriae Dedicata 42 (1992) n.3.
|