David Braun, Developer in Fayetteville, AR, United States
David is available for hire
Hire David

David Braun

Verified Expert  in Engineering

Software Developer

Location
Fayetteville, AR, United States
Toptal Member Since
March 10, 2014

David is a senior software engineering generalist with blockchain and security experience. 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's current passion is building on his experience as a leader to maximize team effectiveness through industry best practices.

Availability

Part-time

Preferred Environment

Linux, Docker, Node.js, JavaScript

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.

Work Experience

Software Engineer

2020 - 2020
DataStax
  • Co-led a team of nine remote developers to rewrite the front end of Astra, DataStax's database-as-a-service offering.
  • Organized and led weekly team meetings using Kanban, retrospectives, and continuous delivery.
  • Worked with the product owner to clarify and help prioritize feature requests.
  • Utilized pair programming to facilitate knowledge transfer between teammates and improve communication and bonding while working remotely.
  • Mentored junior developers to improve their programming skills while delivering features collaboratively.
  • Got my hands dirty in the code to replace a bespoke state management library with standard methods.
Technologies: TypeScript, React, JavaScript, GraphQL, Cassandra

Software Engineer

2020 - 2020
Anthem Blue Cross and Blue Shield
  • Worked on Sydney, Anthem's customer service chatbot. The service integrates machine learning with data about Anthem's health insurance customers to provide them with information and resources through a conversational interface.
  • Wrote a translation layer to enable the team to write business logic in JavaScript on top of Rasa's Python SDK.
  • Improved the chatbot's ability to converse more naturally on a wider variety of topics.
Technologies: Rasa.ai, Python, JavaScript

Staff Engineer

2018 - 2019
Blockchain.com
  • Worked on the front-end team for the Web Wallet, the world’s most popular cryptocurrency wallet (with 44 million wallets and $200 billion transacted).
  • Designed and implemented a new, high-security architecture to protect the wallet against attacks via open source dependencies.
  • Employed sandboxing and object capabilities models to reduce the exposure of the most valuable information assets (wallet seed and user password) to open source dependencies.
  • Created a seamless user interface experience with minimal UI/UX changes to support the architecture.
  • Wrote design and developer education documentation and gave a presentation about the new architecture for the rest of the team.
Technologies: JavaScript, React

Software Engineer

2018 - 2018
Tendermint
  • Worked on Voyager, the graphical user interface for navigating the Cosmos "Internet of blockchains" network.
  • Wrote a threat model document for this security-sensitive application responsible for tokens with monetary value.
  • Made the build process deterministic to enable greater security via reproducible builds.
  • Introduced contract tests to code and gave a presentation to the team about test writing best practices.
  • Implemented new features using modern web technologies.
Technologies: Vue, JavaScript, Node.js, Go, Electron, Docker

Software Engineer

2015 - 2017
Monax
  • 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: Docker, JavaScript, Ethereum, Node.js

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: Express.js, JavaScript, MongoDB, Node.js

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 (RoR)

Software Engineer

2002 - 2003
Handspring
  • 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: Qt, C++, C

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: Windows, C++

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: HTML, Windows, C++

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: PostScript, Common Lisp (CL)

NodeGuy Blog

http://www.NodeGuy.com
A blog on which I write technical and non-technical articles on my view of modern software development.

Channels for JavaScript

https://www.nodeguy.com/channels-for-javascript/
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

http://www.NodeGuy.com/ServerDate/
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

https://deterministic.js.org/
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

https://github.com/NodeGuy/JavaScript-fuzz
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

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.

Languages

JavaScript, HTML, HTML5, PostScript, Go, GraphQL, TypeScript, C++, C, Ruby, Python, CSS, Pascal, Common Lisp (CL), CSS3

Libraries/APIs

Ramda, Node.js, React, D3.js, Vue, jQuery

Tools

GitHub, Git, Mocha, Rasa.ai

Paradigms

Unit Testing, Test-driven Development (TDD), Concurrent Programming, REST, Functional Programming

Other

Channels, Lean Development, Front-end, Security, Web App Security

Frameworks

Express.js, Qt, Ruby on Rails (RoR), Electron

Platforms

MacOS, Linux, Docker, Blockchain, Windows, Ethereum, Amazon Web Services (AWS)

Storage

Cassandra, MongoDB

1990 - 1994

Bachelor of Science Degree in Electrical Engineering and Computer Science

U. C. Berkeley - California

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring