Geoffrey Daniels, Software Developer in Bristol, United Kingdom
Geoffrey Daniels

Software Developer in Bristol, United Kingdom

Member since October 7, 2021
Geoff is an experienced software developer and researcher, having completed a master's followed by a computer vision doctorate at the University of Bristol. Professionally as both a solo developer, and either with or leading teams, Geoff has covered an extensive variety of projects from conception to production, finding elegant solutions to complex problems. He is a versatile and multidisciplinary engineer and forever looking forward to what he will learn tomorrow.
Geoffrey is now available for hire

Portfolio

  • Ultraleap
    C++, Android, Python, Leadership, Management, Agile, Kanban...
  • Kudan
    C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git...
  • Kudan
    C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git...

Experience

Location

Bristol, United Kingdom

Availability

Part-time

Preferred Environment

Linux, C++, Git, CMake, Computer Vision

The most amazing...

...experiment that I created involved strapping subjects into VR headsets with external cameras and using SLAM to create a personal virtual world on the fly.

Employment

  • Principal Software Engineer

    2021 - 2022
    Ultraleap
    • Spearheaded a project to add a comprehensive evaluation of Ultraleap's technology for internal and external verification. Utilizing simulated and real data with expected ground truth outcomes, this project provided numerical values of performance.
    • Led the development of Ultraleap's Android support, managing a team that created everything from cross-platform porting of code to optimizations and power analysis of the final system.
    • Mentored individuals and coached a team of engineers to minimize conflict and maximize productivity. This was achieved through experienced insight into effective engineering practices, including training, design, code review, planning, and retros.
    Technologies: C++, Android, Python, Leadership, Management, Agile, Kanban, Continuous Integration (CI), Git, CMake, Docker, Multithreading, Cross-platform
  • Head of Engineering

    2019 - 2021
    Kudan
    • Led, mentored, and grew the engineering team; implemented a number of new processes to minimize administration overhead for engineers and streamlined communication between our offices in the UK and Japan.
    • Oversaw from inception to release a new LiDAR SLAM system built from the ground up while maintaining technical management and development responsibility for the core Visual SLAM product.
    • Architected expansion of the core optimized computer vision libraries used to power all products. This included multiple new camera models, new feature scoring pipelines, and a highly modular robust solver library, all while maintaining compatibility.
    Technologies: C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git, Management, Architecture, Optimization, Windows, Linux, MacOS, ARM, Multithreading, Cross-platform
  • Computer Vision Engineer

    2018 - 2019
    Kudan
    • Designed and implemented a new build system, upgrading the company from only supporting an XCode development pipeline, to a system using CMake and supporting Windows, Linux, Mac, and Android.
    • Modernized all internal source code repositories to simplify cross-platform development and enable continuous integration, testing, and delivery.
    • Created a number of new libraries to wrap platform-specific functionality and maintained a position as the driving force behind ensuring our code was supported across different platforms and compilers.
    • Presented numerous internal talks to the team on SLAM research topics and on our current work to motivate a discussion about the future direction of our computer vision software.
    • Improved map reconstruction for a ten-fold speed increase with no accuracy loss.
    Technologies: C++, Computer Vision, CMake, Simultaneous Localization & Mapping (SLAM), Git, Architecture, Optimization, Windows, Linux, MacOS, Multithreading, MATLAB, Cross-platform
  • Senior Software Engineer

    2017 - 2018
    Close Air Solutions
    • Created the tracking system for the Hyper Real Immersion (HRI) project. HRI was an augmented reality training simulator that could be used at a training location to facilitate more realistic simulated training.
    • Researched, sourced, and integrated all components to build the standalone HRI system. This involved bringing together multiple sensors and systems to produce a rugged, lightweight, wearable augmented reality system.
    • Developed numerous software plugins for the MACE and VRSG software platforms that were used to provide training services.
    • Automated the creation of a 3D map of a test area more than 100 square km in size. Initially, the drone footage was processed using Agisoft PhotoScan and then chunk by chunk fed and combined into ArcGIS.
    Technologies: C++, C#, C, Visual Studio, Electronics, Arduino, Simulations, Hardware Design, DirectX
  • Software Engineer

    2016 - 2017
    Close Air Solutions
    • Designed, developed, prototyped, and made ready for production, a military communications interface system to enable trainees to use their standard-issue equipment while in a simulated training environment.
    • Created a large base library of common functionality that I subsequently used to replace large swathes of code in multiple applications.
    • Supported the further expansion and development of a previously developed simulated military GPS receiver.
    Technologies: C++, C#, C, Visual Studio, Electronics, Arduino, Simulations, Hardware Design, DirectX
  • Embedded Software Engineer

    2012 - 2015
    University of Bristol
    • Created a software library to enable the use of the LPCXpresso LPC1769 ARM Cortex-M3 and a breakout board by undergraduate labs.
    • Designed and taught the three lab courses that used the created software library.
    • Maintained the software and provided support and updates as required over the course of the project.
    Technologies: C, Arm Cortex-M3, Architecture
  • Software Engineer

    2011 - 2011
    University of Bristol
    • Upgraded a prototype automatic birdsong recognition project into a fully-fledged engaging and informative software package to be used for open-day demonstrations.
    • Expanded the number of birds supported by the software to include every species native to the United Kingdom.
    • Created posters, documentation, and presentations to support the software demonstration.
    Technologies: C++, Digital Signal Processing
  • Researcher

    2010 - 2010
    University of Bristol
    • Created a cellular neural net (CNN) simulator using MATLAB to aid the development of a synthetic sensory skin for prosthetic limbs with inbuilt distributed computing.
    • Improved CNN simulation accuracy by using LTspice to simulate the analog circuitry of each CNN cell and its connections to other cells.
    • Packaged and documented the system to enable other researchers and engineers to integrate different CNN cell varieties and easily control the connectivity between layers.
    Technologies: MATLAB, LTspice, Multithreading, Cross-platform
  • Software Engineer

    2009 - 2009
    SJL Media Solutions Ltd
    • Created the software used by the contestants on the TV game show Britain's Best Brain. This involved games on touchscreens, integrating with custom hardware, and using a network command and control system.
    • Evaluated numerous touchscreen display devices to contrast their performance when being used for each of the developed games.
    • Diagnosed and repaired systems rapidly while under heavy pressure in the studio as time is severely limited.
    Technologies: Visual Basic, Visual Studio, C#, DirectX, Touchscreens

