David Pfeffer, Developer in Annandale, NJ, United States
David is available for hire
Hire David

David Pfeffer

Verified Expert  in Engineering

Software Developer

Location
Annandale, NJ, United States
Toptal Member Since
October 17, 2016

David is a software engineer and an adjunct computer science professor at Stevens Institute of Technology in Hoboken, NJ. They've been involved in a number of startup businesses and worked in the financial services sector on high bandwidth/high transaction computing. They're an expert in C#/.NET and TypeScript, having used both since initial betas, and they do regular work with .NET Core and Node.js on the back end and React, Angular, Cordova, and Ionic on the front end.

Portfolio

BallStreet Trading
Distributed Systems, Ionic 2, Software Architecture, Cordova, RxJS, Redux...
Stevens Institute of Technology
C, TypeScript, JavaScript, C++
FunnelFire
Distributed Systems, Email, SendGrid, Ionic, Angular, WebSockets, SignalR...

Experience

Availability

Part-time

Preferred Environment

Node.js, TypeScript, C#, Visual Studio Code (VS Code), Git

The most amazing...

...project I've helped build is a real-time trading exchange with a true stock order book for trading shares in teams during sporting events.

Work Experience

CTO

2016 - PRESENT
BallStreet Trading
  • Developed a greenfield mobile app in Ionic 2.
  • Guided a UX consulting team to produce beautiful designs for our platform.
  • Managed several part-time developers.
  • Built a real-time trading engine to power our system, with a true stock market style order book and near-instantaneous settlement of trades.
  • Helped pitch to a multitude of investors to raise capital for the company.
  • Did the software architecture and design for the entire software platform.
Technologies: Distributed Systems, Ionic 2, Software Architecture, Cordova, RxJS, Redux, React, .NET Core, ASP.NET Web API, CSS, Angular, HTML5, Node.js, JavaScript, MongoDB, TypeScript, Mobile

Adjunct Professor

2011 - PRESENT
Stevens Institute of Technology
  • Taught introductory programming.
  • Taught advanced systems programming for Unix environments.
  • Taught advanced network stack code, including a reimplementation of the TCP/IP networking stack.
  • Managed graduate students who wanted to pursue independent study.
Technologies: C, TypeScript, JavaScript, C++

CTO

2012 - 2016
FunnelFire
  • Built a real-time sales intelligence engine from the ground up.
  • Wrote sophisticated back-end code that crawled various APIs such as Facebook and Twitter as well as scraping various internet pages to build rich profiles on companies.
  • Built a real-time front end that integrated with the back end using SignalR/websockets to update company profiles on the user's screen as soon as new information was available.
  • Fetched news from a variety of sources, such as Facebook feeds, RSS, and a news API, and stored it in Elasticsearch before generating feeds that were relevant to company profiles.
  • Managed and mentored several developers.
Technologies: Distributed Systems, Email, SendGrid, Ionic, Angular, WebSockets, SignalR, ASP.NET MVC, Twitter, Facebook, RabbitMQ, RavenDB, Elasticsearch, MongoDB, TypeScript, C#, Mobile

CTO

2010 - 2014
FivePM Technology
  • Developed a real-time vehicle tracking and dispatch system.
  • Worked with Windows Azure cloud technology to use as back-end infrastructure in order to ensure the fulfillment of service level agreements.
  • Used enterprise service bus middleware technology to handle all requests by users or vehicles.
  • Developed hardware and software for a Linux-based embedded computer platform to put onto vehicles to report vehicle location, handle fare collection, and deliver information needed by passengers or operators.
  • Managed interns responsible for large projects such as a system-wide administrative console intuitive for city administrators.
  • Interfaced with the cell phone text message system to develop a short-code SMS mechanism for locating buses.
  • Built a call-in system that used text-to-speech to read the vehicle location and ETA, after a senior citizen user study.
  • Developed apps for iOS, Android, and Windows Phone 7 by leveraging both Java/Swift as well as Xamarin.
Technologies: Distributed Systems, SMS, Twilio, Embedded Linux, Gentoo, Linux, Ubuntu, RabbitMQ, Microsoft SQL Server, RavenDB, JavaScript, TypeScript, SignalR, ASP.NET MVC, .NET, C#, Mobile

Software Developer/Analyst

2009 - 2012
Deutsche Bank
  • Developed a real-time log file analysis engine for legacy bank applications.
  • Created an automated testing framework for a trade processing loader, facilitating an upgrade to Geneva 7.6.
  • Developed a “high-bandwidth” framework in C# in parallel to and compatible with a Java framework, avoiding garbage collection and other activities that could cause a performance lag.
  • Implemented and managed a collaborative development environment, bringing teammates from Bangalore, the United Kingdom, and the United States together on one platform. Developed business processes for use of the environment.
  • Created a scheduler system allowing business users unfamiliar with IT to schedule complex jobs.
  • Created a wrapper around a buggy vendor tool to avoid a $15,000 redevelopment task by the vendor.
