Daniel Paull

Software Developer

Personal Profile

I am an experienced software engineer, architect and development manager with a penchant for research and development projects. I excel in environments where innovative solutions are required or complex systems need to be built.

I have more than 19 years of professional software development experience across multiple domains and platforms; more than a decade of experience leading and managing development teams and have operated my own business for over nine years.

I have a such a strong focus on software design and performance that my current consulting business aims to work exclusively on projects where performance and scalability are paramount to success.

Work Experience

Vantari VR

www.vantarivr.com

Founder, Chief Technical Officer - July 2017 to Present

Vantari VR is a Medical Technology startup applying Virtual Reality to medical imaging. My previous expertise in Virtual Reality, computer graphics and software development management have been leveraged to ensure a smooth start to the technical side of this business. I have been instrumental in producing technical demonstrators and establishing the technical vision for the business.

Performance does Matter

www.performancedoesmatter.com.au

Founder, Director and Software Developer - July 2016 to Present

I started Performance does Matter to focus on performance and scalability. The idea underpinning the business is not necessarily to build high performance, highly scalable systems from the outset; rather, I'm interested in promoting unobtrusive software design and development methodologies that facilitate optimisation and scaling if/when it is required. I have observed that early design decisions are often at odds with long term performance and scalability requirements, resulting in systems that practically require a rewrite to support business growth.

Current and past projects include (clients held in confidence):

  • Seismic data processing - taking key algorithms from research (slow) to production (fast and scalable across a large compute cluster) along with support and maintenance of existing algorithms.
  • Online advertising broker - implement rule based advertisement selection where performance is paramount. Future work will include predictive modelling to further reduce latency.
  • Mining resource model data access - provide fast and scalable access to mining resource models (block models). A clever data indexing strategy was developed to provide fast spatial range queries.
  • Document image processing - for a FinTech customer, computer vision techniques were developed to automate parts of their KYC process. This included computer vision components that ran client side (in a web browser) and server side.
  • Architecture review - for a client in security/surveillance camera monitoring, I was engaged to provide a review on their existing architecture and assist with planning for future development that will focus on software reliability, robustness, performance and scalability.
  • Distributed system development - for a major mining company, undertake development of a system as part of mine automation that is required to be robust against various failures and tolerant of network partitioning. The system extends from embedded systems mounted to vehicles on site through to back-end server components to consolidate data and make it available to other internal systems.
  • Medical Imaging Virtual Reality demonstrator - for Vantari VR noted above, I undertook development of proof-of-concept and demonstrator systems to showcase medical imaging in VR. The technical challenges include supporting direct volume visualisation of detailed volumetric datasets at the framerates required by VR.

Think Bottom Up

www.thinkbottomup.com.au

Founder, Director and Software Developer - March 2008 - July 2016

I founded Think Bottom Up with two other partners. The business was so named to draw attention to a point on software development methodology. We had seen far too many systems designed in a top-heavy manner that were very difficult to change, whereas we believed that a bottom-up implementation strategy led to systems that were far more malleable, reusable and robust. Our mantra was "scope top-down, implement bottom-up" and we successfully ran most of our projects under our preferred methodology. I believe that we achieve excellent code reuse, high quality and very good value for our clients.

My role at Think Bottom Up covered all aspects of the business, including business development, customer relationship management, project management and software development.

Key projects that I worked on at Think Bottom Up include (clients held in confidence):

  • Seismic data processing with one of Perth's leading seismic data processing companies.
    • Developed and optimised several key algorithms that occupy a significant amount of time on their production cluster.
    • Achieved performance increases through fastidious low-level optimisation and scaling through careful job partitioning to achieve a good balance of IO and compute across the cluster.
    • Utilised the Intel Phi to increase compute capability.
    • Provided technical support to end users when required.
  • Resource model query and visualisation with a major mining company.
    • Utilised high performance database technology for storage of resource model data.
    • Supported fast ad-hoc query through dynamically compiled OpenCL code.
    • Utilised GPUs to accelerate queries.
    • Developed desktop and web client applications for real-time query and 3D visualisation.
    • My duties included system design, implementation and leading a team of developers.
  • Job and workflow management for the Square Kilometre Array (ICRAR/UWA).
    • Undertook a trial of Think Bottom Up's high performance database technology to determine suitability for the Science Data Management part of the Square Kilometre Array (SKA) project.
    • I was involved in the design of the trial system and also in reviews of trial results. The SKA project poses one of the largest data management problems in the world.
  • Voter registration system for developing countries.
    • Embedded system development.
    • Integrated several biometric capture and other peripheral devices.
    • Designed the system to minimise the chance of data loss or corruption when in the field without connectivity.
    • Integrated the system with Automatic Fingerprint Identification Systems (AFIS) to find duplicate enrolments by matching collected biometrics.

