Barry Coughlan

Curriculum Vitae
Education
Research M.Sc in Computer Science and IT (thesis submitted)
Development and research of video-based e-learning systems
October 2010 — October 2012 National University of Ireland, Galway
B.Eng in Electronic & Computer Engineering
Graduated with a 2.1
2006 — 2010 National University of Ireland, Galway
Employment
Self-employed
October 2011 — Present
  • Developed bespoke software for a number of clients. See Work section for details.
Teaching Assistant
October 2010 — May 2012
  • Awarded a teaching assistant scholarship and worked as a tutor in a drop-in support centre for IT students.
  • Tutored students in a wide range of programming languages, including Java, Python, C, C++, Visual Basic, Bash, Assembly, PHP, Javascript and HTML/CSS.
Software Developer
March 2008 — August 2008
IBM, Galway
  • Developed an extendable J2EE testing framework using reflection APIs which centralised and automated testing of nightly builds.
  • Developed a graphical reporting and notification web app (Spring/Hibernate) which highlighted and visualised test-case failures and code coverage over time.
  • Liased with project teams to integrate sub-projects into framework.
Research
  • Researched the effects of user-interface features on cognitive load and user satisfaction in video-based learning environments.
  • Developed a video learning environment for research experiments (Django/JS/HTML5).
  • Used an iterative development process incorporating user feedback.
  • Designed and conducted between-subject andwithin-subject experiments.
  • Used statistical analysis tools (ANOVA), descriptive statistics and qualitative data to analyse results.
Work
Interpretive Structural Modeling tool
Technologies: Java, SWT, JGraphX, JUnit, Ant, NSIS, WindowTester, Spring, Jetty, Maven, Javascript, jQuery, Backbone.js, Bootstrap
  • Contracted to design and develop web and desktop software for facilitators of Interpretive Structural Modeling workshops.
  • Acted in both a development and project management role.
  • Implemented graph theory and set theory algorithms.
Recurring Payment System and Interface
Technologies: PHP, Javascript, Paypal API, PHPUnit, Selenium
  • Contracted to implement a direct recurring-payment system and user interface for a provider of cloud-based surveillance systems.
  • Developed robust, test-driven software utilising a database job queue to handle failure.
  • Worked with hosting company, payment provider and client to ensure PCI compliance.
DBN Creator
Technologies: Java, Swing, JUnit, log4j, JGraphX, Xerces
  • Designed and developed an interactive graphical tool for manipulating Dynamic Bayesian Networks
  • Implemented a parser for serialised Lisp data structures to interface with existing libraries.
Open Source
HamlPy
Technologies: Python, Django, Nose
  • Collaborator and current maintainer of open-source Django Haml project "HamlPy".
  • Implemented features, bug fixes and redesigned parser architecture.
Lingo
Technologies: PHP, Javascript, MediaWiki
  • Developed an open-source extension for the Mediawiki software for displaying tool-tip abbreviations
  • Solved severe scalability issues with the predecessor of Lingo which caused denial-of-service issues when editing articles.
  • Extension has been integrated into the Semantic Mediawiki (SMW) codebase.
Udacity Forum Plugin
Technologies: Javascript, Greasemonkey, JSONP, Yahoo Pipes
  • Open-source browser plugin which enhances the Udacity user interface by integrating relevant forum questions with currently playing video.
Other
  • Founding member of the Galway Hackerspace 091 Labs. Role has included running workshops, server administration, account management, event management, facilitating open nights and software development.
  • Recently completed the Udacity ST101 (Introduction to Statistics) module with highest distinction.

Outside of computers, my interests include music, cycling, tennis and soccer.