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
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 HonoursStrong 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.