Paul Horner

If you would like to get in touch with me, send me an email.
paulhorner79[at]gmail.com

My websites:
Law School Webcasts
Bitbucket
GitHub
LinkedIn
Last.fm

About Me

I'm a web developer and I currently work for Durham University.

In my professional career I've generally worked in the Higher Education sector but also have recent experience of developing solutions in the private sector. During my time working in Higher Education, I have mainly focussed my efforts on developing web applications to support teaching and learning.

I am skilled user of a number of modern frameworks include Django and Zope for Python; Laravel and Codeigniter for PHP; and JQuery, Angular and Dojo for Javascript.

I'm passionate about innovation and I take great pride in producing simple, easy to use solutions. I'm interested in emerging technologies and always use best practice in areas such as version control and documentation.


Education


Work Experience

Durham University

Information Systems Specialist (Web Services) February 2014 - Present

I am a member of the Web Team within the Computing and Information Service at Durham University. My role involves developing web applications for internal customers within the University.

My role primarily uses PHP for server-side development, using tools such as Laravel, Twig, Doctrine and Swiftmailer to enhance the applications I develop. On the client side I use Bootstrap, JQuery and Angular to make attractive and interactive and user interfaces.

I automate much of the scaffolding of the sites I build using tools like Composer, Bower and Grunt to ensure that the latest versions of libraries are used and to avoid dependency issues.

We use Github enterprise to maintain our source code, with deployment handled automatically using Jenkins.

Orchard Information Systems

Rapid Application Developer October 2013 – February 2014

I was a member of the rapid applications development team at Orchard with responsibility for the development of a mobile application to allow social housing tenants to access their account details on mobile devices. This was a browser-based application that used a combination of the Dojo Javascript framework, JSP scripts and JSON.

I used Orchard’s own custom toolkit for developing server-side code. This allowed the applications I developed to interact with the software used by the social housing provider, creating workflows and allowing seamless integration between several applications. This work also involved using SOAP-based web services to pass binary data from mobile devices to the main Orchard Housing application, meaning that tenants could attach photographs to reports of anti-social behaviour or when requesting repairs.

Northumbria University

eLearning Developer February 2012 – October 2013

My key responsibility was the design, development and ongoing maintenance of the Law School’s webcasts system (https://law-webcasts.northumbria.ac.uk). I project managed the technical elements of the webcasts system and worked closely with academic staff to ensure that the technical developments met the teaching and learning requirements of the faculty.

I was responsible for planning the underlying architecture for the webcasts system, and liaising with key stakeholders to ensure that the technical infrastructure met the requirements of the faculty. I was responsible for setting up the software running on the servers and continued to ensure that everything ran smoothly and efficiently. I was also involved in the filming and post-production of the webcasts videos, and was responsible for producing the specification for the equipment required in the faculty’s filming suite.

Newcastle University

Internet Developer 2005 – 2012

My primary role involved the development of eLearning systems. Originally my focus was in the field of ePortfolios, but over time I became involved in other areas, including curriculum design and the development of components within the Medical degree programme's virtual learning environment. I took a lead on the development, delivery and support of eLearning and appraisal systems for postgraduate research students. I sat on university-wide steering groups, and developed the ePortfolio which was included as part of the Newcastle 'offer' for 2012. I was successful in bidding for a number of externally funded projects.

Business Link County Durham

Systems Development Officer 2001 - 2005

I was responsible for managing the company-wide Oracle Database, including training and development of staff in using the database client. I sat on a national user group for the database client. I developed a number of systems delivered over the company intranet, including a purchasing system, provider management system and Management Information system. I provided IT support services, such as networking, systems security and desktop software support.

Employment Service (Now Jobcentre Plus)

Information Officer 2000 - 2001

I was responsible for providing a labour market information service to customers.


My Skills

I have been developing eLearning systems since 2005 through my work at the Univeristies of Durham, Northumbria, and Newcastle. I have developed diverse systems ranging including Virtual Learning Environments, Video Learning Systems, ePortfolios and Student Management Systems. I have delivered presentations on my work at Conferences across the UK and Europe, and have subsequently authored a number of published papers.

I have been using Python professionally for many years. I have extensive experience of Zope, and have used Django since 2009. I attended the Djangocon conference in Portland Oregon in 2009, which provided me with invaluable knowledge that I have been able to apply to my work over the subsequent years.

Recently I have gone back to developing using PHP after many years away. During my time at Business Link, I cut my teeth as a developer using PHP, and it was PHP that made me passionate about development. I am currently using modern PHP frameworks in my development, such as Laravel and Codeigniter, and this has made me really enjoy moving back to PHP. Even when I was developing using Python I always tried to maintain a good level of knowledge of PHP, investigating frawmeworks such as CakePHP and developing personal projects using PHP.

As a Developer I try to adhere as much as possible to the DRY principle and I always try to make my code as reusable as possible, primarily through the use of object-orientated code. I always ensure that my code is appropriately documented, using Sphinx software to publish documentation. As one would expect, I am fully versed in HTML and XHTML and have used HTML5 for delivering video content and in the development of mobile apps.

I ensure that all my sites work on major browsers (from Internet Explorer 7 and above). I am an expert user of CSS, and have been responsible for the design elements of a number of websites that I have developed. My Masters degree instilled in me the importance of usability in user-interface design. I have read Jakob Nielsen’s work in web usability, and although I sometimes disagree with his ideas I always try to follow the principal that simplicity is best, and firmly believe that usable websites do not have to be uninteresting.

I am an experienced user of XML, and in my time at Newcastle was funded to work alongside commercial providers to develop two separate XML specifications, for e-portfolios and for competency frameworks. I have also developed and written applications to consume XML-based web services, using REST, SOAP and XML-RPC. I have used a number of commercially available APIs, both in my professional work and in personal projects, including applications that consume the APIs from Twitter, Flickr, YouTube and Last.fm.

I use Javascript to enhance the user interfaces of the websites I develop, including using AJAX (and JSON as the data format) to provide more interactive and intuitive methods of communicating with the database. I am a particular advocate of JQuery, but have also used several other Javascript frameworks, including Mootools, Prototype and Scriptaculous. I have used JQuery mobile and Phonegap in developing mobile apps. I am a regular user of GIT for version control through Bitbucket and GitHub, and have also used both SVN and Mercurial.

Many years ago, I developed the mapofstrange.com website, which showcased unusual sightings in Google Maps. At its peak, this site regularly had more than a million unique visits every month, and was even once featured on German television.

I am experienced in server administration, and am a regular user of the Linux command line. I have setup Linux and Windows servers to deploy websites. I have designed technical architectures to ensure that systems and software work together. I understand the importance of ensuring that systems are always available and when I worked at Northumbria I developed and deployed a monitoring system, which notified me by email and text message whenever the Northumbria webcasts system was unavailable.

I have been heavily involved in the filming and production of professional-level videos, using technology from the Adobe Creative Suite. The Law School webcasts system I developed used a combination of HTML5 and Flash to ensure that the maximum number of people could view the videos.

I am an experienced database administrator. I have used MySQL and PostgreSQL widely, and used MSSQL Server at Northumbria for enterprise-level systems. I have experience of using SQLAlchemy to consume data from legacy systems alongside the Django ORM. And have used Eloquent as a PHP ORM. My Masters degree taught me good data management techniques, including database normalisation techniques and indexing.