An experienced web developer with extensive backend and frontend skills, with over 4 years industry experience, a 1st class degree in Internet Technology and a passion for the web.
Experience working in a client-facing position at a ~30 man agency environment, and at Last.fm, a startup that grew in to a 15+ million user social-network, music catalogue and streaming site.
- OO-PHP 4/5
- Unix Systems
- Strong knowledge of Web Security issues, prevention and detection of SQL-Injection, XSS and CRSF.
- Interest in Semantic Web, Microformats, Maching Tagging and Social Graphing/Portability.
- Passion for promoting Accessibility, Usability and Progressive Enhancement techniques
- Experience working with; Thrift, jQuery, SQLite, REST Web Services. Some experience with Python.
Last.fm – Web Developer (June 2007 → Present)
Work included front and back-end development, multi disciplinary, with a focus on scalability technology and interfaces, innovation, feature development and Agile methodology. Lead Developer on projects including; homepage design, Music Manager and visual web radio. Day-to-day challenges included scalability, geo-restrictions and internationalisation.
A complete visual update, requiring high level browser compatibility and testing.
Working with varied data sources to generate localised content and developing scaling strategies.
- Developed new visual web-radio experience involving; rapid prototyping, complex AJAX interactions, working closely with interaction designer, executive team and advertising team to meet requirements.
- Built a complex suite of internal tools for our customer service and support teams, improving team efficiency
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
Spring Digital – Senior Web Developer (Aug 2005 → June 2007)
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,
- Developing an internal web app that managed internal projects and accounting, used daily by 20+ staff
- Ran code reviews within the dev-team, focusing on code quality, security and documenting best practice and coding standards. Also worked with designers to teach XHTML/CSS/JS and improve the design process
- Built PHP REST API for an OpenLazlo application, heavy integration with Amazon Web Servces
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 station website, new design, user management, schedule management and dedicated audio streaming hardware.
FFGurus.net – Web Developer (Aug 2000 → Sep 2003)
Unpaid administrator/site developer – Responsibilities included developing dynamic content (in PHP/MySQL), a complete HTML re-design and community management.
Projects & Code
I have a collection of projects, including the source for this site available on GitHub. Another listing of code projects is available on my site, including 1bit - a Flash/JS inline MP3 player. I've contributed code to Playdar; an open-source music content resolution service.
Speaking & Events
I've spoken at several Barcamp events in London, notably on automated life-streaming powered by microformats and social graphing tools. I've attended a number of industry hack days and was involved in the organisation of the first Last.fm Hack Day as part of London Web Week.
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.