DEAN TURPIN – turpin.dev

  • REDACTED9
  • REDACTED8

Senior software engineer with 23 years of commercial experience. Motivated self-learner; advocate of modern C++, Linux, knowledge sharing and Agile.

  • Languages: C++17, STL, Bash, Python, OOP, Functional
  • Build/CI: GitLab CI, Jenkins, Visual Studio, GNU Make, CMake, Ninja, unit testing
  • Config control: Git, Gerrit, Subversion
  • Networking: TCP/UDP, OSI, Wireshark
  • Platform: Linux, Windows 10, Intel, ARM
  • Virtualisation: WSL, Google Cloud, ESXi
  • Graphics: JUCE, MFC, Qt
  • Design: Data structures, algorithms, multithreading
  • Misc: Agile, Jira, Slack, Doxygen, Raspberry Pi, Blender, mentoring

Employment

REDACTED0 – Senior Software Engineer (2021-present)

TBD

REDACTED1 – Senior Software Engineer (2019-2021)

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.

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.

Customer-facing demonstrations

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.

Knowledge sharing

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

Actively promoted alternative languages and successfully demonstrated the use of JavaScript where it previously hadn’t been employed. Encouraged consideration of other programming paradigms to foster deeper reasoning about software. Keen to identify and encourage skills in graduates that are poor or absent in the established workforce.

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, trading strategy back-testing and a Raspberry Pi botnet.

I’m an advocate of ad-hoc scripting for rapid development of ideas, and I believe a solid foundation in a ubiquitous language such as Bash 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.

Education and interests

  • Education: Computer Science BSc. 2:2 from REDACTED7
  • Interests: Cycling, guitar, 3D design
  • Language: English (native), French (provenance), Gujarati (extended family)

Current tech stack

  • Qt 5
  • git
  • Gerrit
  • Ninja
  • clang-format
  • Ubuntu 21.10 (Impish Indri)
  • C++20
  • g++ 11.2.0
  • Python 3.10
  • Bash 5.1.8
  • Blender 2.93.1
  • Wireshark 3.4.8

Cloud services

  • leaf.cloud (powered by green energy)
  • cloud.google.com
  • linode.com
  • cloudflare.com

Generated by a Linux VM on DATE from a redacted public version: https://turpin.dev/post/bio