DEAN TURPIN – turpin.dev
Senior software engineer with 23 years of commercial experience. Motivated self-learner; advocate of modern C++, Linux, knowledge sharing and Agile.
- Languages: C++17/20, STL, Bash, Python
- Build/CI: GitLab CI, Jenkins, Visual Studio, GNU Make, CMake, unit testing
- Config control: Git, Subversion, SourceSafe
- Networking: TCP/UDP, OSI, Wireshark
- Platform: Linux, Windows 10, Intel, ARM
- Virtualisation: WSL 2, Google Cloud, VMware, VirtualBox, Docker, AWS
- Graphics: JUCE, MFC
- Misc: Agile, Jira, Doxygen, Raspberry Pi, Blender, MongoDB
REDACTED1 – Senior Software Engineer (2019-present)
Senior C++ developer on the next generation of networked, high-bandwidth, embedded-Linux media servers. Also responsible for the design, implementation, documentation and automated test of the external API. Currently adding new interpolation modes to the existing OpenGL shaders.
REDACTED2 – Senior Software Engineer (2002-2019)
Design and implementation of distributed, C++ signal processing applications, 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 analysis, 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 insights 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
Commercially I develop using C++17, so I maintain various side-projects on GitLab to explore C++20 features that can’t be used at work. These projects cover topics such as audio processing, crypto trading strategies, and currently a Raspberry Pi Botnet.
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.
Education and interests
- Education: Computer Science BSc. 2:2 from REDACTED7
- Interests: Cycling, guitar, 3D design
- Language: English (native), French (provenance), Gujarati (extended family)
- Visual Studio 2019 16.9.3
- Windows 10.0.19042
- Ubuntu 21
- WSL 2
- Python 3.9.4
- Bash 5.1.4
- MongoDB 4.4.6
- OpenGL 3.3
- Blender 2.93.1