Technologies: Distributed Systems, Model View ViewModel (MVVM), Prism, Java, .NET, C#

IT Integrations Consultant

2008 - 2009
World Travel Group
  • Planned, tested, and integrated a full overhaul of IT solutions, replacing a dozen legacy servers with a virtualization platform.
  • Outsourced email to Microsoft Hosted Services on an Exchange platform after a test period involving both Google Mail and Microsoft Exchange.
Technologies: Hyper-V, Microsoft Exchange, VMware, Windows Server, Google Apps, Postfix, SMTP

BallStreet App

https://play.google.com/store/apps/details?id=com.ballstreettrading
Using Cordova and React, I did the system architecture and then constructed a trading app for simulated "stocks" representing a team winning a sporting event. Real-time market information is transmitted via websockets from the back end, and graphs/charting is done with the D3 library. An Android version of the app is now released and an iOS app is making its way through Apple review.

This app started in Angular and for a while we used Ionic as well as NativeScript. However, both turned out to not be mature enough platforms in that era to use.

IoT, Back End, Front End, and Embedded Linux for Methane Well Collection Mesh Networked Sensor/Monitoring Devices

Evaluated the existing platform and explained the pros and cons of reworking the existing code vs. starting from scratch, did a formal estimation of time/effort required to complete the project, and architected and designed a new platform with a new tech stack (Cordova, React, Node.js, and Express).

Managed the project, working with relevant stakeholders to ensure that goals were met. I set up and managed a CI/CD system using CircleCI and set up and maintained Azure-based infrastructure to host the platform.

Developed the entire front-end web interface (TypeScript/React) for supervisors and a hybrid mobile application (TypeScript/Cordova/React) for employees.

Oversaw the lead back-end developer and acted as secondary developer on back-end code (TypeScript/Node.js/Express).

Custom CMS for Travel Agency

I built a custom CMS for World Travel Group, a large multi-brand travel agency in PHP, the client's preferred language. The primary goal was the ability to integrate pricing dynamically into the site from a legacy booking engine. Also, I used HTML's "contenteditable" property to implement sophisticated WYSIWYG editing into the site. This was built in 2006, before similar editor components were available as freely available open-source libraries.

BallStreet Proof-of-Concept App

https://play.google.com/store/apps/details?id=com.ballstreettrading
Using Ionic and then Ionic 2, I built a trading app for simulated "stocks" in the outcome of a team winning a sporting event for both iOS and Android platforms. Real-time market information is transmitted via websockets from the back end, and graphs/charting is done with the D3 library. We did an MVP release in Ionic and then ported it to Ionic 2. We were ultimately forced to move off of Ionic 2 because the platform was not released by the time we were nearing our debut, but the port was very easy to accomplish and the platform worked very well.

FunnelFire Back-end Engine and Architecture

I built a real-time sales intelligence tool for researching information and the latest news about companies while at FunnelFire. It is intended to be used for pre-call research as well as to stay up-to-date on a company's behavior.

The engine was built in C# on a service bus architecture, with a series of ingestors running to pull data from a variety of data sources (Facebook API, Twitter API, CrunchBase, Lexis Nexis, Freebase, AngelList, web crawling, etc.) in response to messages and then to publish results as they were found back onto the bus. A company comparison algorithm then compares the company profiles found and, depending on match confidence, either merges the results into an existing company, creates a new company, or creates a potential merge for human verification via Amazon Mechanical Turk. News stories are fed through the same bus when discovered, where they land in an Elasticsearch database for future querying. A trie of all company names is stored in a proprietary self-designed database system, rapidly matching company names found in the article to help start off various push notifications and email alerts.

Teaching Computer Science at Stevens Institute of Technology

I'm teaching a variety of courses to undergrads and grad students at Stevens Institute, such as advanced data structures and algorithms, introductory computer science, Linux systems programming, low-level TCP/IP networking, a crash course in advanced Java for C++ developers, and software engineering topics such as QA.

FunnelFire App

I built an Ionic (AngularJS) app for iOS and Android during my time at FunnelFire. The app does not show off my ability to create beautiful apps—the app looks fairly kludgey—but rather my ability to rapidly iterate under strict time constraints. The app was built in less than a week in order to appease various sales managers who would not buy our product without there being a mobile app presence. Much of the code was shared with the front-end web application, since they're both built in AngularJS, which improved long-term maintainability.

MedChat

https://www.medchatapp.com/
I built the chat widget for MedChat, an Olark-like real time chat engine with medical compliance.

Real-time Vehicle Tracking System ("Treadmarks")

