
Tim Sheerman-Chase
Verified Expert in Engineering
Software Developer
Portsmouth, United Kingdom
Toptal member since January 26, 2017
Tim is a software engineer with experience in a wide range of industries, technologies, and academia. His primary programming languages are C++ and Python. He is adept at real-time/multi-threaded systems. Tim also has a degree in physics and a PhD in machine learning/image processing.
Portfolio
Experience
- Software Development - 20 years
- C++ - 16 years
- Python - 11 years
- Real-time Systems - 10 years
- Machine Learning - 6 years
- PHP - 4 years
- Computer Vision - 4 years
- Qt - 3 years
Availability
Preferred Environment
Git, Qt Creator, Eclipse, Visual Studio Code (VS Code)
The most amazing...
...project I've worked on is training a system to recognize goosebump-inducing music.
Work Experience
Developer (via Toptal)
Freelance
- Optimized web apps in Google App Engine, Google Cloud SQL, and Docker.
- Made a C++ library available to Python software using SWIG.
- Integrated video codec libraries with OpenH264 to produce MP4/H264 videos with an emphasis on broad playback compatibility.
- Evaluated and tested the potential structure from motion and SLAM algorithms for deployment on a handheld embedded device; this was done while working with SnapIT Solutions.
Medical Image Processing Engineer
BH2 Innovations Inc
- Improved a PyTorch segmentation system for spotting defects in medical instruments.
- Evaluated other segmentation methods to find state-of-the-art performance.
- Oversaw annotation process focusing on achieving quality and consistency. Liaised with domain experts to ensure good-quality annotations were collected.
AI Developer
GovPlus
- Developed a computer vision system to evaluate passport photos based on a set of rules.
- Wrapped the computer vision algorithm in a REST web API using Python Django.
- Evaluated and optimized the system's performance using annotated data as ground truth.
AI Developer
Trick27 Studios Ltd
- Reviewed and enhanced AI players for a soccer-based web game.
- Updated the existing Python code to best software practices.
- Fixed bugs and added features to the AI player code in the game.
Developer
Galehead Development, LLC
- Added features to the front-end UI and data filtering in an OpenLayers/React-based geospatial web app.
- Handled additional back-end API features added to a Python Flask back-end server.
- Made improvements to the Docker configuration for easier deployment in development and production.
Music Website and App Developer
Qbrio Studio Inc.
- Developed a RESTful back-end API and a JavaScript/Ajax front end to enable users to browse audio samples based on selected filters.
- Built a web app based on Django/JavaScript/React to manage and monitor data collection tasks on Amazon Mechanical Turk via their developer API.
- Improved the performance of deep learning LSTM models for audio processing of music.
Software Engineer
Symetrica Security Ltd
- Developed a UI for a hand-held radiation detector based on GTK3, including internationalization and custom widgets.
- Developed Python web-based monitoring of a remote system including the collection of health parameters via a HTTP RESTful API.
- Integrated C++ components into pre-existing distributed RPC framework, including adding a RESTful API.
- Wrote requirements and designed a desktop tool to manage handheld devices and to offload data, written in C# GTK#. Developed the back-end C# code to connect to the device via HTTP.
- Created a custom GTK widget for viewing graph data—including zooming, panning, and overlaying template data.
- Reconstructed vehicle images from RTSP video streams using OpenCV.
Applications Developer
Hallmarq Veterinary Image Ltd
- Implemented a major refactoring of code to separate 2 closely coupled, real-time DLL components—to enable remote operation via ethernet.
- Developed a fee-per-scan calculation web application with Python Pyramid and MySQL.
- Optimized DSP functions with ARM assembly/intrinsics to run on an embedded processor. The final speed exceeded the then currently existing Project Ne10 library.
- Created a functionality that did report generation and PDF invoicing from billing system (written in Python) to be used by the accounts department.
- Ported Windows C++ centric spectrometer components to ARM/embedded Linux.
Software Engineer
Kinatomic Technology
- Developed a live video stitching desktop app to take multiple USB/IP web cameras and combine them into a video stream for viewing or saving to disk.
- Developed an Android mobile turn based game based on Kivy. Wrote the graphics, game logic and AI for other computer players. Oversaw design and production of UI and art by contractors. Released the game on the Google Play store.
Senior Technologist
BAE Systems
- Developed a real-time, embedded system to bridge between an existing ARINC 429 avionics databus and newer Ethernet-based systems AFDX. This used bare-metal C/C++ on a NetSilicon processor.
- Built a augmented reality HUD/moving map prototype display system to enable commercial pilots to prevent errors in taxiing. This was integrated into a flight simulator. It used C++/OpenGL.
- Designed and implemented a C++/C prototype controller pilot data link communication system for airport ground movement messages. Integrated them into a flight simulator.
- Conducted pilot trials in a simulator to gather feedback on prototype avionic systems. Tested the prototypes at international airports to evaluate their performance.
- Tracked the progress and controlled resources for engineering projects.
Experience
PyFeatureTrack (Python)
https://github.com/TimSC/PyFeatureTrackImplementation of a RESTful GIS API in PHP
https://github.com/TimSC/microcosmPhD Thesis: On the Automatic Recognition of Facial Non-verbal Communication Meaning in Informal, Spontaneous Conversation
License Key Management in C++
https://github.com/TimSC/rsa-license-keyEducation
Ph.D. Degree in Computer Vision
University of Surrey - Guildford, UK
Master of Physics Degree in Physics
University of Kent - Canterbury, UK
Skills
Libraries/APIs
OpenCV, Scikit-learn, OpenStreetMap API, SpatiaLite, GEOS, Shapely, Protobuf, Kivy, SciPy, NumPy, Keras, React, Matplotlib, SQLAlchemy, FFmpeg, PySide, Leaflet, OpenAL, OpenLayers, Sockets, Flickr API, SDL, OpenGL, jQuery, OpenH264, Flask-RESTful, Google Apps, REST APIs, Spotify API, TensorFlow
Tools
GitHub, GTK+, Git, Qt Creator, Microsoft Visual Studio, SWIG, Amazon Simple Queue Service (SQS), LaTeX, Subversion (SVN), Eclipse IDE, Adobe Premiere Pro, NGINX, GIS, Audacity, Apache, MATLAB, MediaWiki, Kibana, PgBouncer, Wireshark, GTK
Languages
Embedded C++, C, C++, Embedded C, Python, Python 3, XML, HTML, SQL, PHP, C#, MUMPS, CSS3, HTML5, JavaScript, UML, ARM Assembler, CSS, Bash, SAML, TypeScript
Paradigms
Real-time Systems, REST, Object-oriented Design (OOD), Design Patterns, Object-oriented Programming (OOP), Load Testing, RESTful Development, Continuous Integration (CI), Scrum, Agile, Test-driven Development (TDD), Unit Testing, Rule-based Programming
Platforms
Linux, Windows, Embedded Linux, Google App Engine, Visual Studio Code (VS Code), Eclipse, Web, Android, Docker, WordPress, Google Cloud Platform (GCP), LAMP, Amazon EC2, Amazon Web Services (AWS)
Frameworks
Django, Django REST Framework, Qt, GStreamer, Realtime, OpenCL, Pyramid, Boost, LIVE555, Flask
Storage
PostGIS, XML Parsing, SQLite, MySQL, PostgreSQL, Google Cloud SQL, JSON, Google Cloud, Google Cloud Storage, GeoServer, Elasticsearch
Other
Software Development, APIs, Computer Vision, Image Processing, Multithreading, Debugging, Machine Learning, Video Streaming, RTSP, g++, Web Development, API Design, Messaging, RESTful Web Services, Amazon Mechanical Turk (MTurk), Cython, CrowdFlower, Transmission Control Protocol (TCP), UDP, Algorithms, Video & Audio Processing, Object Recognition, Audio Processing, Gunicorn, Deep Neural Networks (DNNs), Deep Reinforcement Learning, Video Encoding, Video Muxing, Troubleshooting, Augmented Reality (AR), Artificial Intelligence (AI), Sensor Data, Avionics, Internet Protocols, RPC, i18n, Full-stack, 3D Reconstruction, Simultaneous Localization & Mapping (SLAM), OAuth, Ajax, Security, Scraping, Objects, TCP/IP, Microsoft Media Foundation, Embedded Systems, Object Tracking, Digital Signal Processing, Ethernet, Video Processing, Version Control, MessagePack, Deep Learning, Flask-Admin, Elastic APM, Front-end Development, Geospatial Data, Spatial Analysis, Genetic Algorithms, Games, Game Development, Bots, Torch
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