Picture of Me

Daniel Murphy

I am a Graduate Software Engineer at Solirius Consulting, I have a range of experience in front-end and back-end development as well as data engineering.

My technology stack includes:

Html Logo
HTML
CSS Logo
CSS
JavaScript Logo
JavaScript
Python Logo
Python
MySQL Logo
MySQL
C Logo
C
C Logo
C++
PySpark Logo
PySpark

Here are some of the projects I have been involved in:

  • Movies Web App

    PySpark Logo
    MySQL Logo
    Python Logo
    Html Logo
    CSS Logo

    This project was assigned by my 'buddy' during my first two weeks at Solirius Consulting. It was focussed on providing an introduction to building ETL data pipelines using Luigi. The pipeline involved reading data from a .csv file applying transformations to datasets using PySpark and then reading and writing this to and from a MySQL database. Although the main focus of this project was the data engineering aspect, the nature of the project involved some front-end development too. The web app had a table which showed top 10 films, according to various filters in drop down menus that could be selected by the user.

  • University of Southampton Small Satellite

    C Logo

    I was the lead Electrical Power System engineer for the University of Southampton Small Satellite (UoS3) project in 2020/21, as my masters group design project. Despite a year plagued with COVID issues that affected access to facilities, we were able to make a significant amount of progress in both the EPS system and the project overall. At the start of the year, we found the EPS module of the software was untested, poorly documented and incomplete. The decision was made to redesign the architecture of the EPS module and perform a complete rewrite. By the end of the year, the EPS module rewrite was around 90% complete. The new software architecture is well documented and written to the same standards as the rest of the project’s software. Full software and hardware integration testing between the EPS module and the onboard computer were completed, which is a key milestone in the project’s lifecycle.

  • Monitoring Air Quality around Southampton with Low-Cost Sensors

    Python Logo

    My individual project in my third year at university involved studying the viability of using low-cost sensors to perform air quality monitoring across Southampton. The pollutants that I measured were PM2.5 and NO2, as well as temperature and humidity to see how the weather conditions affected pollutant levels. The system was Raspberry Pi based and used a python script to operate and take readings from the sensors, and then record the data in an organised manner in a .csv file for analysis. When compared to the sophisticated, expensive system employed by Southampton city council the results were mixed. The PM2.5 sensor showed high promise and after calibration closely mirrored the council’s system, however the analogue NO2 sensor’s results were completely random. The second part of the experiment utilised the system around the city at similar times to see how pollutant levels varied. The overall results of this experiment showed that there were low-cost sensors on the market that could produce high quality results and the benefits of developing a network of low-cost monitoring systems to gain insight into pollutant distribution across the city.

  • ECU Fault Induction Box

    C++ Logo

    When I was working at Jaguar Land Rover, I worked on the hardware in the loop (HIL) rig, this was used to simulate a vehicle, allowing the team to run a variety of software and hardware tests across multiple vehicles in one location. One of the main issues the team were facing was that the rig engineer was spending too much of her time performing ECU warranty testing, which was not an efficient use of the HIL rig and was causing some delays in completing sprints. I designed, prototyped and programmed the ECU fault induction box. This Arduino-powered device can simulate 150+ faults that were tested in the ECU warranty testing, including faults in analogue sensors, PWM sensors and other loads. The C++ script allowed the Arduino to display the current configuration onto an LCD screen to allow the user to see whether the ECU was sending the correct readings, and to generate PWM signals of a variable duty cycle to simulate six PWM sensors in the current line of vehicles. This project was a success, as the simple yet time-consuming warranty tests could still be performed, whilst other more important work could occupy the HIL rig.