Ted Middleton
Verified Expert in Engineering
C++ Developer
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
Experience
Availability
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
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.
Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Experience
Desktop Software Clients for the Teradici PCoIP Protocol
https://docs.teradici.com/find/product/software-and-mobile-clientsMainframe: Column-storage Dataframe for C++
https://github.com/tedmiddleton/mainframeSkills
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
Education
Bachelor of Science Degree in Computing Science
University of Alberta - Edmonton, Alberta, Canada
Bachelor of Science Degree in Physics
University of Alberta - Edmonton, Alberta, Canada
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring