Paul Thompson
Lead Software Engineer at DNA Energy- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
Topline Score
Bio
Experience
-
DNA Energy
-
Australia
-
Electric Power Transmission, Control, and Distribution
-
1 - 100 Employee
-
Lead Software Engineer
-
Mar 2023 - Present
I am the Lead Software Engineer at DNA Energy, specializing in software engineering for energy management systems in cloud and embedded systems. I have broad expertise in complex systems development, geospatial, estimation, data fusion, and communication. I am the Lead Software Engineer at DNA Energy, specializing in software engineering for energy management systems in cloud and embedded systems. I have broad expertise in complex systems development, geospatial, estimation, data fusion, and communication.
-
-
-
Helix Collective
-
Australia
-
Software Development
-
1 - 100 Employee
-
Lead Software Engineer
-
Feb 2020 - Mar 2023
I work with clients of Helix to engineer software products that solve problems.I work across many domains including numerical, spatial, web and financial data processing systems in conjunction with software development to build web applications and cloud deployments.I have experience in software engineering, development and research in a wide range of technical computing fields including mapping, imagery, navigation, machine learning and lidar processing.
-
-
Senior Software Engineer
-
Jul 2018 - Feb 2020
-
-
-
-
Software Engineering Contracting
-
Apr 2018 - Jun 2018
-
-
-
4DMapper
-
United States
-
IT Services and IT Consulting
-
1 - 100 Employee
-
Senior Software Engineer
-
Aug 2016 - Mar 2018
-
-
-
Black Moth
-
Australia
-
Automation Machinery Manufacturing
-
1 - 100 Employee
-
Senior Software Engineer and Tech Lead
-
Oct 2014 - Jul 2016
Senior Software Engineer and Tech Lead, Embedded Linux Systems. Team Leadership: - Tech lead (team of 5), Scrum Master. - Remote/online teamwork process improvements. - JIRA setup, administration and team usage improvement. - Git team workflow process and project structure improvement. - Improvement of code quality & introduction of code review processes. - Customer service desk setup and process improvement. - Software problem solving and team communication. - Small business/startup environment. Video recording System development: Improvement and maintenance of embedded video recording system. - C++, Python. - OpenEmbedded, Yocto, Bitbake & CMake build system. - GStreamer, OpenCL. - Development of camera and inertial sensor on-chip register interfacing. Embedded Linux System Software: Design and development for system management software and API. - Python - CherryPy web server - API design and development - ctypes Embedded Linux Base Infrastructure: Code and build system porting, restucturing and upgrading for base infrastructure for embedded Linux. - C - U-Boot - Linux Kernel - Make, OpenEmbedded, Yocto, Bitbake build system. - Freescale i.MX ARM system-on-chip hardware. Web development: Developed a web graph based tool for tracking workflow for the hardware manufacturing team. - Project initiation and scoping. Initial concept, backend, API and frontend design and development. Backend: - Neo4j graph database - PostgreSQL database Server: - Node.js javascript server platform - Express framework Front end: - HTML5 single page application - AngularJS MVC javascript framework - Bootstrap HTML & CSS components Show less
-
-
-
Rio Tinto
-
United Kingdom
-
Mining
-
700 & Above Employee
-
Senior Adviser - Software Engineer
-
Nov 2011 - Jun 2014
- Developed a C++ mine data integration and visualisation product for Rio Tinto surface mines. The objective was to automate information flows and integrate into mine operations to improve productivity. - Designed and developed the live terrain data processing algorithms and server backend to provide frontend visualisation clients with a reconstructed terrain surface model. - Transitioned the software development from research through to deployment. - Designed and implemented a C++ configuration management tool to enable flexible configuration across multiple deployment sites, by developers and delivery personnel. - Pragmatic continuous improvement of software performance for speed, data (memory, disk) and network utilisation. - Developed core C++ libraries. Memory mapped file data storage to enable large stores of C++ objects and containers. Advanced exception handling for error diagnostics and maintainability. - Extended our event handling stack to enable low latency inter-thread communication of C++ objects for efficiency and modularity. - Improved SQL query building for the database access backend for 3D drilling operations data. - Developed data integration modules for established mining data systems. - Improved software and development processes and quality systems. Promoted extensive use of git source control and code review collaboration to improve code quality. Automated builds and testing. - Team of 11 + 2 external collaboration partner teams. Agile scrum teamwork method. Certified ScrumMaster. - Liased with researchers, developers, devops and delivery teams and customer domain experts to develop innovations from research to product. - Automated packaging and deployed to 6 mine sites worldwide using RedHat packages and Puppet configuration management for reliable and scalable deployment. - Development in C++, Boost, CMake, STL, Linux, Windows, Python, ZeroMQ, Git, Puppet, PostgreSQL. Show less
-
-
-
University of Sydney
-
Australia
-
Higher Education
-
700 & Above Employee
-
Research Engineer
-
May 2010 - Nov 2011
At the Rio Tinto Centre for Mine Automation (RTCMA), Australian Centre for Field Robotics (ACFR), The University of Sydney.- Applied engineering research in C++ for development of a mine terrain geometry data fusion, estimation and mapping system. Patented method for terrain data fusion.- Research programme taken through to development and deployment in Rio Tinto.
-
-
Research Associate
-
May 2009 - May 2010
- Graphical models for decentralised inference in C++ - Developed a 2-tree decentralised sparse solver approach - Technical lead for for two research projects of 5, plus collaborations from external sponsors - Developing field implementation and experiments from the research.
-
-
PhD thesis research and development
-
Jan 2007 - May 2009
- Developed a novel, graph representation for sparse matrix systems in C++.- Developed the associated matrix factorisation (indefinite LDL) and solving algorithms.- Applied this to sparse nonlinear estimation problems in localisation and mapping.
-
-
Vision and Decentralised Data Fusion Research and Development
-
Jan 2005 - Dec 2006
- Developed and field tested the vision and decentralised data fusion system for groundfeature mapping - Industry funded project - C++ on linux on unmanned aerial vehicles - Optimisation, data association, communications and data fusion algorithms- Support-vector-machine (SVM) machine learning based feature detection, classification and matching algorithm for vision - Team of 6.
-
-
-
BCS Technologies
-
France
-
IT Services and IT Consulting
-
1 - 100 Employee
-
Embedded electronics and software engineer
-
Jan 2002 - Jan 2003
Custom embedded & electronic product development. - Embedded C programming – Electronics hardware design and microcontroller embedded software for customised industrial control products. – Embedded PCs, microcontrollers, analogue & digital electronics hardware design, assembly, testing. Custom embedded & electronic product development. - Embedded C programming – Electronics hardware design and microcontroller embedded software for customised industrial control products. – Embedded PCs, microcontrollers, analogue & digital electronics hardware design, assembly, testing.
-
-
Education
-
The University of Sydney
PhD, Field Robotics, Estimation, Data Fusion -
The University of Sydney
Bachelor of Engineering (BE), Mechatronics, Robotics, and Automation Engineering