Profile
Diligent, motivated and disciplined software engineer with a strong ability for designing and implementing systems using various technologies. Experienced in collaborating with others in agile projects to build and maintain solutions. Proven to be capable of more senior responsibilities.
Key Achievements & Skills
-
Delivered accessibility conformance within a limited timeframe by proposing variable scope and prioritizing functionality accordingly.
-
Contributed to an award-nominated project for integrating live chat into the West Midlands Police website. The award was for creativity and innovation.
-
Implemented a sophisticated system for retrieving live flight prices, with support for querying multiple destinations on multiple departure dates simultaneously. The solution relied heavily on concurrency.
-
Experience in maintaining legacy systems by ensuring clean coding practices throughout feature enhancements.
-
Confident in presenting knowledge and experience. Presented to the West Midlands Police development team on accessibility. The presentation as well-received and hence later scheduled as a departmental presentation.
-
C, C#, Clean Architecture, Clean Code, CSS, Docker, Drupal, Elasticsearch, Git, Gulp, HTML5, Java, JavaScript, jQuery, Laravel, .NET, PHP, Python, REST, Ruby, Ruby on Rails, Sass, SOAP, SQL, TypeScript, Vagrant, Vue.js
Education
– Aberystwyth University
Software Engineering BEng
- Outcome: First
- Dissertation topic: Secure Monitoring of Remote Systems (C++)
- Key modules
- Professional Issues In The Computing Industry
- Developing Internet-Based Applications
- Agile Methodologies
- Web Programming
– Hagley RC High School
- A Levels: B (Computer Science), C (Maths), C (English Literature)
- AS Levels: C (History)
- 11 GCSEs, including A* (Higher Mathematics), Distinction (Certificate in Digital Applications Level 2), and Merit (Award in Digital Applications Level 2).
Career
— West Midlands Police
Responsible for maintaining and enhancing the West Midlands Police website using Drupal. The most significant features depend on integrations with internal .NET systems. This hence requires close collaboration with developers of other projects, which is facilitated through daily stand-up meetings and thorough documentation.
Occasionally responsible for reviewing jobs applications, screening applicants during interviews, conducting stand-up meetings, reporting to management in place of a senior developer, and contributing to .NET applications. I enjoy these responsibilities and find them rewarding.
— Holidaysplease Ltd
Implemented numerous features across the external website, internal legacy CRM system, and holiday pricing functionality. This included leveraging polymorphism in implementing flight price API clients for various providers. Each flight price query was encapsulated as a job that could be processed concurrently with other jobs. I was also responsible for its front-end integration.
The company initially used an ad-hoc development methodology that had a number of challenges. After I submitted a formal proposal for adopting agile principles to fellow developers and the head of the company, the team then began discussions and transitioned their approach. This was gratifying to witness and participate in. As such, it has given me great confidence in sharing my thoughts on improved ways of working.
— BlackBerry Ltd
Maintained a web application designed to interface between developers, the configuration management system and the relevant managers during an internship. Additionally implemented an API for the web application to query which tasks had not yet been submitted as part of (what the department referred to as) a library.
Also assigned the task of migrating build processes from the use of SDL tools to pure GCC. This involved understanding the manner in which the source code that the department produced was compiled and how the C/C++ code was generated. This task gave me a great overview of the workflow for producing professional software and also extended my knowledge and skills for compiling C/C++ code, including the importance of makefiles and how they should be produced.
Interests
Software development is a hobbyist passion of mine as well as a career. I have taken to publishing articles about this topic on my personal website, and the website itself is built using a custom technology stack. My most recent project outside of web technologies involves implementing the board game known as Blokus in C.
As well as writing about this subject, I enjoy reading about it — particularly books authored by Robert C. “Uncle Bob” Martin.
I also take great pleasure in playing and recording music. I recorded an album with a friend in my youth and have been playing bass ever since. I am currently learning guitar.