Download PDF

Dan Rathbone

Contact

http://www.infinityworks.com

Personal Statement

I am a pragmatic full-stack engineer with a background in software engineering totalling 11 years commercial experience. I have worked with many different technologies through the years, giving me a broad skillset, and I am comfortable working at any stage of the product lifecycle. Over the last 4 years I have worked mainly on software performance and infrastructure automation for high traffic applications.

I have experience of leading and managing teams in small and large organisations (5 - 50,000 employees) and have experience of introducing best practice into teams and turning them around. I always like to bring a bit of fun to wherever I work and thrive amongst like-minded people.

Work experience

Sky Betting & Gaming Apr 2012 — Mar 2014

Lead Software Performance Engineer
I was responsible for ensuring that all SkyBet systems were 'fast'. This involved working across the entire tech stack, from tweaking the Linux kernel to CSS selectors and everything in between. It also involved working across the entire product life-cycle, from designing systems for performance and building proof-of-concepts up-front, through to in-life performance monitoring and capacity planning. 

I line managed a team of performance engineers working across the entire business. With the help of my team I managed to embed a performance focussed culture where performance is seen as an essential success factor in everything the company builds. Sky Bet under went significant growth in traffic during my tenure and the team made many significant improvements despite this. Delivering performance improvements earned the team the trust and respect of people across the business.

I was heavily involved in a project to rebuild the SkyBet mobile site during which we managed to achieve an order of magnitude increase in performance over our desktop site. In order to achieve this I helped the team build a performance-focussed codebase called 'tiny'. In addition to performance gains tiny has enabled the development teams to deliver products quicker and more easily. The mobile product we delivered went on to win an industry award as best mobile sports betting site.

During my last 6 months at Sky I helped run an infrastructure project that aimed to automate the build and deployment of all SkyBet infrastructure using tools such as Chef and Salt Stack. I was part of a multi-disciplinary team made up of colleagues from infrastructure, ops, dev-ops and software engineering. My role was to bring some engineering best practice in the form of source control, unit testing, continuous integration etc, and embed these in the team.

Orange Digital Jul 2010 — Apr 2012

Principal Software Engineer
I was responsible for the technical strategy, architecture and quality of systems developed by a 30+ strong team of technical staff. I was tasked with crafting innovative system designs to deliver quality and value to the organisation, whilst ensuring our deliverables met long term strategic goals.

To ensure the whole team were adhering to best practices I would regularly coach and mentor people, hold technical workshops and act as a technical authority. I usually helped out in areas where knowledge in the team was lacking or where we were working on something totally new. I always led by example, never afraid to get my hands dirty! For example i helped introduce scrum as a way to improve the predictability of our projects.

I proposed, championed and delivered an innovative solution to improve the hosting capabilities of Orange Digital by migrating to AWS. This allowed the company to reduce costs, increase quality and stability and gave us a chance to modernise our software stack.


Orange Mar 2007 — Jul 2010

Analyst Programmer
I was responsible for developing services and enablers for the Orange web and mobile portals. This covered a range of technologies which include PHP, MySQL, Apache, Linux, XML, XSLT, Javascript, CSS and HTML. I was involved with all phases of the software lifecycle from requirements gathering through to live support and also spend time providing guidance to other team members.

Terrapin Internet Oct 2003 — Mar 2007

Programmer
My work was primarily focussed on developing web applications for the facilities management industry. This involved working with large blue-chip companies (3M, Esso, Toyota) in the UK, USA and Canada. The web apps were built using a propriety server side language called ‘TerrapinScript’ that was based upon javascript, used a MySQL database and also extensive client side functionality in JS and CSS.

In addition to web applications I also developed Windows applications aimed at the home user and small business markets. These used a variety of technologies including C++, C, MFC, Win32, COM, TCP/IP and provided implementations of many internet communication protocols such as HTTP, POP3, SMTP and FTP.

Education

Electronic Engineering with Music Technology Systems Oct 1999 — Jun 2003

University of York
The course combined a degree in electronic engineering with extra modules on contemporary music technology systems. I achieved an MEng with a grade of 2:1. The course had a large software element to it and this is where I fell in love with software engineering. Notably I completed some large projects using Java and C++ working in a team and independently.

A Levels 1997 — 1999

Salt Grammar School
Maths: A
Further Maths: A
Physics: A
Music: C

GCSE 1994 — 1997

Salt Grammar School
4 x A*, 1 x A, 3 x B, 1 xC

Community

I have given talks at conferences such as Velocity EU and PHPNW to several hundred delegates. I attend local user groups such as Leeds PHP and Leeds DevOps and have given talks at some of them.

I have submitted work to several open source projects such as Chef, and also maintain the odd small project myself on Github.

I tweet and blog (although not as often as I would like!) about tech matters that I think people would find valuable

I am about to have an article about PHP performance published in Net Magazine

Key Skills

  • Software Engineering
  • High-traffic web-based systems development
  • Performance engineering
  • DevOps
  • Team leadership
  • Public speaking
  • Mobile web development

Technologies

  • Backend 
    • PHP
    • Ruby
    • Python
    • Bash
    • Go
  • OS
    • RHEL/CentOS
    • Debian/Ubuntu
    • Arch linux
  • Database
    • MySQL
    • MongoDB
    • Riak
    • Redis
    • Memcache
  • Infrastructure
    • AWS
    • VMWare
    • Ansible
    • Chef
    • SaltStack
    • Puppet
    • Cobbler
  • Frontend coding
    • Javascript
    • CSS
  • Tools
    • Webpagetest
    • JMeter
    • Git
    • Jenkins
    • KCachegrind
    • Splunk
    • Grafana/Graphite

Links

Twitter: @thetrilemma
Blog: http://trilemma.technology

Interests

Besides all things techie I enjoy racquet sports, running, cars, DIY and I have an unhealthy obsession with heavy guitar music!