While at FivePM Technology, I built a real-time vehicle tracking system for shuttle buses. The vehicles carried an onboard embedded Linux platform that I developed and maintained, a cellular modem, and communicated via a special low-byte count protocol I developed to transmit vehicle position to a server I wrote that sat on Azure. We then took those positions to calculate ETA to bus stops, and responded to requests via text message and phone calls via Twilio to report the ETA to a stop or the current shuttle locations. We also delivered the location of the vehicles on a live map online, using web sockets to update the vehicle positions and interpolating between data pushes.

The entire platform was built on .NET, with Mono running on the buses and various workers written in C# and ASP.NET with SignalR powering the back end and web app.

Taxi Hailing System

I developed a primitive version of an "Uber" for the Hoboken, NJ taxi system. Hoboken's taxi drivers did not have smartphones and were reluctant to have a GPS device onboard due to "big brother" concerns. However, Hoboken is also only a square mile in area.

Text message-based hails indicating where a rider was located would trigger a message to be sent out to the highest rated drivers that had sent a text-based command into the system reporting that they were "online." One of those drivers could reply reporting that they are going to accept the ride. If they were the first to reply and the request hadn't timed out, they would be texted back with the location of the rider and the rider would receive a confirmation text.

We then also used Twilio to allow the driver and rider to communicate via phone or text without releasing either of their phone numbers to one another. At the end of the ride, passengers were asked to rate their driver from 1 to 5, and low-rated drivers were deprioritized in the system for receiving text hails.

The platform was built in C# with heavy utilization of Twilio. Ultimately, Uber of course took off and Hoboken gave up trying to control the internet-based hailing of their taxis.

StackOverflow Top 2% Overall Ranking

http://stackoverflow.com/users/172029/david-pfeffer
I am in the top 2% of overall user reputation on StackOverflow.

Guest Instructor at Webb Institute

I taught a special topics course at Webb Institute, the renowned ocean/naval engineering school on Long Island, NY. The school did not have anyone capable of teaching a complex programming course, so I was brought in to instruct the students in a crash-course in programming coupled with data structures and algorithms over the course of a semester.

Languages

Java, JavaScript, HTML, CSS3, CSS, HTML5, C#, TypeScript 2, TypeScript, ECMAScript (ES6), ES5, ES7, CSS2, CSS4, C, ES8, TypeScript 3, SQL, C++, C++11, Swift, MOO, PHP, PHP 5, Visual Basic .NET (VB.NET), F#, Bash Script

Frameworks

.NET Core, Onsen UI, Ionic 3, Redux, Ionic 2, .NET, Angular, Express.js, PhoneGap, Ionic 4, Material UI, Electron, React Native, Ionic, AngularJS, ASP.NET MVC, NativeScript, ASP.NET Web API, Windows Presentation Foundation (WPF), Windows Communication Framework (WCF)

Libraries/APIs

Node.js, Flexbox, React, React Redux, React Router, LocalStorage, REST APIs, RxJS, Google Maps API, Facebook API, D3.js, Twilio API, SignalR, Google Apps, Twitter API, SendGrid API

Tools

Cordova Plugins, CircleCI, Visual Studio, Adobe Photoshop, Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (Amazon SNS), Git, Microsoft Visual Studio, GitHub, Webpack, Webpack 4, Webpack 2, Webpack 3, Gulp, Fastlane, Trello, SendGrid, Amazon Simple Email Service (SES), Visual Studio App Center, RabbitMQ, Prism, Postfix, VMware, Microsoft Exchange, Hyper-V, Bitbucket, Mercurial

Paradigms

Concurrent Programming, REST, Parallel Programming, Reactive Programming, Functional Programming, Management, MapReduce, Spatial Databases, Agile, Model View ViewModel (MVVM)

Platforms

Mobile, Arduino, Android, Amazon Web Services (AWS), Azure, iOS, HockeyApp, Embedded Linux, Docker, Visual Studio Code (VS Code), Twilio, Google Cloud Platform (GCP), Ubuntu, Twitter, Linux, Windows Server, Bluetooth LE

Storage

MongoDB, Elasticsearch, Microsoft SQL Server, RavenDB, Amazon S3 (AWS S3), Couchbase, PostgreSQL, MySQL

Other

Large Scale Distributed Systems, Concurrent Computing, Async.js, TCP/IP, Industrial Internet of Things (IIoT), Distributed Systems, Software Architecture, Cordova, PhoneGap Plugins, Pixel Perfect, Code Architecture, OOP Designs, SMTP, Multithreading, Concurrency, Software Design, APIs, DigiMesh, Zigbee, SVG, CSS3 Animation, Facebook, WebSockets, Email, Gentoo, SMS, Yocto

2007 - 2009

Master of Science Degree in Computer Science

Stevens Institute of Technology - Hoboken, NJ, USA

2005 - 2009

Bachelor of Science Degree in Computer Science

Stevens Institute of Technology - Hoboken, NJ, USA

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