Online copy:

Dr Sean Hammond

Software developer with over 12 years of professional experience. Teaching, research, UI design, technical writing. Future Portuguese Water Dog owner. Edinburgh, Scotland.

Python, JavaScript, SQL, HTML, CSS, Git, Linux, Objective-C, iOS, Java, C++, Usability, Game Development, Open Source, Experienced Remote Worker, Self-Management

Senior Web Developer at Hypothesis, Mar 2015–Present

I'm currently a full stack developer at Hypothesis, making major contributions to backend and frontend code. I've played a pivotal role in the development of features including activity pages, direct links, API tokens, video embeds, groups and feeds and refactorings including moving from CoffeeScript to JavaScript, from Elasticsearch to PostgreSQL, and drastic simplification of our authentication code.

I ran a workshop on more empowering code reviews, I led a team refactoring and rewrite of much of the Hypothesis documentation, and I've coached our less experienced developers.

Senior Web Developer at Open Knowledge, Nov 2011–Mar 2015

I was a Core Committer to CKAN, the world's leading open source data portal platform.

I implemented major features including activity streams, following, user dashboards, email notifications and tag vocabularies, and created extensions and services including Mozilla Persona support, OAuth 2.0 support, the broken link checker and CSV export.

I was Lead Developer for numerous client projects including Data Packager and

As Testing Lead, I designed CKAN's new approach to automated testing and wrote the testing guidelines.

As Documentation Lead, I overhauled the documentation and wrote the documentation guidelines, the API guide, the plugin writing, theming, JavaScript and internationalisation tutorials, most of the contributing guide, and workshops including open data licensing and open data community building:

“Sean was instrumental in developing new unit tests for CKAN as well as comprehensively rewriting our documentation. The work conducted over that period has proved critical for CKAN’s future. The documentation is now extremely well-regarded and CKAN itself is significantly more stable and secure.

“Sean is unfailingly enthusiastic and excited … He is well liked by all, displays professionalism, initiative, passion and commitment to our work and has delivered outstanding service to us. We have enjoyed working with him tremendously”

— Gavin Chait, Commercial Team Director, Open Knowledge

As Technical Training Lead, I created Open Knowledge's web development training course, trained the other trainers, and delivered onsite and online training to clients:

“We needed a comprehensive understanding of the architecture of CKAN, as well as a hands-on training about the API. The course was great. We decided to incorporate CKAN into our project, and successfully integrated it” — Sam Eustachi, Humanitarian Data Exchange
“The training was great because it was tailored to our specific needs and issues, allowing us to work through problems unique to us in the sessions. The training was also very well-prepared and informed.” — Heinrich Widmann,
“The training enabled UNEP to better understand and use CKAN and contributed to the sustainable technical development of our software … Without any reservation, the methodology can be replicated for all UNEP projects” — Rene Freytag,

Lead iOS Developer at Click-East, 2010–2011

I quickly taught myself Objective-C, iOS development and Cocos2D and delivered an iPad game for children with autism.

I repeatedly delivered polished products to tight deadlines. I mentored programming and art students who contributed to the app for their BSc and MSc projects, created graphics and animations for early versions myself, and worked with voice actors to record voice samples. I was one of the authors of the paper Designing for young children with autism spectrum disorder: A case study of an iPad app. The app had 100,000 downloads as of March 2014.

“Sean has proven himself to be a committed, hard-working, creative and efficient programmer.

“We have met a number of challenges during the project, which might have been fatal to the work, had Sean not been so willing and able to learn new skills and find innovative ways to overcome them.

“Sean has demonstrated considerable skills as a collaborator, translating his technical knowledge into accessible language for his colleagues … He has worked closely with animators, managing a potentially awkward relationship sensitively and effectively. He has also co-supervised a pair of undergraduate project students, expertly guiding their contribution to the game.

“I cannot recommend Sean highly enough, both for his professional abilities and personal demeanour.”

— Dr Sue Fletcher-Watson, University of Edinburgh

Java Programming Lecturer at University of Edinburgh, 2005–2010

I was a tutor for the MSc course Introduction to Java Programming (IJP) for three years; I taught my own class of 12 students, and in 2008-09 I became Course Lecturer with final responsibility for a class of 70 students.

IJP was an intensive, 12-week crash course in object-oriented programming for beginners with a focus on code quality and a diverse class with many international students. I ensured that students had the coding skills they'd need for a research career in computer science.

I redesigned the course and recreated the materials, changing it from lecture-based to a more hands-on coding exercise and assignment-based approach. I created screencasts that students could watch in their own time instead of listening to lectures, and they spent their onsite time writing code with myself and other demonstrators on hand to help and explain.

I also helped to teach Computer Science 1 and 2 for five years.

Software Development PhD at University of Edinburgh, 2005–2011

I designed, implemented and evaluated a story authoring app for children, and saw it through to a polished final result that teachers continued to use in schools after I had finished my PhD.

I wrote my PhD thesis, Children's Story Authoring with Propp's Morphology, in 2011.

I designed an easy and intuitive user interface that represented abstract and highly interconnected concepts (the plot structure of fairy tales as described by Propp's morphology) and was used successfully by young children to construct stories without training.

I carried out formative and usability studies with children, teachers and creative writing experts, and empirical studies in schools in which more than 60 children used the app to write stories.

I published two papers: Children's Story Authoring with Propp's Morphology: An Exploratory Study and Player Agency in Interactive Narrative: Audience, Actor & Author.

Volunteer & Organiser at Forest, 2005–2011

For six years I was one of the main organisers of a local collectively-owned arts project. I was part of the decision-making group for day-to-day operations and long-term strategy. I organised events and ran workshops, facilitated meetings, trained and oversaw volunteers, and provided website and tech support.

C++ Developer at Macadamian 2004–2005

I taught myself Visual Studio and learned my way around a large C++ codebase. I developed a major feature (granular service packaging) for Nortel Multimedia Client. I wrote SIP and log analysis tutorials for new developers.

Programming Demonstrator at University of Edinburgh, 2003–2004

I worked part-time as a programming teacher while doing my BSc. I was students' nearest contact to teaching staff. I assisted with study and taught practical skills and theoretical concepts.

BSc (Hons) in Computer Science at University of Edinburgh, 2000–2004

I graduated with First Class Honours. For my dissertation, Autonomous Characters for 3D Virtual Environments, I implemented a virtual character able to navigate arbitrary, complex 3D environments.

For my major project, I designed and implemented a distributed peer-to-peer filesystem with a mathematical proof of reliability. I won a Microsoft award for the second highest mark in the year (91%).

A-Levels in Computer Programming, Physics and Maths, 1998–2000

Turbo Pascal 7!

Screenshot of Turbo Pascal 7 IDE