I am a software engineer with a PhD in psychology. During my studies, I discovered a passion for programming and have made extensive use of this for my research, hobbies, and for my work. I am particularly interested in data science/analysis, data visualisation, and back-end web development. I aim to further my skills and apply them to a meaningful cause.
Technical Skills Summary
Key skills: Data analysis & statistics, back-end web development, Python programming
Languages: Python, MATLAB, R, Java, Javascript
Technologies: Git, Docker, Kubernetes, Apache Spark, PostgreSQL, Linux
Data stack: Numpy, Pandas, SciPy, Matplotlib, Seaborn, Plotly, Statsmodels, Scikit-Learn
Data: Experimental design, data analysis/visualisation, statistical modelling, hypothesis testing, supervised & unsupervised machine learning
Experience
Software Engineer, Reserve & Charge (2023 - present)
I am part of a team building a cloud-based system that allows electric vehicle drivers to make advance parking reservations on charge points. This is a system of microservices spanning several languages and technologies: a combination of Python and Java for backend web servers, PostgreSQL for our databases, and Angular (Typescript) for the front-end. This also involves DevOps tasks for containerised deployment using Kubernetes and CI/CD.
- Implemented KrakenD API gateway and integrated Keycloak for managing client access via OAuth 2.0, enhancing security across our applications
- Developed a configuration migration library with a CLI for automating Keycloak deployments
- Contributed to core service enhancements by building functionality in our Java server and expanding our FastAPI server with new endpoints, database integrations, and rigorous testing
- Built a Flask-based client application simulator to validate API authentication and access, ensuring reliability before deployment
- Created a production-standard website for our documentation, including an OpenAPI spec for clients
- Contributed to key API design decisions, including architecture and Kubernetes deployment workflows
Software Developer/Data Scientist, Accelogress (2020-2021)
Client project 1
This company contracted Accelogress to conduct big data analytics on transport-related transactions across the city of Porto to better understand travel behaviour.
- Processed and analysed data with Apache Spark, Pandas, and SciPy
- Applied k-means and density-based clustering with Scikit-Learn and hdbscan for advanced data segmentation
- Created insightful visualisations with Matplotlib and Seaborn to communicate data findings effectively
- Implemented a data processing pipeline using Apache Airflow to automating our workflow
Client project 2
This company contracted Accelogress to collaborate on building a cloud-hosted API for their users to submit remote computation requests to their quantum computing hardware. This implementation was the basis for a subsequent integration with AWS Bracket.
- Developed a Flask-based web API with PostgreSQL, incorporating WebSockets for real-time data processing
- Extended the API with message queuing to manage incoming remote execution tasks
- Created a Python software development kit (SDK) for users to interact programmatically with the API and submit requests efficiently
Research Assistant, University of Surrey (2014-2020)
- Carried out neurostimulation (tDCS, TMS) research to investigate its use for post-stroke rehabilitation
- Collected mobile EEG data to study cognitive resource allocation during physical load-bearing
- Developed & carried out EEG research into belief bias in logical reasoning
- Collected, processed, & analysed fMRI data for a National Trust study
Teaching Assistant, University of Surrey (2016, 2019-2020)
- Demonstrated & taught the use of physiological methods for psychological research
- Assisted students in understanding how to analyse data
Education
PhD Psychology & Cognitive Neuroscience, University of Surrey (2016-2022)
Thesis: The influence of visual attention on memory encoding & recognition
My focus was on the distinction between goal-directed and stimulus-driven attention, and how attention impacts memory encoding and later retrieval. I designed an experimental task that manipulated these modes of attention during memory encoding, which was then followed by a recognition test. With this, I ran experiments using behavioural measures, fMRI, and eye tracking. Due to disruptions from the COVID pandemic, I also carried out online research where I administered experimental tasks to study attention and memory. Finally, I wrote a Python library for calculating signal detection theory measures of cognition and to fit theoretical recognition memory models to empirical data.
- Utilised fMRI, eye tracking, and behavioural techniques to investigate attention and memory
- Applied descriptive and inferential statistics to real-world research questions, ensuring robust data analysis
- Programmed and implemented tasks to measure cognition, including recognition memory, visual attention, and working memory
- Developed a Python library to apply computational models of recognition memory to observed data
- Created automated pipelines in Python for data cleaning, visualisation, and statistical analysis
- Wrote Python scripts for eye tracking data processing and MATLAB pipelines for fMRI analysis, adhering to current research standards
- Employed machine learning (SVM, Scikit-Learn) to predict brain activity associated with memory encoding
- Assisted in supervising an undergraduate dissertation and regularly presented research findings in lab meetings
MSc Research Methods in Psychology, University of Surrey (2013-2014)
Thesis: Environmental context effects on recognition memory and its EEG correlates
BSc (Hons) Psychology, De Montfort University (2009-2012)
Thesis: Mathematical training & susceptibility to cognitive biases
Conferences
British Association of Cognitive Neuroscience (2015; Poster)
Organisation for Human BrainMapping (2019; Poster)
Publications
Dunne & Opitz (2019) Attention control processes that prioritise task execution may come at the expense of incidental memory encoding
Minarik et al. (2015) Effects of Anodal Transcranial Direct Current Stimulation on Visually Guided Learning of Grip Force Control
Hobbies & Interests
Guitar, Strength training, Poker