Scroll To View More
David Braun

David Braun

New York, NY, United States
Member since January 22, 2014
David is a software engineering generalist currently specializing in Node.js (see With two years of management training and strong communication skills, he excels at bridging business requirements with modern technology. His EECS degree from U.C. Berkeley is evidence of his technical depth.
David is now available for hire
  • Linux, 15 years
  • JavaScript, 8 years
  • Test-driven Development (TDD), 8 years
  • Node.js, 8 years
  • Docker, 3 years
  • REST, 2 years
  • Amazon Web Services (AWS), 2 years
  • Ethereum, 2 years
New York, NY, United States
Preferred Environment
Node.js, Docker, Linux
The most amazing...
...project I've worked on is the Monax blockchain and smart contracts platform to enable a whole new class of distributed applications.
  • Software Engineer
    2015 - 2017
    • Maintained and supported the JavaScript client libraries that talk to the company's core offering (Hyperledger Burrow), supporting both internal and external customers.
    • Created Deterministic.js, a deterministic version of JavaScript for writing distributed smart contract applications.
    • 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.
    Technologies: Node.js, Ethereum, JavaScript, Docker
  • Co-founder
    2010 - 2013
    The 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.
    Technologies: Node.js, MongoDB, JavaScript, Express
  • Business Consultant
    2007 - 2009
    Authentic 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-founder
    2006 - 2007
    TGND Corporation
    • 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.
    Technologies: Ruby on Rails
  • Software Engineer
    2002 - 2003
    • 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.
    Technologies: C, C++, Qt, Palm OS
  • Software Engineer
    1997 - 1998
    NetStudio Corporation
    • 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.
    Technologies: C++, Microsoft Windows
  • Software Engineer
    1995 - 1997
    Brøderbund Software
    • 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.
    Technologies: C++, Microsoft Windows, HTML
  • Software Engineer
    1989 - 1995
    Center for Advanced Medical Informatics at Stanford University
    • 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.
    Technologies: Common Lisp, PenPoint OS, PostScript
  • NodeGuy Blog (Other amazing things)

    A blog on which I write technical and non-technical articles on my view of modern software development.

  • Channels for JavaScript (Development)

    I ported Go's channel feature for concurrent computation to JavaScript. Channels are arguably the most interesting construct for representing concurrency today and are partly responsible for Go's popularity in creating complex distributed applications. Now this powerful tool can be used to create large scale distributed applications in Node.js as well as to simplify complex event-driven applications in the browser.

  • ServerDate (Development)

    I created this library to solve the technical challenge of synchronizing multiple web clients with precision measured in milliseconds. It works by creating a JavaScript object in the browser called ServerDate, with the same API as JavaScript's native Date object, that the application developer can use to know the current time on the server. It uses AJAX calls periodically to keep the object synchronized with the server's clock.

  • Deterministic.js (Development)

    I created a deterministic version of the JavaScript language. It's a compiler that takes a program written in ordinary JavaScript (ECMAScript®) and rewrites it so that it always produces the same outputs for given inputs.

    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.

  • JavaScript-fuzz (Development)

    JavaScript-fuzz generates random values for every standard, built-in type of ECMAScript 5.1, allowing users to fuzz test their code.

  • Disk Encryption HOWTO (Other amazing things)

    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.

  • Languages
    JavaScript, HTML5, HTML, Common Lisp (CL), Ruby, C++, C, Pascal, CSS, CSS3, Python
  • Libraries/APIs
    Node.js, Ramda, D3.js, Sinon.JS, jQuery, PyQt, WebDriver, Lodash
  • Tools
    Git, GitHub, Mocha
  • Paradigms
    Test-driven Development (TDD), Unit Testing, Asynchronous Programming, REST, Object-oriented Programming (OOP), Event-driven Programming, Concurrent Programming
  • Other
    Channels, AJAX, Lean Development, NixOS
  • Frameworks
    Express.js, Ruby on Rails (RoR), Qt, AngularJS
  • Platforms
    Debian Linux, Mac OS, Docker, Linux, Amazon Web Services (AWS), AWS Lambda, Ethereum, AWS EC2, Meteor
  • Storage
    MongoDB, MySQL, AWS S3
  • Bachelor of Science degree in Electrical Engineering and Computer Science
    1990 - 1994
    U. C. Berkeley - California
I really like this profile
Share it with others