Dean Turpin — Senior Software Engineer

Senior software engineer with 25 years of commercial experience. Motivated self-learner; advocate of modern C++, Linux, knowledge sharing and Agile.


  • Languages: C++23, Bash, Python, Haskell; OOP, Functional
  • Design: Multithreading, Templates, Data Structures, Algorithms
  • Build: QtCreator, Visual Studio, GNU Make, CMake, Ninja, Clang Format
  • Source control: Git, Gerrit, Subversion
  • CI/CD: GitLab, Jenkins, TDD, Profiling
  • Google: Benchmark, Test, Cloud
  • Networking: TCP/UDP, OSI, Wireshark
  • Platforms: Linux, ARM, Windows 11
  • Documentation: Doxygen, Mermaid, Confluence
  • Protocols: FIX, XMPP, SIP, gSOAP, PCM
  • Dev: Agile, Jira, Slack, Security Clearance
  • Education: Computer Science BSc. 2:2 from Manchester University

C++ experience and side-projects

Commercially I develop using C++17, therefore I maintain various side-projects on GitLab to explore new C++ features. These projects include audio processing, trading strategy back-testing and Companies House analysis.

I'm an advocate of ad-hoc scripting for rapid development of ideas, and I believe a solid foundation in ubiquitous languages like Bash and Python is essential in CI and cloud computing. I also have an interest in a more functional approach to programming offered by template metaprogramming and languages such as Haskell.

Example projects

  • Discrete Fourier Transforms in C++23: dft.germs.dev
  • C++ best practice: turpin.dev
  • Energy usage calculations in Haskell: energy.turpin.cloud
  • FIX processing: fix.germs.dev
  • Command line assembly explorer: explore.germs.dev
  • Online logbook: turpin.one

Pipelines

Online logbook

  1. GitBook online logbook

C++

  1. Discrete Fourier transforms in C++23
  2. Teach yourself C++ in 45 years
  3. Current compiler flags
  4. Profiling Standard Library containers (Google Benchmark)

Finance

  1. FIX processing

Misc

  1. Watchmaking resources
  2. Haskell energy usage calculations
  3. https://explore.germs.dev/
  4. https://md2html.germs.dev/
  5. https://ping.germs.dev/
  6. https://turpin.cloud/
  7. https://germs.dev/
  8. https://bank.germs.dev/ -- Companies House plotter
  9. https://quotations.germs.dev/
  10. https://skills.turpin.dev/ -- skills timeline (see below)
  11. https://render.germs.dev/ -- Blender renders
  12. https://sima.one/
  13. https://mews.one/

Top level domains

Toolbox

C++ git Linux Compiler Issues Misc
Day job C++17 GitLab on prem Ubuntu 20.04 (Focal Fossa) g++9 GitLab issues Qt 5.15.2, CMake, clang-format, Wirehshark, bash, DBeaver, vim
By night C++23 gitlab.com Ubuntu 23.04 (Lunar Lobster) g++ 12.2.0 GitLab issues GitLab VS Code web IDE, Google Cloud Platform, nala, gprof, FIX, Haskell 9, Python 3.10

Skills timeline

Influential technology

  • 2023: Google Benchmark
  • 2022: SIP, GitBook, Compiler Explorer (on prem), GitLab (on prem), GitLab service desk, git worktrees, FIX, constexpr (for UB)
  • 2021: fmtlib, TMP, C++20 ranges and views (lazy evaluation)
  • 2020: Blender, Media servers, ZeroMQ, Tracy profiler, Raspberry Pi
  • 2019: Cloud computing, R/notebooks, GitLab, Hugo
  • 2018: Docker
  • 2017: Cryptocurrency, blockchain

  • Rendered with ♥ on Sat Feb 4 13:26:51 UTC 2023 by an Ubuntu 9 (stretch) VM
  • Last commit message "TLDs only"
  • Quote of the day "Time is too precious to be wasted on a cheap wristwatch - George Daniels"

results matching ""

    No results matching ""