Ted Middleton, Developer in Vancouver, BC, Canada
Ted is available for hire
Hire Ted

Ted Middleton

Verified Expert  in Engineering

C++ Developer

Location
Vancouver, BC, Canada
Toptal Member Since
July 9, 2020

Ted is a software developer and programmer with 20 years of professional programming experience and close to 25 years of experience programming in C and C++ and almost as long in Python. He enjoys finding clean solutions and producing high-quality, high-value code. Ted also excels at porting and building maintainable cross-platform software and is skilled as a runtime-performance optimizer. In short, the software that Ted writes just works.

Portfolio

NDT Solutions LLC
C++, Software Architecture, Architecture, Qt, Desktop App Development...
Integrated Cinematics
C++, Unreal Engine 4, Unreal Engine 5, C++17, Windows, Windows PowerShell
Fortune 500 Data Science Software Company
C++, Python, C++17, Desktop App Development, Windows, Windows PowerShell

Experience

Availability

Part-time

Preferred Environment

JavaScript, Python, C++, Linux, C, Rust, Linux Kernel, C++17

The most amazing...

...thing that I've developed was a social lobby engine for a game based on coroutines; it let us write a social lobby with just two developers rather than 20.

Work Experience

Senior C++ Developer

2023 - 2023
NDT Solutions LLC
  • Developed a desktop application that performs and analyzes non-destructive scans of materials using eddy current and ultrasonic sensors.
  • Scoped out and managed performance requirements for scan data analysis based on customer expectations.
  • Architected the application's next-generation data presentation framework, which managed large-scale scan data in a set of responsive, high-performance Qt widgets.
Technologies: C++, Software Architecture, Architecture, Qt, Desktop App Development, Mathematics

Software Engineer

2022 - 2023
Integrated Cinematics
  • Programmed single-handedly an MVP Unreal Editor plugin that carried the startup company to their 1st paying customer.
  • Worked with customers to diagnose network and graphics issues with distributed Unreal wall-display systems.
  • Collaborated with company founders to build out our development team and hire top-notch C++ developers.
Technologies: C++, Unreal Engine 4, Unreal Engine 5, C++17, Windows, Windows PowerShell

Software Engineer

2021 - 2022
Fortune 500 Data Science Software Company
  • Closed dozens of customer-critical defects with high-quality, maintainable fixes.
  • Oversaw code reviews for third-party non-Toptal contractors.
  • Solved complex, long-standing customer-affecting problems and bugs related to low-level platform issues and third-party software defects.
Technologies: C++, Python, C++17, Desktop App Development, Windows, Windows PowerShell

Software Engineer

2020 - 2021
Microsoft
  • Diagnosed and fixed user-critical crash defects in a triple-A Xbox One game.
  • Assumed responsibility for infrastructure defects in localization logic, especially for glyphing and right-to-left languages.
  • Created front-end logic-matched multiplayer games.
Technologies: C++, Unreal Engine 4, Unreal Engine, Xbox One, Xbox, Plugins, C++17, Windows, Windows PowerShell

Software Engineer

2017 - 2019
Arista Networks
  • Implemented diagnostics tools that allowed network administrators to view low-level switch chip registers in data center routers to track network irregularities.
  • Designed and implemented sampling logic for debugging register functions in low-level switch chips in data center routers to alert network admins of peculiar network traffic errors.
  • Oversaw the main branch's health and triaged build breakages.
Technologies: Python, C++, Networks, Linux Kernel, GDB, Assembler x86, x64 Assembly, C++17, Embedded Systems, Embedded C++, Embedded Software

Software Engineer

2011 - 2017
Teradici
  • Optimized a sophisticated wavelet video codec with ARM-NEON code to run on a lowly Cortex-A8 CPU. This project achieved an impressive eight times performance improvement and was an enabling technology for a line of general-purpose thin-clients sold by HP.
  • Wrote a Windows, Linux, and macOS remote desktop client based on Qt.
  • Implemented a MacOS driver that made USB device access possible for the company's macOS remote desktop solution.
  • Spearheaded the company's migration from Subversion to Git and SCons to CMake.
Technologies: Qt, JavaScript, Java, Python, C++, Boost.Asio, C, Linux Kernel, GDB, Assembler x86, x64 Assembly, Firmware, Embedded Systems, Embedded C++, Embedded Software, Embedded C, Android, Real-time Operating System (RTOS), System-on-a-Chip (SoC), Desktop App Development, Windows, Device Drivers

Software Engineer

2005 - 2010
Slant Six Games
  • Architected and developed an asynchronous network simulation system for network gameplay in a real-time strategy game.
  • Developed a coroutine-based online lobby system for match-making and player chat. Compared to the previous game, this lets us cut out an enormous amount of boilerplate code and developer time.
  • Diagnosed, mathematically characterized, and mitigated the effects of aggressive vertex quantization with rendering glitches and seams. This was a huge memory saving.
Technologies: Python, C++, C, Embedded Systems, Embedded C++, Embedded Software

Software Engineer

2002 - 2005
Electronic Arts
  • Shipped three AAA console video games in as many years, each achieving at least an 80% Metacritic rating.
  • Worked with artists to identify and rearchitect deficiencies in team art tools, especially related to rendering.
  • Implemented vehicle physics, especially related to vehicle damage.
Technologies: Python, C++, Embedded C++, Windows

Desktop Software Clients for the Teradici PCoIP Protocol

https://docs.teradici.com/find/product/software-and-mobile-clients
I wrote most of the original implementation for the Qt-based Windows, macOS, and Linux Teradici PCoIP clients, including the HTTP-client broker logic, the login flow logic, and the in-session window management.

Mainframe: Column-storage Dataframe for C++

https://github.com/tedmiddleton/mainframe
Mainframe is a data-science dataframe tool written in C++, with the flexibility and power of Pandas, but the blistering speed of C++. It uses advanced C++ metaprogramming techniques to provide an ergonomic interface for developers and data scientists while maintaining unmatched runtime performance.

Languages

C++, Python, Rust, MIPS, Assembler x86, x64 Assembly, C++17, Embedded C++, Embedded C, Java, JavaScript, C

Paradigms

Desktop App Development

Platforms

Windows, Linux, NVIDIA CUDA, Xbox, Android, Solaris

Other

FIX Protocol, Embedded Systems, Templates, Boost.Asio, Plugins, Firmware, Embedded Software, Fourier Analysis, Differential Equations, Analysis, Calculus, Linear Algebra, Algorithms, Device Drivers, Networks, SIMD, Linux Kernel, Xbox One, Unreal Engine 5, Real-time Operating System (RTOS), System-on-a-Chip (SoC), Software Architecture, Architecture, Mathematics, Physics, Singular Value Decomposition

Frameworks

Qt, Unreal Engine, Flask, Unreal Engine 4, Windows PowerShell

Libraries/APIs

Pandas, Node.js, Interactive Brokers API

Tools

GDB

Storage

Databases

1997 - 2002

Bachelor of Science Degree in Computing Science

University of Alberta - Edmonton, Alberta, Canada

1993 - 1997

Bachelor of Science Degree in Physics

University of Alberta - Edmonton, Alberta, Canada

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