Curriculum Vitae

This is my CV, with some personal data (phone number, etc.) elided. If you're interested in these details, please get in touch via email.

Work Experience

Ericsson

Aug 2020 – Present

Software Engineer

  • Worked on a large, complex cloud-native telecom system related to next-gen 5G mobile networks. Worked to optimise performance event streaming for 5G baseband, as well as implementing a secure TLS layer over this event stream.
  • Worked on several diverse microservices written in a variety of languages, including C/C++, Python, Go and Java.

TECHNOLOGIES: 5G, Kubernetes, RedHat, Cloud-Native applications, Jenkins, Go, Helm

Ireland Website Design

Jun 2017 – Aug 2019

Senior Full-Stack Developer

  • Introduced the agile software development methodology, Git version control, automated testing and continuous integration to the company. These practices significantly reduced the defect rate in software projects all across the company and improved productivity for the entire software development team.
  • Assumed control of a large software project, taking sole responsibility for requirements gathering and system design. More than doubled test coverage for this project.
  • Worked to optimise the performance of several websites and web applications, in some cases reducing the response time by several orders of magnitude.

TECHNOLOGIES: Linux server administration, continuous integration, PHP, Laravel, VueJS, SvelteJS, PHPUnit

University of Limerick

Sep 2018 – May 2020

ITC Learning Centre Peer Tutor

  • Responsible for tutoring fellow computer science students in C, C++, Java, OpenGL and Linux systems administration.
  • Produced several tutorial videos for C++ and its associated tools, such as debuggers.

Education

B.Sc in Computer Games Development

Aug 2016 – May 2020

University of Limerick · Awarded First Class Honours

Strong foundation in computer science with an emphasis on computer graphics, artificial intelligence and writing high-performance code.

Skills

C/C++ Programming

Excellent knowledge of the C and C++ languages. Familiar with SIMD techniques and data-oriented programming in C. Experience writing high-performance C++ code, particularly SSE and AVX vector intrinsics. Good knowledge of modern C++11 and C++14 features. Very familiar with the Visual Studio IDE, including the Visual Studio debugger and performance profiler.

Java Programming

Excellent knowledge of the Java programming language, particularly Java 8 features such as lambdas and streams. Very familiar with object-oriented and functional design principles. Experience with several Java-related technologies such as JUnit, Maven, Gradle, Android and JetBrains IDEs.

OpenGL Graphics Programming

Excellent knowledge of the OpenGL graphics API. Very comfortable writing modern OpenGL code and GLSL shaders. Familiar with OpenGL compute shaders; basic knowledge of CUDA and OpenCL. Experience with the NVidia NSight Graphics and RenderDoc graphics debuggers.

Linux Systems Administration

Very comfortable with the Linux command line environment and associated tools such as SSH, SCP, etc. Basic knowledge of shell scripting.

Others

Git, Continuous Integration, SIMD, Linear Algebra, SQL (MySQL and SQLite), object-oriented design, functional programming, Helm, Kubernetes, Go.