From Monket
Download:
- Karl O'Keeffe's CV (Word 49KB)
- Karl O'Keeffe's CV (PDF 94KB)
Karl O'Keeffe
Phone number available by email
karl@monket.net,
http://monket.net
Personal Profile
I am front end Web Developer based in London, currently working for 7digital on a cutting edge JavaScript web app. I’m a JavaScript guru who has developed large scale web apps with rich interfaces for 7digital and Philips. I also have experience and passion in Interaction Design for web site and web apps (with forceful ideas on how the user should be treated). I have over 5 years solid experience coding HTML and CSS for all browsers (even the shoddy ones). I enjoy working with Test Driven Development, continuous integration, and short iterations of improvement and feedback.
I also feel it is important to understand all levels of development, and have ensured I have real work experience in server side development, project management, and testing.
I’m looking to focus my career on creating rich web applications that rival their desktop counterparts. I want to be developing using standards based technologies (Javascript and HTML 5), ideally for a large user base. I want to be working on the User Interaction Design and steering the design and behaviour of the apps. I want to be getting rapid feedback from short development iterations, A/B testing, and usability reviews.
Work Experience
Front End Web Developer | 7digital, London (permanent)
May 2008 – Present
7digital sell music online, direct to the consumer at 7digital.com, and business to business. They offer bespoke tailored sites (such as hmvdigital.com), white label stores (1000+ at last count), and a full catalogue and download API for 3rd party apps (such as Spotify).
Tasks & Responsibilities
Designing and creating the UI for a soon to be released Locker Plus rich client web app. UI development for 7digital.com and hmvdigital.com. Project management of download manager app. User Interaction Design and wire framing.
Achievements
Building Locker Plus UI from scratch in Javascript using the ExtJS framework Integrating qUnit, JS Test Driver, and TeamCity to automate the build and test process. User Interaction Design of Locker Plus, ensuring no modal dialogs, and hiding complexity. Seamless integration of desktop download manager functionality into web site.
Technology Used
JavaScript, jQuery, ExtJS, qUnit, JS Test Driver, TeamCity, HTML, CSS, Balsamiq, C#, Ruby, Cucumber.
Front End Web Developer | CWA New Media, New Zealand (contract)
June 2006 – August 2006 (extended to March 2007)
CWA New Media develop web sites for education. They run TKI.org.nz, the largest education portal in New Zealand and the reference location for the national curriculum. They also run a number of education and technology initiatives.
Tasks & Responsibilities
Developing accessible XHTML and CSS templates and designs to stringent government guidelines. Working on internal productivity tools, web based and desktop. Developing a new version of the Digital Conversations site (digitalconversations.org.nz).
Achievements
Created a new JavaScript web based timesheet system, with streamlined auto saving interface. Developing and launching redesigned Digital Conversations site with a clean content focused UI. Producing productivity tools including a Firefox plugin, and tools for working with HTML that sped up content creation six fold.
Technology Used
JavaScript, XHTML, CSS, PHP.
User Interface Consultant | Philips, Singapore (contract)
April 2006 – May 2006
Philips is a huge consumer electronics company, developing a wide range of electronic devices including televisions.
Tasks & Responsibilities
Hired for a 6 week project to develop a demo user interface to show off the power of a new interactive TV chip. The UI included TV channel browsing, on-demand movies, split screen web browsing, and a music player. It needed to work on Pal and HD TVs.
Achievements
Demo UI created from scratch in six weeks as a JavaScript web based interface, running in embedded Opera. Pre-loaded data and images provided excellent performance on constrained hardware. All functionality completed within tight deadline.
Technology Used
JavaScript, Opera, JSP, Java, and Philips TV API.
Systems Engineer | Formicary, London (permanent)
June 2004 – June 2005
Formicary provide IT solutions for the Financial Services industry. Providing both bespoke solutions, and customizable software products.
Tasks & Responsibilities
Developing a web based inter-bank bond trading system. Providing bespoke software solutions, including a browser based chat client and server side data processing app. Consulting on User Interaction Design for sites and apps.
Achievements
Created the Java Swing UI for a bond trading app. This was multi-threaded for responsiveness and non-modal allowing multiple trades at a time. Developed a browser based chat client using COMET long polling to provide instant push of messages to every client. Developed a server side data processing app in Java using SwiftMQ to provide eventually reliable data transfer between disparate systems.
Technology Used
Java, Swing, SwiftMQ, HTML, CSS, JavaScript.
Reason for Leaving
I was uninspired by the lack of focus on a product or service within the Financial Services industry so I left to travel and pursue new opportunities.
Web Developer | Imperial College London (contract)
July 2003 - September 2003
Responsible for creating the Department of Computing website following the Imperial College re-branding guidelines, including site structure, server side PHP coding, database integration. Results include increased functionality, ease of use and learnability, with conversion to valid semantically rich pages.
Application Programmer | Barclays Capital, London (contract)
July 2002 - September 2002
Rapid application development for Product Control Group. Requirements elicitation, development, user testing and rollout of new web based document management system in four weeks. Development of Excel based quick reporting tools with 3rd party database integration. Constant user feedback and testing.
Information Extraction Researcher | Volantia Inc, London (contract)
April 2002 - June 2002
Responsible for creating state of the art information extraction algorithms. Created a regular expression based, context free grammar system for specifying extraction rules. Prototyped in Perl and developed in Java. Provided an order of magnitude speed improvement, with greater expressivity and ease of use, over the previous version.
Undergraduate Researcher | Imperial College London (contract)
July 2001 - September 2001
Developed a framework for developing code using an FPGA with an embedded processor, which allowed code running on the processor to call 'hardware functions' compiled onto the FPGA. A concrete example of this framework was constructed for Altera's Excalibur system, using Quartus II, Verilog and C.
Education
MEng Computing with Artificial Intelligence | 1999 - 2003
Imperial College London
1st Class Honours, top five in the year.
Courses taken include:
Artificial Intelligence I/II, Operating Systems I/II, Software
Engineering I/II/III, Architecture I/II, Databases I/II, Networks and
Communications, Compilers, Distributed Systems, Robotics, Simulation
and Modelling, Concurrent Programming (and Logic), Mathematical
Methods and Graphics, Natural Language Processing, Multi Agent
Systems, and many logic courses.
Projects Undertaken:
- Group project redesign of departmental website.
- Masters Thesis on automated music analysis.
A-Levels and GCSEs | 1995 - 1999
St. Peters Catholic Comprehensive, Guildford, Surrey A grade Maths, Physics and Computing at A-Level. 9 A-C grade GCSEs.
Projects
Monket Calendar
An alternate interface to google calendar, created entirely in JavaScript. Providing an infinitely scrollable plane of events. Events can be created, edited, and resized through direct manipulation. By reducing the number of functions available the interface can focus on providing the best month based calendar UI.
Automated Analysis of Music for Creation of Dance Tracks
2003, Masters Thesis, Imperial College London
Dancing Monkeys
Developed a program to analyse polyphonic music in order to generate
patterns for the Dance Dance Revolution arcade game. Analysis using FIR
filters, Self Similarity Matrices, state of the art beat detection algorithms, and
heuristic rules for pattern generation. Resulted in the development of a highly accurate beat detection algorithm and a new technique for representing polyphonic music as a linear set of repeating sections .
QUnit to JS Test Driver Adapter
QUnitAdapter
To merge the benefits of the Google JS Test Driver JavaScript test runner with the simplicity of the QUnit test syntax I created an adapter that can run QUnit test suites unmodified in the JS Test Driver runner. It was accepted into the JS Test Driver project as the first user contribution.
Awards Received
£250 Bursary for excellence in exam results (top five in the year) in the first year.
One of two prize-winning group projects in the third year.
Distinguished final year project, one of four.
Travel
I have made a number of major trips around the world to visit and work in other countries, and experience other cultures. Last year I traveled to Thailand for a yoga training workshop. Between 2005 and 2008 I traveled and worked through Asia and New Zealand, spending time to train as a dive master in Indonesia. After University I spent 6 months traveling and working in Australia, living in a camper van and diving the Great Barrier Reef.
Technical Skills
Proficient in:
- Web application development in javascript using jQuery and Ext JS.
- Complete web site creation, from look and feel through to backend coding, using (X)HTML, CSS1, CSS2, Javascript, Ajax, JSP + Struts, and PHP.
- User interaction design.
- Graphic Design.
- Windows application development, and general Windows maintenance.
- C#, Java, Prolog, Firefox extensions, and SQL.
Experience in:
- C, C++, Verilog, Haskell, Python, Delphi, Flash, and Assembler
Interests
Parkour (free-running), Capoeira (Brazilian dance/fight/game), Inline skating, Flatland BMX, Snowboarding, Skateboarding, Yoga, Diving and Freediving (breath-hold diving), Climbing, Thai Massage, Intelligent movies, User interface design and usability, Travel, Psychology and Social Behaviour, and Beer.
References
First class references available on demand.