Anthony Davies

I'm Anthony, a software development student currently taking a placement at Plymouth Software - which really means I spend most of my time listening to music and struggling with UI design.

I currently work primarily with Ruby on Rails for web applications and Flutter for mobile development. This site itself is built on Jekyll (which compiles Markdown, Liquid, HTML & SCSS into static websites), using Tachyons for styling and containerised with Docker

You can find the GitHub repo here

Introduction

Anthony is a software developer and former freelance editor - his experience in both fields has given him an appreciation for close attention to detail and efficiency in the workplace. As such he is a firm believer in the value of small, agile development teams - developing for an MVP with regular meetings to establish targets and achievements is an effective basis for effective development. Equally fundamental is a balance between communication and bureaucracy - straying too far towards either typically leads to a lack of internal organisation or being swamped with unnecessary paperwork, respectively.

Outside of work Anthony is an avid creator and consumer of literature. He specialises in short, introspective fiction and has a growing anthology of poetry. In this he is frequently inspired by music (and indeed spends most of his life with a backing soundtrack) and the emotions evoked, particularly nostalgia and escapism. His primary experiment in long fiction is a fantasy novella written during college and unfinished at time of writing.

Articles

GitHub Basics
GitHub Basics

October 19, 2019

At time of writing, I’ve just finished the second year of my CompSci degree and am taking a placement year in industry…

Here is a short series of guides for using Vue with a primarily Rails-based application. They cover everything from the creation of a new app and installation of Vue through to having an inline, validated, editable table for your model.
Dockerising Webpacker
An article following the creation of a dockerised Ruby on Rails application, complete with a dockerised Webpack development server running parallel. Worth a read if you're trying to dockerise a modern, reactive application

Portfolio

During my time with the University of Plymouth I have studied C# and Java. Using these I have explored the fundamentals of Object Orientated Programming, including the study of design patterns.

These skills were used particularly during my second year, in which one assignment called for the development of a Patient Administration System. This was graded on the use of effective (but basic) version control, and appropriate use of design patterns.

The following semester, we were assigned random groups and given a bigger project than we'd seen before, a train booking system. This was to incorporate a mobile app for customers, a Java desktop app for staff use, and a web app for administration (plus a database and web API so they could interact). Unfortunately as a university-managed task, the GitHub repo has since been removed.

Train Booking System

My role in this was building the desktop app, web app, and co-authoring a Java library that handled our API connections that we could simply import to every project. This was my first introduction to developing with and for an API, and whilst we used very different frameworks to those I use now the experience was informative.

Train Booking System

Alongside my studies, I educated myself in fundamentals of VBA so that I could create a procedurally- generated mazemaker in Excel. This, very simply, created a random maze using the Excel sheet as a grid. The process was to create a `Master` path from the center of the given range, which would repeatedly select 'valid' (ie unblocked) adjacent squares until it couldn't find any other valid paths or reached the end of the selection. The code would then traverse along this path (with a given step size so you could adjust complexity) and create a 'child' path wherever it could.

Mazemaker

This was created purely as an exercise to see if I could. It was used very briefly in a Dungeons and Dragons session I wrote, but the project ended there with vague plans that I could take concepts from it to apply to bigger projects as needed.

Mazemaker

Working with Plymouth Software has drastically improved my skills both in development and project management. I have been working largely with Ruby on Rails - this website itself is a testament to that - handling serverside functionality.

In preparation for my placement here, I taught myself the basics of Rails and created a test application (following Michael Hartl's wonderful tutorial). I have since been able to expand upon this, and use it as a testing ground for for significant changes in other projects.

Learning about so many new technologies made me excited to try them outside of work. So I made this!

This website is my personal practice in development. I'm using GitHub for version control (and to a better standard than I have before) and have it deployed via Netlify. Feel free to check out the repo for more information on how it's been built

Experience

Plymouth Software

As a placement year during my studies, I worked as a developer at Plymouth Software, a company specialising in Ruby on Rails consultancy and upgrades. I worked closely with clients in a “lower-case ‘A’ agile” team to story-point and complete feature requests and bug reports. Here, I gained valuable experience in Ruby on Rails for web application & API building, especially with modern, reactive front-end frameworks such as Vue.

Beyond this, I worked with Flutter and Dart on an Android and iOS mobile application; this similarly provided a refreshing change of pace to use more modern technologies.

Education

University Year Two
Design Patterns Object Orientated Software Engineering with Design Patterns 79.35%
UX Design User-Centred Interface Design 74%
Database Development Database Applications Development 71.5%
AI Computation Theory and Artificial Intelligence 62.5%
Embedded Systems Embedded Programming and the IoT 63%
Integrated Project Computer Science Integrating Project 71.52%
University Year One
Software Engineering Software Engineering 80.89%
Database Design Database Analysis, Design and Development 71.4%
Infrastructure Principles of Infrastructure 69.33%
Cybersecurity Cybersecurity Essentials 70%
Algorithms Algorithms, Data Structures and Mathematics 74.39%
Introduction Immersive Introduction 65.75%
A-Level
Biology Biology B
Chemistry Chemistry B
Statistics Mathematics (Statistics) B
Creative Writing Creative Writing B
GCSE
AAAAAAAABB