Runge (now Runge Pincock Minarco)

Software Architect - 2007 to 2008

Runge acquired Fractal Technologies in 2007 and I stayed on as the Software Architect for the Mining Dynamics group. Mining Dynamics was an Enterprise solution for exploration and mining data. In this role I:

  • Oversaw the integration of the Runge and Fractal Technologies development teams.
  • Designed and implemented proof-of-concept systems and applications.
  • Focused on high level design of the system to meet both technical and business requirements.
  • Liaised with clients, end users and internal stakeholders.

Fractal Technologies / Fractal Graphics

Technical Director - 2006 to 2007

Development Lead - 2002 to 2006

Software Engineer/Senior Software Engineer - 1998 to 2002

I started with Fractal straight out of University and, over some 9 years, worked my way up from Software Developer into senior management. I was responsible for the entire technical side of the business at the time that Fractal was acquired by Runge.

Some of my accomplishments from my time with Fractal are noted below.

  • Managed product development, including long-term vision and requirements analysis, liaised with Quality Assurance, Support, Documentation, Sales/Marketing and Executive Management personnel, and managed project schedules and defect tracking.
  • Instituted software development methodologies and practices that fostered a culture of high productivity without sacrifice on quality.
  • Managed customisation, delivery and deployment of solutions for various Exportation and Mining clients
  • Developed FracSIS Spatial Information System, a product that allowed integration and visualisation of disparate datasets from mining, GIS, geophysical and other spatial applications. FracSIS was sold to over 500 mining and exploration clients.
  • Developed Spatial Data Server (SDS), an enterprise 3D spatial data management system with a web-based front-end. Stability, scalability and customisability were key aspects of the development.
  • Designed and developed frameworks for 3D visualisation, spatial query, coordinate system transformations and file format translation, and developed numerous translators (including reverse-engineering various file formats) and visualisation types.
  • Developed a desktop-based immersive Virtual Environment for FracSIS that used haptic (force feedback) interaction and stereo projection techniques for geological modelling. Gained experience in virtual reality, force feedback devices, six degree-of-freedom input devices, 3D graphics, co-location of visual and haptic models, and stereo projection.
  • Developed a geophysical data processing package that produced a geophysical inversion from measurements at the surface (a window into what structures under the earth may have generated the magnetic or gravitational signal). The implementation was challenging due to the large datasets and performance requirements.

Key Skills

Business/Management Skills

  • Project management
  • Software development management
  • Team leading
  • Customer relationship management
  • Business development
  • Training/mentoring

Domain experience

  • Medical technology
  • Finance technology
  • Surveillance
  • Exploration and mining
  • Oil and gas
  • Radio astronomy
  • Voter registration (for developing countries)
  • Biometrics
  • Enterprise/line of business applications
  • Public/government projects

Technical Skills

  • High performance computing
  • Software architecture and design
  • Computer graphics
  • Scientific visualisation
  • Virtual reality
  • Haptic interaction/feedback
  • Computer vision
  • GPU programming
  • Intel Phi programming
  • Code vectorisation
  • Multithreading
  • Parallel processing
  • Lock free/wait free algorithms
  • Asynchronous programming
  • Distributed systems
  • Real-time collaboration
  • Operational transformation
  • Database management
  • Data analytics
  • Embedded systems
  • Digital signal processing

Key programming languages, platforms and tools

  • Windows
  • Linux (and other *nix)
  • C/C++
  • Java
  • Python
  • .Net
  • C#
  • XAML/WPF
  • Lua
  • Web development
  • HTML
  • WebRTC
  • PHP
  • Visual Studio
  • Eclipse
  • Unix tools (vi, bash, etc)
  • Subversion
  • Git
  • Cuda
  • OpenCL
  • OpenMP
  • OpenCV
  • OpenGL
  • Unity3D

Education

University

Bachelor of Engineering (Hons), 1998. University of Western Australia.

 

Other Interests

  • Coffee roasting and brewing
  • Rock music (listening and playing)
  • Photography
  • Muscle cars
  • Electronics
  • Speaker building