David Pfeffer, Software Developer in Annandale, NJ, United States
David Pfeffer

Software Developer in Annandale, NJ, United States

Member since May 6, 2016
David is a software engineer and an adjunct computer science professor at Stevens Institute of Technology in Hoboken, NJ. He’s been involved in a number of startup businesses as well as worked in the financial services sector on high bandwidth/high transaction computing. He’s an expert in C#/.NET and TypeScript, having used both since initial betas, and he does regular work with .NET Core and Node.js as well as React, Angular, Cordova, and Ionic.
David is now available for hire

Portfolio

Experience

  • C#, 17 years
  • .NET, 17 years
  • Android, 9 years
  • iOS, 8 years
  • MongoDB, 6 years
  • TypeScript, 6 years
  • Angular, 3 years
  • React, 3 years

Location

Annandale, NJ, United States

Availability

Part-time

Preferred Environment

Git, Visual Studio Code, C#, TypeScript, Node.js

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.

Employment

  • 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: TypeScript, MongoDB, JavaScript, Node.js, HTML5, Ionic 2+, Angular 2+, CSS, ASP.NET Web API, .NET Core, React, Redux, RxJS, Cordova, Software Architecture
  • 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++, JavaScript, TypeScript, 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: C#, TypeScript, MongoDB, Elasticsearch, RavenDB, RabbitMQ, Facebook, Twitter, LinkedIn, ASP.NET MVC, SignalR, WebSockets, Angular, Ionic, SendGrid, Email
  • 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: C#, .NET, ASP.NET MVC, SignalR, TypeScript, JavaScript, RavenDB, SQL Server, RabbitMQ, Ubuntu, Linux, Gentoo, Embedded Linux, Twilio, SMS
  • 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: Geneva, C#, .NET, Java, Prism, MVVM
  • 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.
    • Successfully outsourced email to Microsoft Hosted Services on an Exchange platform after a test period involving both Google Mail and Microsoft Exchange.
    Technologies: SMTP, Postfix, Google Apps, Windows Server, HyperV, VMware, Microsoft Exchange

Experience

  • BallStreet App (Development)
    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 (Development)
    https://www.apisinnovation.com/

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

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

    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 (Other amazing things)
    http://web.stevens.edu/facultyprofile/?id=1692

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

    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 (Development)
    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") (Development)

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

    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 (Other amazing things)
    http://stackoverflow.com/users/172029/david-pfeffer

    I am in the top 2% of overall user reputation on StackOverflow.

  • Guest Instructor at Webb Institute (Other amazing things)

    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.

Skills

  • Languages

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

    .NET Core, Onsen UI, Ionic 3, Redux, Cordova, Ionic 2, .NET, Angular, Express.js, PhoneGap, Ionic 4, Material-UI, Electron.js, React Native, Ionic, AngularJS, ASP.NET MVC, NativeScript, Windows Communication Framework (WCF)
  • Libraries/APIs

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

    Cordova Plugins, CircleCI, Visual Studio, Adobe Photoshop, Amazon SQS, AWS Push Notification Service (AWS SNS), Git, Microsoft Visual Studio, GitHub, Webpack, Webpack 4, Webpack 2, Webpack 3, Gulp.js, Fastlane, Trello, SendGrid, AWS SES, Visual Studio App Center, Bitbucket, Mercurial
  • Paradigms

    Concurrent Programming, REST, Parallel Programming, Reactive Programming, Functional Programming, Management, MapReduce, Spatial Databases, Agile
  • Platforms

    Arduino, Android, Amazon Web Services (AWS), Azure, iOS, HockeyApp, Embedded Linux, Docker, Visual Studio Code, Twilio, Google Cloud Platform (GCP), Ubuntu, Bluetooth LE
  • Storage

    MongoDB, Elasticsearch, Microsoft SQL Server, RavenDB, AWS S3, Couchbase, PostgreSQL, MySQL
  • Other

    Large Scale Distributed Systems, Concurrent Computing, TCP/IP, Industrial IoT, Distributed Systems, Software Architecture, PhoneGap Plugins, Pixel Perfect, Code Architecture, OOP Designs, SMTP, Multithreading, Concurrency, Software Design, APIs, DigiMesh, ZigBee, SVG, CSS3 Animation, Yocto, Windows Presentation Foundation (WPF), Bash Scripting

Education

  • Master of Science degree in Computer Science
    2007 - 2009
    Stevens Institute of Technology - Hoboken, NJ
  • Bachelor of Science degree in Computer Science
    2005 - 2009
    Stevens Institute of Technology - Hoboken, NJ

To view more profiles

Join Toptal
I really like this profile
Share it with others