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++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
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?"