Ted Middleton, C++ Developer in Vancouver, BC, Canada
Ted Middleton

C++ Developer in Vancouver, BC, Canada

Member since April 23, 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.
Ted is now available for hire

Portfolio

Experience

Location

Vancouver, BC, Canada

Availability

Part-time

Preferred Environment

Linux, C++, Python, JavaScript, Node.js, Java

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.

Employment

  • 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: C++, Python
  • 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 8x 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: C++, Python, Java, JavaScript, Qt
  • Software Engineer

    2005 - 2010
    Slant Six Games
    • Architected and developed a synchronous 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 savings.
    Technologies: C++, Python
  • Software Engineer

    2002 - 2005
    Electronic Arts
    • Shipped three AAA console video games in as many years, each of which achieved 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: C++, Python

Experience

  • Desktop Software Clients for the Teradici PCoIP Protocol (Development)
    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.

Skills

  • Languages

    C++, Python, Rust, MIPS, Java
  • Other

    FIX Protocol
  • Platforms

    Linux
  • Frameworks

    Flask, Unreal Engine 4
  • Libraries/APIs

    Pandas, Node.js

Education

  • Bachelor of Science degree in Computing Science
    1997 - 2002
    University of Alberta - Edmonton, Alberta, Canada
  • Bachelor of Science degree in Physics
    1993 - 1997
    University of Alberta - Edmonton, Alberta, Canada

To view more profiles

Join Toptal
Share it with others