Senior Software Engineer
working on authorisation,
platforms & the hidden bits.
I gravitate towards authorisation systems, distributed back-ends, and the hidden, gnarly bits of platform engineering. Outside of work I tinker with side-projects, geek out at open-source conferences, and keep a Kubernetes cluster alive in my flat for no especially good reason.
Work Experience
Work on Beeline Professional, the Extended Workforce Platform, with my specific area of involvement being the ABAC (Attribute-Based Access Control) solution.
Took ownership of the in-house ABAC+ReBAC authorisation system; specified and implemented several proposals to simplify system internals as well as improve user self-service for security policies.
As an extension of my experience as a Software Engineer II working for Rapid7 (see below), during my role as a Senior Software Engineer I have taken on the role of team lead and Scrum Master on the sprint team responsible for account management, RBAC and Platform integration within the company.
One of the big projects that I have taken on during my time in this role is for a new authentication service. As the lead of this project, my responsibilities include the spec, design, and leading the implementation of this service, discussing with and obtaining buy-in from stakeholders, and splitting the work up into highly parallelisable tasks for the team to work on with clearly defined feature milestones for the project.
During my time at Rapid7, I have worked extensive on the company's log search product (InsightOps), including the log search engine, alerting, REST APIs and integrations with several AWS services.
My biggest project during my role as an Software Engineer II has been the development of an RBAC (Role-Based Access Control) Platform service. I was heavily involved in this project from the initial design and implementation stages all the way through to customer migrations, over a period of 3 years, with leadership and ownership over the project being transfered over to me one year into the project. Aside from the technical challenges, this involved coordination across teams and offices to align integration with and migration to this new service.
I have also led the design and implementation of the product's AWS CloudTrail integration, and successfully launched the service for customers.
During my time at Rapid7 I have also been extensively involved in:
- Development of functionality, fixing of issues, and the handling of third-party pull requests on Github on the company's ingestion libraries. These libraries allow customers to send their log data into the log search engine, and are written in a variety of languages including Java, Python, Javascript, Ruby, PHP and C#.
- Automation of developer workflows and migration of problematic acceptance testing and build setups to a Docker container-based approach.
Using mostly Java and Python, employing TDD/BDD development practices.
Development of a custom-built management and monitoring solution used to perform common maintenance tasks on and monitor the health and performance of 300+ customer websites which were each built with a variety of different CMS' and frameworks, and development of plugins for each of the used CMS' and frameworks to report back to and allow management by the central management and monitoring system in a secure manner.
Other responsibilities included:
- Development of custom CMS functionality, either as a custom-built solution or as a set of plugins for existing CMS' such as Wordpress and WooCommerce
- Developing functionality for and fixing issues with the company's pre-existing classified ads system, which was built with the CodeIgniter PHP framework
- Search engine optimisation (SEO) on customers' websites
- Setup and maintenance of several different Linux servers running Debian, Ubuntu Server and CentOS. Most of these servers were running a standard LAMP (Linux + Apache + MariaDB + PHP) stack, with others running custom-built applications, internal tooling, and e-mail services.
Development of an API service using Node.js, Express, and DynamoDB as the database. This API was consumed by an AngularJS frontend as well as a Scala agent responsible for interfacing with external services and hardware devices, and (aside from the database) used Amazon S3 as a storage backend.
CloudRanger later got acquired by Druva.
Development of several websites for the company, with custom-built CMS systems where needed.
Functionality includes ability for employees of the company to manage websites’ contents including uploading pictures, after which pictures will be processed by the CMS (resize, compress, apply watermark, …).
Every website functions as a standalone web application, but limited (as desired) integration between websites was implemented.
This was my part-time job throughout my high school and college education.
Education
- 4th year Honours Degree Applied Computing
- Special Purpose Award in Social/Civic Engagement
Bachelor Applied Computer Science ending with a year abroad at Letterkenny Institute of Technology and an internship at CloudRanger (Druva).
Volunteering
Teen-Turn aims to provide teen girls the opportunity to gain hands-on technology experience so that they can visualise themselves in those kinds of careers and therefore make third level course choices accordingly.
Winner EU Digital Impact Organisation of the Year
Guiding children between the ages of 7 and 18 years old in learning basic programming principles in a playful environment.
This CoderDojo mainly focused on teaching kids basic programming logic with Scratch.
Guiding children between the ages of 7 and 18 years old in learning basic programming principles in a playful environment.
The CoderDojo for which I volunteered offered a multitude of trajectories for the kids to follow, including Scratch, Python, Arduino, HTML/CSS and C#.
Volunteering as a system administrator and web developer for a student organisation offering web hosting, tech support, and other web services (including cloud storage) to students of the college.
Because of my volunteering I learnt a lot about Linux system administration and virtualisation as well as gained more experience in PHP development and integration with other services.







