Curriculum Vitae
James Casey
I am a software developer with over ten years experience of creating web
based software using a wide range of languages, tools and environments.
I believe in providing solutions that satisfies the needs of users
while remaining easy to support and maintain. To achieve this aim, I
advocate the use of modern "agile" software development techniques
that allow a development team to trust in the reliability of their code, and
facilitate the rapid redeployment of components into production systems.
I enjoy challenging architectural and technical problems and working in
a team with fun, committed and stimulating colleagues.
| Address: |
1 Chemin des Bossons |
| |
01210 FERNEY-VOLTAIRE |
| |
France |
| Date of Birth: |
18 April 1973 |
| Nationality: |
British |
| |
|
| Personal email: |
james [ at ] jamesc.net |
| Work email: |
james.casey [ at ] cern.ch |
[Skills]
[Professional Experience]
[Education]
[Publications]
[Language Skills]
Skills
Summary Deep Expertise in
Java Server-side programming, using different application servers,
databases, communication technologies, protocols and frameworks and
operating systems. Deep Expertise in building testing and deployment
frameworks to support teams working within "Agile" methodologies.
Deep Expertise in debugging and tuning large scale service deployments. Expertise
in other programming languages and strong interests in principles of programming
languages.
Programming Languages: Java
(6 years), Perl (6 years), C++ (3 years), C (3 years), Dylan (1 year), Lisp (< 1
year
Java tools, APIs, libraries: Servlet 2.2/2.3
(5 years), JUnit (4 years), Ant (4 years), Xerces (4 years), Xalan (3
years), JDBC (3 years), RMI (3 years), concurrent-utils (3 years), log4J (3
years), JNI (3 years), Castor (2 years), Axis SOAP (2 years), EJB (< 1
year), JDO (1 year)
XML: XSLT (3 years), XSL/FO (1 year), SAX (4
years), DOM (1 year), DTD (10 years), SGML (4 years), XML Schema (4 years)
Web protocols: HTML, HTTP, URI, CSS
(10 years)
Communication protocols: HTTP (10 years),
SOAP (3 years), CORBA (2 years)
Databases: MySQL (4 years),
Oracle 9i (2 years), PostgreSQL (2 years), ObjectStore (2 years)
Application Servers: Tomcat 3/4 (6 years),
Oracle 9iAS (2 years), BEA Weblogic (< 1 year)
Operating Systems: Linux (6 years), Unix
(SunOS/ Solaris) (4 years), Windows NT / 2000 (2 years)
IDEs: IntelliJ IDEA (1 year), Netbeans (2
years)
Methodologies: Extreme Programing, Agile
Methodologies, UML, Design Patterns, Object Orientation (10 years)
Professional Experience
LCG Fellow CERN (May 2004-Present)
Staff Member, Grid Deployment
Group, CERN (European Laboratory for Particle Physics), Switzerland
As a Staff Member within the Grid Deployment, I act as a co-ordinator
for the rollout of the Worldwide LHC Computing Grid Service. In particular,
I have run a series of 'Service Challenges' which involve the deployment
of Petabyte scale storage systems at 10 worldwide sites, and the development
of
tools to transfer data to those sites at rates in excess of 2GB/s. I was
responsible for the design and development of the prototype data transfer
system, and the creation
of best practices for the required storage and network configurations. This
led to the team meeting the milestones for transfer rates during the Service
Challenges.
I have also developed core grid services in the area of data management;
I was a core developer on a grid file catalog, and acted as co-architect
for a disk-only grid storage system. I also worked on the automation of service
management for these services with the CERN Computing Centre management system.
This involved creating configuration profiles, monitoring tools and alarms
along with the corresponding operational procedure. This led to a total system
that could satisfy it's 99% uptime requirements.
I currently work on debugging and tuning the systems involved and development of monitoring
tools to aid the operations teams, as well as managing daily operations meetings.
LCG Fellow CERN (July 2002-April 2004)
LCG Fellow, Database Group, CERN, Switzerland
While a Fellow at CERN,
I spent 15 months as a Java Software Developer in the European
DataGrid (EDG) Project, and 6 months providing operational support for
Oracle based production services using the code produced by the EDG
project.
As a Java Software Developer I was involved in providing
components for the LHC Computing Grid (LCG) project. This involved
taking research prototypes from the EDG project, and creating production
quality solutions for the LCG project.
- Designed and implemented a Java based Web Services
architecture for the core data replication components.
- Designed and implemented an automatic build and release management
system for all the components produced by the developers in the Data
Management work package.
- Co-Designed a Grid File Access Library, which was a POSIX compatible
interface to Grid accessible files, including those in tape-based Mass
Storage Systems.
- Within the Data Management work package, I filled the role of internal
expert on Java based production-quality software development
techniques.
- Acted in supervisory roles to students working within the Database
Group.
- Responsible for the creation of bundled distributions of the Oracle
Database and Application Server software for distribution to world-wide High
Energy Physics laboratories.
- Co-ordinated the world-wide deployment of Oracle based applications for the LCG project.
- Designed procedures for first level support staff, and provided second-level operational support (Application Server expert) for 24x7 production systems.
Principal Developer Escape Velocity Ltd (April
2000- July 2002)
Principal Developer, Core Framework Group, London, UK
Escape Velocity developed personalisation systems for the
telecommunications, online retail and marketing sectors. I worked in the
Core Framework group, designing the personalisation engine underlying the
products.
- Developed a Java based application server framework for
multi-channel content delivery. This work focused on the design and
development of an abstract markup language that could be translated to WAP,
SMS and web-based output, as well as interfacing the system to multiple
containers such as Servlets, EJB and Web Services.
- Designed and implemented a Behavioural Personalisation prediction
framework for web services. This was implemented in multiple languages
(Java, C++, PHP). I was responsible for the Java based implementation of the
framework.
- Prototyped products using behavioural personalisation and machine
learning techniques in the area of music selection, document summarisation
and customer action prediction.
- Designed and developed a build, distribution and release system using Jakarta Ant.
Freelance Lighting Designer London, UK (1997-2000)
Based in London, worked as a lighting designer and moving light
programmer in the Corporate and Entertainment Event industry.
- Completed a M.Sc. in the Built Environment: Light and
Lighting at the Bartlett School of Architecture, London.
- Participated in all stages of a production process, from the initial
client meeting to the installation of the equipment and the actual running
of the event.
Software Developer / Information Systems Support Harlequin
Ltd. (1995-1997)
Software Developer, EP2000 Architecture group, Edinburgh, UK
Worked in the group responsible for middleware related
aspects of the EP2000 product, a distributed pre-press printing
application running on multiple platforms. Designed and authored a set of
operating system abstraction libraries that gave a common C++ interface to
system functionality across different platforms.
Software Developer, Web Products Group, Menlo
Park, CA
Worked on the architectural aspects of a prototype
web-based printing application. This involved writing sample front-ends in
Java that interfaced with a C++ based server.
Software Developer, Harlequin Information
Systems, Cambridge, UK
Worked on the Spring project, to develop internal
information systems using Lotus Notes as the document store & transport
layer. This involved interfacing Lotus Notes with internal source code
control systems, Mail, News and the Web. Performed front-line information
system support and training for 150 internal users.
CERN - European Laboratory for Particle Physics (1994)
Summer Student, Programming Techniques Group,
Geneva, Switzerland
While at CERN in 1994 I co-designed and implemented
WebLinker, a server side mechanism for improving consistency of links
in the World Wide Web. Harlequin subsequently purchased this along with the
companion product WebMaker, an automated documentation system for the
World Wide Web.
I authored and presented a paper on WebLinker at the 2nd International
Web Conference in Chicago, which was later selected for publication in a
review journal of the conference.
Ieunet Ltd. (1992-1994)
System Programmer & System Administrator,
Dublin, Ireland
As a member of the Network Operation Centre, had
responsibility for the day to day running of production servers. Duties also
included administering network services, setup of new customer accounts and
telephone support.
Education
Bartlett School of Architecture, University College, London
(1997-1998)
M.Sc. in the Built Environment: Light & Lighting
Courses taken:
1997-8: Lighting Fundamentals, Lighting Sources, Lighting:
Current Research Issues, Advanced Integrated Lighting Design, Lighting
Practice, Lighting: Applied Calculations
Dissertation:
" Three-dimensional
Illuminance - A tool for lighting design?"
This thesis examined a theoretical three-dimensional illumination system,
which allows the lighting designer to look at the flow of light in all three
dimensions of an architectural space. It compares this with more traditional
computer graphics techniques such as ray tracing and radiosity, and gives
some suggestions on a possible structure for a future lighting simulation
and modelling system.
Trinity College, Dublin (1991-1995)
B.A. (Hons) II.1 in Mathematics
Courses Taken:
1994-5: Cryptography, Computer Aided Design, Linear
Operators, Database Systems and Artificial Intelligence
1993-4: Microprocessor systems, System Software, Algorithms, Coding
Theory, Wavelets, Computer Aided Design and Abstract Algebra
1992-3: Modern Algebra, Analysis, Topology, Mathematical Methods,
Numerical Analysis and Further Pascal Programming
1991-2: Algebra, Analysis, Mathematical Methods, Mechanics,
Statistics and Pascal Programming
Language Skills
English mother tongue, Basic French, Basic German
|