DEAN TURPIN – turpin.dev
Senior software engineer with 20+ years of commercial experience. Advocate of modern C++, Linux, knowledge sharing and Agile.
- Languages: C++17/20, STL, Bash, Python
- Config control: Git, Subversion, SourceSafe
- Build/CI: GitLab CI, Jenkins, Visual Studio, GNU Make
- OS: Linux, Windows 10, Solaris, VxWorks
- VM: WSL 2, VMware, VirtualBox, Docker, Google Cloud, AWS
- Graphics: JUCE, MFC
- Misc: Agile, Jira, Blender, Tracy Profiler, TCP/UDP
REDACTED1 – Senior Software Engineer (2019-present)
Senior developer on the next generation of high-bandwidth, embedded-Linux media servers. Responsible for the design, implementation and documentation of the external API, and implementing dual-redundancy using C++ and Python. Daily work also involves network analysis and profiling.
REDACTED2 – Senior Software Engineer (2002-2019)
Design and implementation of distributed, C++ signal processing applications, that were deployed across a network of multi-core embedded Linux and Windows machines. Required time-sensitive TCP/UDP communication and tight coupling with FFT firmware over PCIe. Source code was managed in Subversion and Jenkins was used for build and test. Software architect on a legacy system upgrade to the latest digital receiver. Responsibilities include system and network design, software development, requirements reconciliation, integration management and ownership of the external interface.
Scripting and networking
Deployed applications to allow non-technical managers read-only access to live systems, offering an insight into the products they manage but ordinarily have little visibility. Proposed and demonstrated a technique to allow remote debugging and deployment of air-gapped systems using standard IT hardware. Used Puppet to automate a lengthy manual installation procedure. Proactive in highlighting opportunities for autotest in legacy systems.
Go-to engineer for live trial support. Conscious of the need for diplomacy in customer-facing scenarios. Implemented and demonstrated a multi-lingual Windows-based training tool and received a formal award for my contribution to the successful end-user demonstration in REDACTED3. Completed installation of software in REDACTED4 in difficult working conditions and under close customer scrutiny. Deployed software on ship, requiring problem solving and redesign in hostile environments.
Proposed and facilitated a mini research programme for graduates. Potential topics for investigation were captured in a Jira sandbox project, enabling new starters to manage their own work whilst also providing exposure to the tools and Agile process. Regularly acted as an informal mentor, distributing weekly summaries with relevant articles and software puzzles. First to use the company wiki as an online logbook in 2009.
Exploring languages and developing people
REDACTED5 – Software Engineer (2000-2002)
Coding and integration of large concurrent VxWorks-based systems, kernel configuration, built-in test and on-site software installation.
REDACTED6 – Graduate Software Engineer (1998-2000)
Design of lab networks and configuration of VxWorks kernel. Small-scale coding, senior engineer support, command line scripting.
C++ experience and side-projects
Whilst C++20 is now readily available, commercially I develop using C++17. So I maintain various side-projects on GitLab – covering topics such as audio processing, finance and DNA sequencing – which allow me to explore C++20 features that cannot be used at work.
I’m also an advocate of ad-hoc scripting to complement rapid development of ideas, and I believe a solid foundation in a ubiquitous language such as Bash is advantageous in CI and cloud computing.
- Wikipedia contributions: http://tools.wmflabs.org/guc/?user=Dean+Turbo
Education and interests
- Education: Computer Science BSc. 2:2 from REDACTED7
- Interests: Cycling, guitar, fermentation, 3D art/design
- Language: English (native), French (provenance), Gujarati (extended family)
- Visual Studio 2019 16.8.4
- Windows 10.0.19042
- Ubuntu 20.10
- WSL 2
- GCC 10.2.0
- Clang 11.0.0
- Python 3.8.6
- Bash 5.0.17
- Tracy Profiler 0.7.3
- ZeroMQ 4.2.1
- JUCE 5.4.3
- Wireshark 3.4.3
- Blender 2.91.2
- DaVinci Resolve 17