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.

https://turpin.dev/

  • Languages: C++26, Python, Bash; OOP, Functional
  • Design: Multithreading, Data Structures, Algorithms, low-latency
  • Build: VS Code, QtCreator, Visual Studio, GNU Make, CMake, Ninja, Copilot
  • Source control: Git, Subversion
  • CI/CD: GitLab, GitHub, Docker, Google Cloud, Jenkins, Ansible
  • API: CryptoCompare, MarketStack, OpenAI, gSOAP, REST, FIX
  • UI: Qt, JUCE, MFC
  • Unit test/profiling: Google Benchmark, Google Test, gprof, regex
  • Networking: Wireshark, libpcap, Asterisk, OSI (TCP/UDP)
  • CPU: Intel, ARM, SPARC
  • OS: Ubuntu, macOS, Alpine, Unix (Solaris), VxWorks
  • Database: PostgreSQL, MariaDB
  • Documentation: MkDocs, Doxygen, Mermaid, Confluence, LaTeX, pandoc
  • Audio/Video: Logic, Audacity, SIP, PCM, XMPP, ONVIF
  • Productivity: Agile, Jira, Slack, Mentor
  • 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. I track the latest Ubuntu Docker image in my CI pipes and I publish a nightly Docker build of gcc HEAD built from source.

Projects cover subjects such as PCAP processing, audio analysis, trading strategy backtesting and OpenAI. I believe a solid foundation in ubiquitous languages such as Bash and Python is essential in CI and cloud computing; I have an interest in a more functional approach offered by compile-time programming; and I consider profiling and benchmarking an integral and continuous part of the development process for low-latency applications.

Currently reviewing an early draft of "Beginning C++ Game Programming" by John Horton (packt publishing).

Top level domains

top level domains

Current tech stack

[Refreshed 2024-10-10]

C++26, Ubuntu 24.10, macOS 15.0.1, g++ 15, clang++ 19, clang-format, GitLab CI, Qt 5.15, Wirehshark, bash 5.2, vim, pjsip 2.14, VS Code, CMake 3.30.3 Google Cloud, GoogleTest/Benchmark, gprof, Linux kernel 6.8.0, Darwin kernel 23.4, Copilot, Python 3.12.2, Docker 26.1.4, Logic Pro 11, rekordbox 7.0.1.0021, Asterisk 20.6.0

Skills timeline

Influential technology

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

  • 2024: gcc/clang from source, C++ modules, constexpr cmath, Dev Containers, Codespaces, ChatGPT voice, -Wnrvo
  • 2023: Google Benchmark, Haskell, ChatGPT, AVX, Copilot, OpenSCAD
  • 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 Oct 10 19:02:47 UTC 2024 by an Ubuntu 9 (stretch) VM
  • Last commit message "copy from repo"
  • Quote of the day "How many managers does it take to change a software engineer?"

results matching ""

    No results matching ""