Student - Power Platform Developer - Software Engineer
About Me
I am a 3rd year student currently enrolled on the MEng Integrated Masters Computer Science course at Durham University. I have over 3 years of experience working in Software Development, especially with the Microsoft Power Platform for business applications.
I’ve worked with a variety of programming languages to create multiple projects which you can see below. Some have been for work purposes, university related and personal projects.
Earlier this year, I worked on a small team of developers to make a Flutter application aimed at university students finding housemates. This app worked in a tinder style format where users could create accounts, make groups of friends and advertise groups of people to seek out people to form a housing group.
As part of this project, my main two focuses were the website that you can see a link for above which is just a basic Node.JS, Bootstrap web application that advertises key features of the app as well as host an API in the back end to allow email verification for our users. As well as this, my focus was the uploading, storing and displaying of images stored on Microsoft Azure for the user accounts and group accounts.
As well as now being experienced with Flutter, I was able to improve other key skills. I had to make and manage a tenant in Microsoft Azure (Entra ID), manage cloud hosting for blob storage on Azure, and DNS management for website hosting as the domain we own is on domain.com.
During my time as a Student Digital Leader at Durham University, the current project I am working on has required multiple Power Apps to be made that allowed fast data entry into a SharePoint List, calendar functionality and to link with power automate flows. The Power App links to two SharePoint lists, where users can view the data uploaded in real-time.
First, we had to enter FAQs from webinars we are hosting but each FAQ must be assigned to a webinar. So, one list stored the webinars, and the other list stored the FAQs for each webinar which were linked together by a ‘foreign key’ to the webinar list. This involved me using functions like Filter(), Patch() and SubmitForm().
Following this, I was tasked in making a project calendar based off a SharePoint list. This allowed extra functionality when assigning events to members of the project team and keeping track of event data over the course of the project. The app allowed users to create events, update events, and sign up themselves and other members of the team to the event via the Office 365 connector
Finally, another app was required to link to a Power Automate flow which parsed through an excel spreadsheet which contained attendee information, added these members to a SharePoint list for our records, sent an automatic email to the user to thank them for attending the webinar, and added the user to a SharePoint group so they had access to a collection of files via the "Send a HTTP request to SharePoint" action in Power Automate. This made the team's lives much easier as this would be quite a tedioous task for Webinars of over 100 people which we were hosting.
While working at ArdenIT, I got tasked to develop a system that allowed engineers to enter in information about site visits so our expenses team could bill the client and pay expenses to the engineer. Previously, this was done on Microsoft Access but as the dataset grew it became more and more temperamental. The solution I chose was to make a web application that stored all data in a local SQL server.
The first iteration which can be found had a PHP back-end. This system worked well, and the staff were pleased with its ease of use and functionality. After submitting the data, the data would be compiled into a PDF which the engineer could print and then email off to the expenses team. As well as this, I set up an area for the data to be viewed and queried for specific information.
After a few months of use, I wanted to add increased functionality to the system. One of these ways was to automate the email process after the PDF was created and also allowing an engineer to upload receipts to the system and these be attached to the automated email upon submission. I chose to do this in Node.js due to NodeMailer working better than PHPMailer. This is the version you can see at the top of this pop-up.
My first project for ArdenIT was an inventory system that tracked assets but generating and printing (via a label printer) barcodes that could be stuck to items. These items were organized in a shelving area we made that had set locations (represented as barcodes) so the system could track what item was on what shelf.
This was made with a PHP back-end and used a bootstrap template which I adjusted. It allowed users to add items to the sytsem, printing barcodes for the item and the user would scan the barcode of the shelf they were going on and this was stored in the system. All data was stored in a local SQL server.
As well as this, an area was made to allow users to create jobs which items could be assigned to and once the site visit was completed, the user could mark it as complete and this would remove it from the system.
During Sixth Form, when I was Treasurer of our Student Union, I decided to make a website to advertise the activities of the SU. This is currently live, and the link can be found above.
It was my first ever project and was written in PHP. We stored some basic data in an SQL server locally hosted at the school. I made a form where students could anonymously submit opinions and how they were feeling so the Well-being officer could look through them and host sessions.
Software Engineer Intern
During my third year at University, I was offered the role of Student Intern Software Engineer at TEKGEM which is a Cybersecurity company in the North East.
I primarily work on their Unity software which is a cyber security monitoring tool for businesses. This has allowed me to practice C# and Windows Powershell thoroughly, and also practice various software engineering methodolgoies.
SharePoint Advisor and Power App Developer
From February 2023 to present day, I have worked as a Student Digital Leader at Durham University. I worked on phase 1 of the Digital Capabilities project in my first year at the University for the Computing and Information Services (CIS) department. I am currently on phase 2 of the project after being carried over from last years project.
In phase 1, a team of 4 SDLs trained staff around the University from various departments who did not feel digitally confident. We trained them in four main areas: Windows basic (logging on, opening the browser and file explorer and signing out), Microsoft Authenticator (how to set it up and use it), Oracle (University system for accessing payslips and sensitive information, and Intranet (Using the University SharePoint). This finished in September 2023 and the whole team received high praise due to the success of the project.
Due to the great success of this project, and the hard-work and dedication I put in, I was awarded the 'Above and Beyond' award by Durham University for Student Employees.
Following on from phase 1, I was brought onto phase 2 where we focused on educating staff on how to use SharePoint safely. The main scope of the project was to guide staff members on Site creation, site management, SharePoint lists and cloud storage. Due to having previous experience with SharePoint administration, I led other SDLs in providing support for staff queries we received from these sessions. I am still working on this project.
Alongside the SharePoint area of the project, I advised and implemented various solutions for my team and staff around the University with the Microsoft Power Platform. Some examples are custom calendars for the departments, cloud flows to automate calendar events and responses from Microsoft Forms.
This position has really developed my skills with Microsoft Teams and SharePoint. I have had to collaborate with other people to develop content for support sessions and discuss ideas. As well as this, it really developed my time management skills as I am working roughly 15 hours a week while doing my University course.
Software and Power Platform Developer
As well as being an IT Engineer, I was also a Software Developer. While there, I developed an inventory system which worked by allocating and scanning barcodes to track stock for the business. This was done on a local server which had a web GUI for engineers to access while at the office. As well as this, I developed two main iterations of a job sheet system which allowed engineers to fill out job sheets and attach receipts, storing this on a local SQL server and emailing it to our expenses team. This system had a version with a PHP back-end and another with a Node.JS back-end.
I have developed a suite of appliations in the Microsoft Power Platform for in-house systems like our Job Sheets which generates invoices for our accounts team, Purchase Ledger which stores and manages all stock in the business and our Calendar which manages holidays and tracks engineer availability. Also, I have worked closely with various clients to implement Power Platform solutions for their business ranging from invoice generation, clocking-in-and-out systems for staff and data-entry apps.
IT Engineer
In January 2022, I applied to work as a Junior IT Engineer at ArdenIT Ltd in Beeston, Nottingham. Once hired, I began by working on a helpdesk (1st and 2nd line support) for clients around the UK we do support for. This gave me experience in many things like Windows administration, Microsoft 365 administration, Draytek administration, Unifi administration, and Dell OpenManage Server Administrator software. I worked on the helpdesk for roughly 4 months after which I became an on-site engineer.
While being an on-site engineer, I came across a wide range of tasks, all of which making every day different. Being out on-site means you are always on your feet to solve a problem or to carry out a project. Some of mine ranged from PC installations for all AvailableCar sites, network installations with Unifi APs, Windows Group Policy testing to automate some services that were manually done by the helpdesk, router and switch installations, and server installations.
As well as being an IT Engineer, I was also a Software Developer. While there, I developed an inventory system which worked by allocating and scanning barcodes to track stock for the business. This was done on a local server which had a web GUI for engineers to access while at the office. As well as this, I developed two main iterations of a job sheet system which allowed engineers to fill out job sheets and attach receipts, storing this on a local SQL server and emailing it to our expenses team. This system had a version with a PHP back-end and another with a Node.JS back-end. Currently, I am working on a Microsoft Power App which incorporates both aspects of the inventory system and job sheet system so engineers can access all content from their work phones while out on site.
Laboratory Assistant
After finishing Sixth Form, I decided to take a year out to save money for University and gain some experience. I decided to apply for a warehouse role at Dante Labs in Loughborough which was a PCR laboratory for travel and NHS tests. I began work at the start of September 2022 where I was an unpacker in the warehouse. After a week, I got chosen to work in the Laboratory as a helping hand after which I quickly moved up the ranks to machine operator. The shift pattern for this position was four-on-four-off, doing 12-hour shifts which cycled between a day rotation and a night rotation.
I operated JANUS and CHEMAGIC machines which were vital in the PCR process. As well as this I learned how do manual pipetting for tests that had issues during the machine process. Towards the end of my time there, I was training people on these machines and how to use the systems there.
The laboratory closed in December 2022 so I left after working 3 months there.
Shop Assistant
At the start of Year 11, I got a job at a local takeaway in the village I lived in. I worked as a shop assistant 2-3 nights a week all the way through until I left for University. I worked all the way through the COVID pandemic when school was closed, where I worked full weeks in order to save money.
During lockdown, I managed our app which allowed collections and deliveries for our village as well as surrounding villages. We also worked with the Rosie May Foundation to deliver meals to people who couldn’t leave their home in order to raise money for the charity and help the local community.
During my time there, I was trained on the till, serving, cooking and frying. As well as this, I trained all new staff on working in the shop and on our delivery service as well.
Python
Python is one of my most familiar languages. I have high proficiency due to using it for personl projects, at Sixth Form and University. Below are some projects that I have made with Python:
Personal and Sixth Form Projects
Python Tkinter Till application for Bingham Fish and Chips
Delivery charge tracking system (connected to a CSV file for data storage)
Scientific Calculator
University - Year 1
Algorithms and Data Structure Module - Coursework for Data structures like queues, linked lists and hashing algorithms
Computational Thinking Module - Coursework for SAT Solvers. Implemented a SAT solver via the DPLL algorithm and unit propagation.
University - Year 2
Data Science Module - Data cleaning of a given data set using novel techniques (done using the Pandas library)
Data Science Module - Using OpenCV to process images to improve accuracy of trained AI model that predicts if a subject's X-Ray image has pneuomonia
Networks and Systems Module - Using the Socket library to make a simple client and server network. Allowed transmission of messages and files over network sockets and also used multithreading to allow multiple client connections.
Artificial Intelligence Module - Trained 2 Machine Learning models using the sckitlearn module. Trained these models on a given data-set and hyperparameter tuned models to improve accuracy.
Artificial Intelligence Module - Implemented a greedy searching algorithm and an ant colony optimisation algorithm in order to solve the Travelling Salesman Problem
JavaScript
I have high proficiency with JavaScript from the various websites that I have made using Node.JS as the back-end. Some of these include:
Programming Black Module (University) - Made a Cinema Booking website with Node.JS back-end and JSON data storage.
Job Sheet System (ArdenIT Ltd) - Node.JS and MySQL application
MoveIn Website (Personal Project) - Node.JS web app
PHP
I am proficient in PHP. It was the first language I used to develop websites before I moved to Node.JS. Some projects I have made are below:
Student Union Website (Toot Hill Sixth Form College) - Click here!
Inventory Management System (ArdenIT Ltd) - Simple web app that worked with a barcode scanner to manage item locations in a warehouse
Job Sheet System (ArdenIT Ltd) - The predecessor to the system currently in use (made with Node.JS)
At Durham University in my job as a SDL, I am working with the Power Platform constantly throughout our project. I have used it to automate many processes for the project team like sending automatic emails and data entry.
Below are some examples of Power Automate flows that I have made:
Automatic emails - flow parses an Excel file and uses the users email address to send them a Thank you Email
Data entry - Flow for file uploads where users upload a file via a Power App and the flow uploads it to a Document library
Adding to a SharePoint List - User data, based of an Excel spreadsheet, is added to a SharePoint List with customised columns
Permissions on a SharePoint List - Flow breaks inheritance on a list and shares out individual rows based off value in the Person column so users can only edit rows that they are connected to.
Below are some exmaples of Power Apps I have made:
Calendar Power App - Power App connects to SharePoint List and allows project team to manage events
Data Entry - Power App to allow fast data entry to SharePoint List
Flows - Power App that connects to various flows in order to pass arguments to them
C
I practiced C as part of the Programming Paradigms module in Second Year. In this module, I practiced file manipulation, string handling, data structures, memory management and recursion in C. I completed a formative assignment on this where I achieved a 1st.
C++
In the Programming Paradigms Module of Second Year, C++ was another language we learn't that built upon the princples we learned from C. We practiced with external libraries and file handling within C++, as well as memory management. We also practiced with threading and concurrency. I completed a summative assignment in this language where we had to solve the Shortest Vector Problem via approximation and novel algorithms where I achieved a 1st class honours.
I learned Haskell in the functional programming sub-module of my Programming Paradigms module in Second Year. Weekly, I completed practicals based off various aspects of the language like folds, recursion and monads.
Flutter
I worked on a team of novice developers to make a Full-Stack application for Android and iOS. This application was written in Flutter, had a Google Firebase back-end and had in-app messaging. On this project, I learned key skills for UX design and also practiced the agile development model.
Unity
As part of my Software Engineering module in Second Year, my team and I had to make a Unity AR applcation for IBM. This application scanned QR codes which registered an in app location, and then displayed AR pins which users could interact with. These pins pointed to the IBM website for various courses as part of their Skills Build program.