David Whiting

CV

Experienced backend/data engineer with a mathematical background and a passion for simple well-designed code and elegant high-performance systems.

Previous professional experience includes high-performance low-latency data ingestion systems, backend microservices, batch data pipelines and developer tooling.

Extensive hobbyist experience in algorithmic art and music generation.

Employment history

Self Employed (May 2019 - present), Berlin

Artist & musician

  • Algorithmic generative audiovisual art (js, WebAudio, Canvas)
  • Music Production
  • DJing
  • Live Performances
  • Visual/installation art for clubs and exhibitions

SoundCloud (Oct 2015 - May 2019), Berlin

Senior Software Engineer (Data Platform Team)

  • High-performance distributed data transport, storage and processing services and systems (Scala, Java 8, Kafka, HDFS, Hadoop, Crunch).
  • Backend microservices and related architecture
  • Developer tooling and communications.

Spotify (Feb 2013 - Feb 2015), Stockholm

Senior Data Engineer

  • Creating infrastructure to improve the developer experience for engineers and analysts who use data to drive new products and make informed decisions, including migrating the data development platform from Python over Hadoop streaming to native JVM code based on the Apache Crunch framework (Java, Scala, Hadoop, Python, Hive, Pig)

Last.fm (Aug 2011 - Feb 2013), London

Java Developer, Data Team

  • Ground-up development of new scalable royalty reporting system using Hadoop for data filtering and aggregation, complete with a web front-end (Java, Hadoop, Cascading, Spring MVC, HTML, Javascript, jQuery, SQL, Postgres)
  • Maintainance and enhancement of existing company-wide statistics gathering and presentation software (Java, SQL, shell scripting, PHP).
  • Data extraction, interpretation and visualisation (Hive, R, GraphViz, Flot, Gephi)
  • Prototyping new data services for user statistics and radio playlisting (Python + Flask)

IPL Information Processing Limited (Oct 2010 - Jul 2011), Bath

Graduate Programmer

  • Improving test coverage on large public-sector resource management system (C#, NUnit)
  • Development of internal staff management tools (C#, ASP.NET, SQL)
  • Error logging and input validation implementation for online banking platform (C#, ASP.NET)
  • Software design verification for aviation engineering
  • Development of new training materials for future graduate engineers (Java, JUnit, JMock)

Morgan Stanley (Jul 2008 - Jun 2009), London

Software Developer (Industrial Placement)

Assorted small projects using Java, C#, ASP.NET and SQL, with lots of SOAP messaging going between them all (JSON over HTTP wasn't yet fashionable at the time)

Education

University of Bath (Sept 2006 - Jun 2010)

BSc Mathematics, upper second class honours

A mix of pure and applied modules including Algebraic Structures, Mathematical Biology, Complex Analysis, Digital Signal Processing, Category Theory and Vector Calculus.