Portfolio

Patrick McSweeney

Patrick McSweeney

Skills

  • Modern systems engineering using infrastructure as code principles, automation and state configuration management tools.
  • Good software design experience, working with key stake holders and end users
  • In depth experience programming in a variety of different programming languages including PHP, JAVA, C#, JavaScript, Perl, Python
  • Use of best practices such as frameworks and ORMs
  • People management, including pastoral care, professional development, leading and coaching
  • Project management, demonstrating skills managing, project life cycles and time management
  • Excellent presentation skills, both to large audiences and small groups
  • Experience carrying out research and authoring research publications

Education

University of Southampton

Department of Electronics and Computer Science (ECS)

  • Bachelor of Science in Computer Science
  • First class Honours
  • 82% Final project and dissertation in Novel Interfaces to Digital Collections

Other Professional Qualifications

ITIL Foundation qualified with 100% score in the evaluation

DSDM Attern Foundation qualified in Agile Project Life Cycle

BSC Agile Foundation

Employment Experience

Education Application Support Team Manager

2020 - present
University of Southampton, iSolutions

I managed Education Application Support since it's creation. This was the first time IT had aligned teams to University strategic aims, rather than technical competency. I implemented Scrum to enable an effective development pipeline along side providing operational support. We continually improved the Virtual Learning Environment (VLE) by developing software which enacted the universities business processes through the software's ReST APIs. This enabled self service of resources which had previously been manually administered. As well as freeing up our time, these tools were used innovatively by academics to educate in ways which they could not in the past. The team is responsible for assignment systems and the in house written computer based exam system, where reliability is paramount, but these systems still needed regular development and updates. We implemented continuous integration and automated deployment into our working practices so we could reliably deliver updates more frequently and easily. The team paid back technical debt which we inherited, upgrading infrastructure, reworking software, adding tests and monitoring, improving security, accessibility and streamlining business processes to meet user needs. I am tremendously proud of what we have achieved so far; we are starting to provide a world leading education support service to the University.

  • Managed a hierarchy of 14 staff developing and supporting education software for a Russel Group University
  • Implemented Scrum to enable an effective development pipeline while providing operational support
  • Projects include: Enhancing University VLE, eAssignment 2, implement OCLC WorldShare

Senior Systems Engineer for Enterprise Systems Management

2019 - 2020
University of Southampton, iSolutions

I worked as a systems engineer focused on operational support and monitoring. Using python and powershell I scripted maintenance tasks which were previously carried out manually, gradually transitioning them to be fully automated. I administered VMware and used Puppet modules to manage VMs which I provisioned, ensuring our environments were consistent and reproducible. One of my key contributions to the team was writing and updating the team's documentation which made it easy to introduce other staff to a new process or task. I had to assess services security and if they were suitable issue SSL certificates, load balance and prepare the service for release to the public web. One of the biggest projects I worked on was to set up a new Kubernetes cluster to migrate websites from 14 stand alone LAMP servers supporting 300 sites. We built container templates with various versions of PHP required by the sites. We made a ReST API which enacted our business logic allowing us to automate the migration and manage the containers on Kubernetes. This allowed us to build a life cycle management process around the sites on the platform which had not been practical on the individual LAMP servers. We could automatically move between PHP versions, grant access permissions and contact site owners using web and command line tools which interacted with our ReST API.

  • Provisioning virtual machines and configuring them with puppet
  • Thoroughly documenting systems and processes
  • Python scripting to automate tasks so they can be done quickly and consistently
  • Projects include: New iPXE infrastructure, Kubernetes LAMP replacement, Domain redirect tool

Chair of iSolutions Staff Engagement Group

2018 - 2021
University of Southampton, iSolutions
  • Organised the staff engagement group to take action in improving the department
  • Chaired and documented meetings and bought discussions to consensus so actions could be taken
  • Communicated outwardly from the group so that their initiatives were visible to the department
  • Put forward a strategy for staff engagement over the 2018-2020 survey period

iSolutions Internship Coordinator

2015 - 2019
University of Southampton, iSolutions
  • Made a business case to senior leadership that interns were an important resource and corner stone of department recruitment activity
  • Designed and made iterative improvements to the process for recruiting interns into iSolutions
  • Engaged line managers across the department to assist them in planning appropriate intern activities
  • Organised social events for interns to try to establish a sense of belonging within the department

Team Leader for Technical Innovation and Development

2015 - 2019
University of Southampton, iSolutions
  • Brought together a disparate team of software developers to make a cohesive and effective team
  • Implemented agile (lowercase a) techniques across the team including processes for requirements capture, wireframing, task estimating, project planning, scheduling and automated testing
  • Enabled team members to develop their skill through self study training and practical experimentation
  • Acted as technical authority and ensured high standards of quality were always met
  • Continued to carry out technical work bringing legacy systems up to the new quality standard. Most notable work includes EPrints and choices.soton.ac.uk

Software Engineer for Technical Innovation and Development

2012 - 2015
University of Southampton, iSolutions
  • Created bespoke software for academics to enable teaching and research using PHP and C#
  • Produced innovation prototypes to demonstrate where technologies could be used to improve process and user experience
  • Experimented with a wide variety of technologies and frameworks for which enabled good software engineering practice
  • Managed my own workload including meetings with stakeholders and other developers
  • Projects include: Module report, Practice placements, Project Choices syste

Research Assisant for Learning Societies Lab

2008 - 2012
University of Southampton, ECS
  • Developed software to support research into the impact of social media into online learning
  • Taught Programming Ground Controllers for undergraduate students struggling to learn Java.
  • Ran workshops to understand user requirements and improve user experience
  • Analysed data, including statistical analysis and authored publications
  • Projects included: Faroes, OneShare, AllAboutMeprints, PANFeed

Awards and Achievements

  • Winner of Staff Achievement award recognising the success of iSolutions internship programme
  • Winner of a Vice Chancellors award for redesign and development work on sussed.soton.ac.uk the University web portal
  • Winner of Repository Fringe 2011 developer challenge with PeoplePivot.
  • Second place Open Repositories 2011 developer challenge with d-Roc. A tool for creating semantic research objects
  • Organised a series of EPrints training days to build community and encourage uptake of the EPrints Bazaar. Training materials available from the EPrints wiki
  • Winner of Repository Fringe 2009 developer challenge with Semantic Profile Page
  • Co-Organised JISCs deposit tools show and tell to encourage developers to build remote deposit tools for repositories

Personal Interest Projects

  • Woodworker building furniture
  • Home brewer with over 50 beers brewed and quite a sophisticated brewing process
  • Built a Multi-touch surface using infra-red light and aggravated internal reflection. Multi touch software currently in development using the OpenImaj Java library.
  • Built a production version of the Thematic Model Builder. Created some simple repurposable commandline utilities for theming image collections
  • Warhammer 40,000 minature painter
  • iSolution union representative for UCU