Experience

  • GTL - C++ Template Library
    https://github.com/gpdaniels/gtl

    A collection of useful cross-platform, well-commented, self-contained, simple, and interesting C++ classes in the style of the standard template library.

    In my free time, I like to work on and solve interesting software engineering problems. This project has been the culmination of years of creation, modification, refactor, and comment.

  • SPIKE Prime
    https://github.com/gpdaniels/spike-prime

    This project is a collection of useful information about the Lego Mindstorms Robot Inventor (51515), LEGO SPIKE Prime (45678), and LEGO SPIKE Essential (45345).

    Part of the fun of playing with any new bit of hardware is taking it apart and seeing how it all fits together. To help understand what's under the hood of the newest LEGO robotics system I've been digging into what makes it tick.

Skills

  • Languages

    C++, Python, C#, C, Visual Basic
  • Tools

    CMake, Git, Visual Studio, Arm Cortex-M3, MATLAB, LTspice
  • Paradigms

    Cross-platform, Unit Testing, Continuous Integration (CI), Management, Agile, Kanban
  • Other

    Computer Vision, Optimization, Architecture, Simultaneous Localization & Mapping (SLAM), Multithreading, Electrical Engineering, Reverse Engineering, Firmware, Leadership, ARM, Electronics, Simulations, Hardware Design, Digital Signal Processing, Touchscreens
  • Platforms

    Linux, Windows, Android, MacOS, Docker, Arduino
  • Libraries/APIs

    DirectX

Education

  • Ph.D. Degree in Computer Vision
    2011 - 2016
    University of Bristol - Bristol, UK
  • Master's Degree in Electrical and Electronic Engineering
    2007 - 2011
    University of Bristol - Bristol, UK

To view more profiles

Join Toptal
Share it with others