Experienced web developer, skilled generalist focused on backend/frontend development. I build things for Last.fm that are used by millions every. I care deeply about performance, reliability and workflow.
I have experience providing technical leadership, advising teams of web developers and working closely with design and product teams. A passion for making things that makes life simpler, happier and better.
- Skills
- Experience
- Interests
Skills
- HTML/CSS
- 10+ years experience building websites that work across browsers, using web standards, promoting accessibility, semantics (even microformats), security and internationalization awareness.
- PHP
- Over 6+ years professional experience, PHP4/5, Object Oriented programming, MVC frameworks, unit testing, Smarty, Xdebug performance profiling, deployment.
- Javascript
- Writing and maintaining complex javascript applications, progressive enhancement, unit testing, with plain old javascript and libraries (Prototype, jQuery).
- SQL
- 5+ years experience with RDBMS. Normalisation, large data sets, de-normalisation, profiling expensive queries. PostgreSQL but also MySQL, SQLite and NoSQL.
- Unix
- Strong command line skills, unixtools, bash, svn, git, mild server configuration.
- Ruby
- Some experience. Most recently setting up Cucumber, including debugging and fixing bugs in Webrat and Mechanize. Keen to learn more.
- Also…
-
Web Security. Prevention and detection of SQL-Injection, XSS and CRSF.
Designing and consuming both internal (Thrift) and external APIs (REST)
Experience
Last.fm – Senior Web Developer (June 2007 → Present)
A music social network, 25m+ daily page views, 15m+ registered users, translated to 12 languages
Working as part of a small team, with a focus on scalable technology and interfaces, innovation and rapid feature development. Deeply involved in hiring and training new of staff, review and improvement of team process. Working closely with other teams, especially operations.
Role included product design through to completed features and deployment, using HTML/CSS/JS/PHP/SQL. Daily challenges included scalability, modelling complex geo-restrictions and i18n.
Notable projects:
- Xbox360 Launch – Profiled external app, our API, worked with Microsoft team, improving performance and ensuring high availability for launch. Invited to speak on the subject at conferences.
- Interactive web-radio – Rapid prototyping and development of a complex web app. Working closely with interaction designer, executive team and advertising team to meet requirements.
- Internal Tools – Built and maintain a comprehensive suite of internal tools, used by teams across the company for our customer service and support teams, improving team efficiency
-
Homepage redesign;
A complete visual update, requiring high level browser compatibility and testing.
Working with varied data sources to generate localised content and developing scaling strategies.
-
Music Manager –
Product used by 200k+ Artist & Label users upload and manage their content.
Worked with a team developing a royalties scheme, which generated reports and payments for 100k Artists & Labels
- Short URLs – Created a short URL system using; NewBase60, type hinting & cunning namespace tricks.
Spring Digital – Senior Web Developer (Aug 2005 → June 2007)
30 person design agency in West London, part of 5 person development team
Front-end development of semantic and accessible sites. Back-end development of bespoke LAMP content management systems. Able to flexibly switch between roles and tasks easily,
- Ran code reviews within the dev-team, focusing on code quality, security, documenting best practice and coding standards. Worked with designers to teach XHTML/CSS/JS and improve design process
- Developing internal web app that managed projects and accounting, used daily by 20+ staff
- Built PHP REST API for an OpenLazlo application, integrated Amazon Web Services
Studied Internet Technology BSc, received a First Class degree with honours, top of class
A 3 year course covering; Web Programming, Internet Applications, System Security, Network Administration, Distributed Systems, Network Design & Security, Multimedia Networks and Software Systems.
Final year project; Investigation in to usage of Web Syndication systems. Built departmental News & RSS system, on Debian/Apache, using a custom OO-PHP5 MVC framework, Smarty and Mod Rewrite.
PureFM.com – Web Developer (May 2004 → Jul 2005)
Front end developer and designer in small team that built a brand new university radio station website
FFGurus.net – Web Developer (Aug 2000 → Sep 2003)
Volunteer administrator/developer for a high traffic gaming community site
Other
Projects & Code
Some of my code is on GitHub and on my code projects page. Including 1bit (a Flash/JS inline MP3 player), contributions to Playdar (a content resolution service) and life-streaming (using microformats and socialgraphs)
Speaking & Events
I've been invited to speak at several conferences on scaling, and reguarly attend barcamp and hackday events. I even helped organise the first Last.fm Hack Day.
Writing
I occasionally write on my personal blog, I keep track of interesting links on del.icio.us, my day to day thoughts can be found on Twitter. I also co-author a food blog, Munchmun.ch.