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
C++
Discrete Fourier transforms in C++23
Teach yourself C++ in 45 years
Current compiler flags
Profiling Standard Library containers (Google Benchmark)
Finance
Misc
Watchmaking resources
Haskell energy usage calculations
https://explore.germs.dev/
https://md2html.germs.dev/
https://ping.germs.dev/
https://turpin.cloud/
https://germs.dev/
https://bank.germs.dev/ -- Companies House plotter
https://quotations.germs.dev/
https://skills.turpin.dev/ -- skills timeline (see below)
https://render.germs.dev/ -- Blender renders
https://sima.one/
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"