Dean Turpin -- Senior Software Engineer

Senior software engineer with 20+ years of commercial experience. Motivated self-learner, advocate of modern C++, Linux, automation and knowledge sharing. Open to relocation.

  • Languages: C++20/23, Python, Bash; OOP, Functional
  • Design: Multithreading, Data Structures, Algorithms
  • Build: VS Code, QtCreator, Visual Studio, GitHub Copilot, GNU Make, CMake
  • Source control: Git, Subversion
  • CI/CD: GitLab CI, Google Cloud, Jenkins
  • API: CryptoCompare, OpenAI, gSOAP
  • UI: Qt, JUCE, MFC
  • Unit test/profiling: Google Benchmark, Google Test, gprof, TDD
  • Networking: Wireshark, Asterisk, OSI (TCP/UDP)
  • CPU: Intel, ARM, SPARC
  • OS: Ubuntu, Windows 11, Solaris, VxWorks
  • Database: PostgreSQL, MariaDB, DBeaver
  • Documentation: MkDocs, Doxygen, Mermaid, Confluence, UML
  • Protocols: FIX, XMPP, SIP, PCM
  • Dev: Agile, Jira, Slack
  • Education: Computer Science BSc. 2:2 from Manchester University

C++ experience and side-projects

Commercially I develop using C++17, so I feel it is important to explore the latest C++ features in my personal projects. These cover topics such as crypto trading strategy backtesting, audio processing, data visualisation and OpenAI. 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 offered by compile-time programming and Haskell.

Currently a reviewer/TE on an unpublished C++ book aimed at junior developers.

See my personal projects: https://deanturp.in/

C++

  1. Daily FX/crypto backtester
  2. C++ concurrency support library
  3. Discrete Fourier transforms in C++23 -- Fourier analysis without 3rd-party libraries
  4. Exploring the FIX protocol
  5. Command line hearing test
  6. C++ recipes

AI

  1. Teach yourself C++ in 45 years -- training material complemented by the OpenAI API
  2. OpenAI sandbox
  3. Command line OpenAI wrapper

R

  1. Currency plotting in R

Web

  1. Online logbook -- using GitBook
  2. Static website generator -- a one line website generator (maybe two)
  3. Check my websites are up -- top level domain topology
  4. GitLab CI pipelines -- this web page

Misc

  1. Haskell energy usage calculations
  2. Curated list of tech quotes
  3. Skills timeline generator in R
  4. Blender renders
  5. Watchmaking resources
  6. Building projects
  7. Airbnb landing page
  8. Brighton recommendations

Top level domains

Toolbox

C++ git Linux Compiler Issues Misc
Day job C++17 GitLab on prem Ubuntu 20.04 (Focal Fossa) g++ 9 Jira Qt 5.15.2, CMake, clang-format, Wirehshark, bash, DBeaver, vim
By night C++23 gitlab.com Ubuntu 23.10 (Mantic Minotaur) g++ 13.2.0-4ubuntu1 GitLab GitLab VS Code web IDE, Google Cloud Platform (Sapphire Rapids), FIX, GoogleTest/Benchmark, Linux kernel 6.5.0-5-generic, ChatGPT 4, GitHub Copilot, Python 3.12.0rc2, CMake 3.27.4

Skills timeline

Influential technology

Technologies that have had a positive, lasting impact on me as a developer.

  • 2023: Google Benchmark, Haskell, ChatGPT, shellcheck, AVX, GitHub Copilot
  • 2022: SIP, GitBook, Compiler Explorer (on prem), GitLab (on prem), GitLab service desk, git worktrees, FIX, constexpr (for UB), GoogleTest, VS Code web IDE
  • 2021: std::format, 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
  • 2016: C++1z
  • 2015: git, GitHub

  • Rendered with ♥ on Thu Sep 21 20:53:15 UTC 2023 by an Ubuntu 9 (stretch) VM
  • Last commit message "update keywords"
  • Quote of the day "</body>"

results matching ""

    No results matching ""