- Born 1974; British national
- Location: Surbiton, Surrey; able to work in London or anywhere sensibly commutable
- willing to undertake domestic and international travel (but no driving licence)
- Email address: cv@darrenf.org
- Qualifications: BSc. (Hons) Computing and Information Systems, Manchester University, 1995
Key skills and experience
- 16 years commercial experience in the internet industry
- Experienced architect, designer, and co-author of large-scale high-performance backend systems for websites: feed processing, templating, content management, publishing, configuration management
- 11 years experience in package management, release control, and message queues
- 14 years experience in OOP (Perl 5, Python); desktop and server UNIX variants (FreeBSD, Linux, OS X), shell scripting, source control (CVS, subversion, git), Apache administration.
- 8 years experience with virtualised development and production environments, both proprietary (Yahoo! bespoke, based on vmware and RedHat Enterprise Linux) and commercial/open (vmware, virtualbox, Amazon EC2, Google App Engine)
- Exposure to PHP, jquery.
- Experienced user of collaborative software: bugzilla, RT, twiki, confluence, Jira
- Core architectural contributor to r3, a Yahoo! open source code management and internationalisation tool
- 5 years experience of agile software development using scrum
- BCS/ACTT accredited trainer
Personal attributes
I am conscientious, loyal, hard-working and a fast learner, with excellent troubleshooting skills. I operate effectively on my own and in teams of different sizes, including those split across geographical borders and/or timezones; and I am an effective and persuasive communicator with a down to earth attitude.
I am a strong advocate of comments, documentation, architectural diagrams, and other non-code aspects of software engineering.
Mostly platform and language-agnostic, though naturally I do have preferences and degrees of experience (see above). Within reason, I'm equally happy being asked to provide an opinion as I am to simply be told what I have to learn and use to do (or get) the job.
Employment history
Self-employed, September 2011 - present
Since September 2011 I have been working on a variety of projects, both by myself and in an early-stage startup with several ex-colleagues. Some technologies I have used are the python frameworks django and bottle.py, the NoSQL datastore redis, plus nginx, virtualbox, and vagrant
Yahoo!, February 2010 - August 2011 (permanent)
Yahoo! Inc. is a leading global Internet brand and one of the most trafficked Internet destinations worldwide.
Yahoo! Sports in Europe is run in partnership with Eurosport, who provide the vast majority of news and data feeds for inclusion on the Yahoo! sites throughout the region.
Duties and responsibilities
- Jointly responsible for all backend engineering for Yahoo!'s sports sites in 5 European markets: UK, FR, DE, ES and IT, with a particular focus on platform and website stability
- All code was in Perl or shell. We used a great many CPAN modules, but no third-party frameworks; all large systems were proprietary, around 50% of which (the non-sports-specific parts) being the generic CMS which I (co-)wrote in a previous role (see below).
- Development, maintenance, and support of news and data feeds
- Configuration management
- Primary coordinator for all releases, scheduled and emergency
- Training/mentoring and support of new team members
- de-facto team leader, often deputising for our manager in his absence
Working on a sports site necessitates exemplary adherence to immovable externally imposed deadlines -- matches, seasons, tournaments, etc. Furthermore, stability and scalability, particularly during an event, are paramount, in tandem with a team's ability to deliver product features and enhancements well in advance of an event's start. As well as the sporting calendar's annual events, my time in this team also saw the 2010 World Cup, and Yahoo! becoming the exclusive online partner for official Premier League video highlights in the UK; there were also numerous backend changes of data suppliers and formats between seasons.
I was a primary contact for our service engineering team (aka Yahoo!'s DevOps staff) within the development team, working to automate the most cumbersome tasks and improve monitoring and metrics collection; and I enthusiastically participated in post-mortems and the production of new documentation, runbooks, etc after any incidents.
Yahoo!, August 2009 - February 2010 (contract)
Duties and responsibilities
- Senior member of the European Content Integration Team.
- Responsible for over 600 3rd party data feeds across 6 products in 5 European markets
- Development of new feeds; support and maintenance of existing feeds
- Configuration and bug-fixing of Yahoo!'s in-house CMS
- Training, mentoring, and handover of technologies including delivery of presentations and hands-on training to teams in India.
Global Radio, March 2008 - May 2009
Global Radio are the UK's premier radio company and the home of the UK's leading commercial radio brands.
Global Radio boasts the number 1, 2 and 3 commercial radio brands in the UK, with Heart, Classic FM and Galaxy respectively.
Duties and responsibilities
- Member of a small team of experienced senior software engineers
- Implementing an in-house CMS from the ground up, built with Python and Django with mod_wsgi on Debian Linux. The CMS was to be used for all Global Radio websites
- Jointly responsible for all technical aspects of the Capital Radio relaunch in August 2008
- this CMS was subsequently the platform behind the relaunched Global Radio, Choice FM, Classic FM and Heart websites.
Prior to this role I had no experience in Python, however during interview I had successfully argued my case for being both language-agnostic and a quick learner. Within 3 weeks my first python/django application was live; by the end I was a member of the working group which directed CMS strategy and architecture, and had overall responsibility for Python and Django coding standards and quality.
Within the team I also championed the production of architectural diagrams, flowcharts, and other visual reprenstations of our schema and data flow; I also (unsuccessfully, sadly) attempted to push through the idea of a regular day dedicated to auditing and writing documentation.
Yahoo!, September 1999 - March 2008
Duties and responsibilities
- Sole dedicated engineer for Yahoo! Sports across all European markets (late '99 to early '01)
- Senior member of CMS team (early '01 to late '06)
- Design, implementation and support of Yahoo!'s most-used bespoke CMS, comprising
- feed processing (news feeds, sport scores, weather data, etc)
- on-demand and event-driven publishing
- offline (pre-processing) templating
- internationalisation and localisation
- extensible GUI for management of production data, templates, and configuration settings
- authoring and delivery of training material to engineers throughout the world
- Technical lead in Audience Engineering, London (late '06 to early '08)
- Engineering manager for Yahoo! European homepages (mid '07 to eary '08) responsible for 3 staff, with the product in 9 markets
- Member of Yahoo! Europe Training Council; Change Management champion
Yahoo!'s engineering organisation in Europe throughout my tenure was largely flat, and I chose not to pursue opportunities in other offices around the world. Consequently I became known as a trusted and knowledgable senior engineer in the region, with a broad and deep understanding of the wide range of technologies in use, be they locally developed, imported from other Yahoo! locations, or third party/open source.
From mid-2006 until Feb 2008 I primarily operated in a management, training/mentoring and architectural capacity. I became a BCS/ACTT accredited trainer after being selected to attend a "train the trainer" course, and regularly delivered presentations and other materials to engineering staff and management in Europe, India, and the Far East.
Previous employers and roles
- GX Networks (now PIPEX): UNIX application engineer, 1999
- Demon Internet: NOC frontline administrator, 1998
- Netlink Internet (now Claranet): hostmaster and systems developer, 1996-1998
- Cable Internet (now Virgin Media): technical support analyst, 1996
Other relevant experience
Several services for AFC Wimbledon: author of the main supporters' messageboard WISA Chat, a (long neglected) text based match updates service Matchday Updates, and I set up the software (shoutcast/icecast) behind our live audio commentary Radio WDON.
Interests
Sport, in most guises, though more as witness than participant. I also listen to music of all genres, and am a voracious reader of non-fiction. More expensively, I've a serious gadget habit -- consoles, home cinema, portable electronics -- but most of all I love to travel the world, sampling the Guinness on the way.