Node.js Developer in New York, NY, United States
Software Engineer2015 - 2017Monax
- Implemented a prototype lab with mock versions of our stack components for testing architectural design hypotheses economically, enabling architectural conversations to be grounded in evidence.
- Designed Eris Worker, a distributed computation framework designed to support autonomous operations on blockchains.
- Set up an automated continuous delivery system for testing and publishing our software stack.
Co-founder2010 - 2013The Productivity Game
- Co-founded a personal productivity coaching business.
- Designed personal productivity methodology and coached clients one-on-one on how to use the method.
- Created a simple productivity timer for time boxing and to synchronize coordinated action between team members.
- Wrote an open source library (ServerDate) to implement multi-client timer synchronization.
- Created a prototype promise management system in Node.js using MongoDB and Express.
Business Consultant2007 - 2009Authentic Man Program
- Assembled a board of advisors to provide guidance to the company's strategic mission.
- Facilitated strategy sessions with business owners to define and clarify the company vision and mission.
- Created and led customer outreach teams to increase sales.
- Managed facilities. Hired and managed an operational assistant and bookkeeper.
- Created customer satisfaction surveys to obtain market feedback on company offerings.
Co-founder2006 - 2007TGND Corporation
Technologies: Ruby on Rails
- Co-founded a company with a mission to create price-comparison shopping internet sites for niche markets.
- Hired and managed two software engineers to create a prototype using Ruby on Rails.
- Worked with a lawyer, an accountant, and an internal marketing employee on the big picture of the business.
- Created "virtual company" infrastructure allowing the entire company to run on the internet, requiring no office space.
Software Engineer2002 - 2003Handspring
Technologies: C, C++, Qt, Palm OS
- Enabled third parties to create software for our products by maintaining and publishing the Palm OS software development tools.
- Created software tools and wrote documentation to support internal application developers to operate more effectively and efficiently.
- Took initiative to support compatibility with open source software for our products by providing leaders of the community with technical documentation and hardware.
- Initiated a proposal and partnered with a PR executive to design a more ethical customer outreach program to prevent harm to the company's reputation.
- Wrote a technical report and gave a presentation about the costs and benefits of upgrading the Palm OS development platform to support C++ in addition to C.
Software Engineer1997 - 1998NetStudio Corporation
Technologies: C++, Microsoft Windows
- Co-founded the company with a vision to create a pioneering consumer application for web graphics authoring, emphasizing ease of use.
- Brought a NetStudio product successfully to market with recognition and was awarded "Best of Show" at the Internet World conference.
- Led and defined the software development process, including feature specification and coding standards.
- Architected the product engine in C++. Defined the major subsystems and their interactions.
- Created runtime class inheritance system in C++ to implement user-modifiable effects.
- Created a smart-pointer API to support transaction-based infinite undo and redo.
- Created a runtime diagnostic tool that generated a view of a high-level internal program state in HTML.
Software Engineer1995 - 1997Brøderbund Software
Technologies: C++, Microsoft Windows, HTML
- Designed and implemented the artificial intelligence component of a real-time strategy game in C++.
- Brought to market French and German versions of a desktop application (Carmen Sandiego Junior Detective Edition) by providing translation support engineering.
- Recognized and rewarded with the Intellectual Capital Award for innovation and realization of ideas contributing to the company's success.
- Gave a technical talk on how to author web pages using the new HTML technology.
- Wrote a proposal to implement the company wide continuous integration system.
Software Engineer1989 - 1995Center for Advanced Medical Informatics at Stanford University
Technologies: Common Lisp, PenPoint OS, PostScript
- Developed a pen-based user interface for Ivory, a patient data entry program, in PenPoint, a pen-based operating system.
- Wrote PostScript-generating code in Common Lisp for reports created by Oncocin, a cancer patient treatment expert system.
- Researched different aspects of a pen-based computing user interface as part of an overall effort to make computers more accessible to doctors.
- Set up an experimental wireless network to be used for mobile computing in a hospital.
- Wrote a GIF codec in Common Lisp.
- NodeGuy Blog (Other amazing things)http://www.NodeGuy.com
A blog on which I write technical and non-technical articles on my view of modern software development.
- ServerDate (Development)http://www.NodeGuy.com/ServerDate/
- Deterministic.js (Development)https://deterministic.js.org/
It’s useful for writing distributed applications in which the same code executes simultaneously on multiple computers. If the code is deterministic then its state can be synchronized across different computers without requiring network communication. Two examples which make use of this property are smart contract applications and multiplayer games.
- Disk Encryption HOWTO (Other amazing things)http://tldp.org/HOWTO/Disk-Encryption-HOWTO/
A (now outdated) method described for encrypting a hard disk, either in whole or in part, with the encryption key stored on an external medium for increased security. This was published by The Linux Documentation Project.
- Simple To Do List in Meteor (Development)
A simple proof-of-concept to-do list manager written using Meteor.
Libraries/APIsNode.js, Ramda, D3.js, Lodash, WebDriver, PyQt, Sinon.JS, jQuery
ToolsGitHub, Git, Mocha
ParadigmsAsynchronous Programming, Unit Testing, Test-driven Development (TDD), Object-oriented Programming (OOP), REST, Event-driven Programming, Concurrent Programming
OtherChannels, Ajax, Lean Development, NixOS
FrameworksExpress.js, AngularJS, Ruby on Rails (RoR), Qt
PlatformsMacOS, Linux, Docker, Debian Linux, Ethereum, AWS Lambda, Meteor, AWS EC2, Amazon Web Services (AWS)
StorageMongoDB, AWS S3, MySQL
- Bachelor of Science degree in Electrical Engineering and Computer Science1990 - 1994U. C. Berkeley - California