Hi!
I'm Jason, and this is my website.

I'm a current student of computer science at the University of Sheffield. I chose this because I love writing software, but also because I've always had an innate curiosity about the inner workings of the complex networks and systems I interact with on a daily basis.

Put another way, I love to see how computing-related knowledge and theory translates fits into the wider world. I've been academically succesful, performing in my degree programme so far to a First Class honours standard and receiving a prize for academic performance - but the projects I've enjoyed the most have been those that have given me the opportunity and freedom to achieve something positive in the real world. That could mean writing a quick script to make an everyday task easier, or it could mean maintaining a locomotive control system - the real-life impact is what matters, and what I find most fulfilling.

This is a portfolio page, aimed at documenting some of the things I know and have achieved. Please do take some time to look around, and if there's anything you'd like to talk to me about, feel free to email me or contact me by LinkedIn.

Skills and knowledge

Programming languages

I'm not fussy about languages - picking up a new language is a quick process, and my priority is choosing the best tool for the task in hand. But my current experience has predominantly been with:

  • Python
  • Ruby
  • Java
  • C and C++
  • Bash
  • Haskell
  • Web technologies (HTML/CSS/JavaScript)

Other technical experience

I'm a proficient Linux user, and comfortable with the command line.

I have experience using Git version control.

I'm familiar with the UML standard for modelling systems, and well as database design principles and SQL.

Miscellaneous

I speak English (natively) and German (Common European Framework of Reference level B2, Independent User)

I have extensive experience of working collaboratively with others on a variety of projects, including in an agile development context and also interdisciplinary teams.

Projects

Driver dashboard showing a map and a speed of 0.0 km/h

Railway Challenge at Sheffield

Railway Challenge at Sheffield is an extra-curricular student-run team that which designs and manufactures a miniature locomotive. It has given me the opportunity to work with colleagues from a variety of different engineering disciplines.

As a software engineer, I maintain the locomotive control software, which is written in C++ and Python. For the 2023-24 design year, I implemented a dashboard and passenger information system which won the Location Announcement challenge at the IMechE Railway Challenge competition, contributing to the highest competition score in the team's history.

Sheffield Ethical Student Hackers logo'

Sheffield Ethical Student Hackers

ShefESH is a student society that runs technical workshops on cybersecurity and skills relevant to penetration testing. I delivered an Introduction to Linux and Bash to approx. 75 attendees from across the university, providing them with a solid foundation for future workshops.

I'm also the secretary of the society, applying my excellent time-management and organisational skills to carry out a variety of administrative tasks with punctuality and professionalism.

A full lecture theatre. A large screen at the front displays 'HackSheffield 9'

HackSheffield 9

As a co-lead organiser, I worked in a team of 25 organisers and volunteers to deliver Sheffield's flagship student hackathon for 2024 - a 250-person, 24-hour coding competition. I managed the finances of the event, liaising with Sheffield Students' Union, the University of Sheffield and our industrial sponsors to ensure the event ran smoothly.

I was also involved in the development of the event website using the Astro framework, demonstrating my ability to complete projects to a high standard despite tight deadlines.

Peak District Prose screenshot'

Peak District Prose

As part of a team of six, I completed a full agile software development project for a web-based book sales application. This included requirements elicitation and analysis; implementation; automated and manual testing; documentation and delivery.

Ruby logo

.number?

A fun little library - not intended to be of practical use, but it takes Ruby's "everything is an object" philosophy to an extreme.