Joe Hollands

Software Developer

Two years ago, with a prior interest in computers and a passion for continuous learning and improvement, I began to teach myself programming in my spare time.

I greatly enjoy the problem-solving aspect when creating projects, and have decided to make it my goal to switch career into software development.

I've built a solid foundational knowledge of programming, with which I can continue to grow in my future career as a Software Developer.

Skills and Experience

Work, Coding and Personal

Personal

  • Technical
  • Fast Learner
  • Self-Motivated
  • Team Player
  • Adaptable
  • Patient

Coding

Languages

C# • Python • SQL • Javascript • HTML/CSS

Libraries/Frameworks

React • Express• Jest • Supertest • Flask

Other

Git • Rest API's • Test-Driven Development • Error Handling • Accessibility • Hosting • Agile • Pair Programming

Experience

Graphic Design

2017-2024

UI • Workflow creation/automation • Leading on projects • Liaising with brands and clients • Training new hires

Edit Support Coordinator

2016-2017

On-location data wrangling • Server Management • Troubleshooting • Technical QC • Timekeeping • Documentation

Other Projects

Personal Projects and Coursework

Filter projects by selecting a language below:

Card Verse

Northcoders - Final Group Project

TypeScript

SQL

Express

REST API

Flutter

Dart

Card Verse was a two week project I worked on with a group of 4 other developers. We all had a chance to work across the whole project, but we did split into pairs to take the lead on specific features.

My pair and I were responsible for designing and seeding a PostgreSQL database using TypeScript and implementing the interactive gameplay using Dart and Flutter.

Animation showing Card Verse gameplay

Party Battler

C# Player's Guide

C#

A 'hero' party must defeat several increasingly difficult enemy parties to win. Both parties are capable of either human or computer control. Characters can attack, equip items, use items or even steal from other characters. Computer players are capable of deciding which items will be effective to use depending on game conditions.

Designed using Object-Oriented Programming, I was sure to follow the core principles of encapsulation, inheritance, polymorphism and abstraction, as well as SOLID principles.

Github
Image of the Command-Line Battle gameplay.

News API - Backend

Northcoders - Backend Project

Javascript

Express

SQL

REST API

This is a news API that allows you to host a database of articles and their comments. It uses Express for routing and error handling, and PostgreSQL as the RDBMS. It has a full testing suite with nearly 100 tests, and is protected against SQL injection.

Note: Hosted on Render.com, it may take 30 seconds for the first query to respond while the server boots after a short period of inactivity.

View SiteGithub
Northcoders Logo on white background.

Bridge to Valhalla

Unity - Create With Code

C#

Bridge to Valhalla is a game I created in Unity as part of the Create With Code course. The player controls a single unit, defending their castle against waves of attackers.

A timer is used to slowly increase the spawnrate of the attackers, with three different enemy types based on a 'Character' class, one of which will hunt the player down. Periodically spawning health pickups allow the player to heal when they come into contact with them.

Github

News API - Frontend

Northcoders - Frontend Project

Javascript

React

HTML/CSS

A news board with social elements that allows users to post and view articles and filter by topic, popularity and more. Users can also comment and vote on articles, as well as vote on user comments themselves.

Note: The server hosting the backend spins down after periods of inactivity, so it may take up to a minute to initially respond.

View SiteGithub
Image of list of articles on a 'What's News' website.

Tenzies

React Dice-Rolling Game

Javascript

React

HTML/CSS

The aim of the game is to have all dice showing the same number. Users can update dice state to “hold” them, then roll the remaining dice.

Built using React, it also uses cookies to track player statistics. The user can change the amount of dice, as well as the game mode. Different player statistics are saved for each combination of dice/game mode.

Github

Quiz App

React Practice

React

JavaScript

HTML/CSS

REST API

A quiz app made in React. A user can choose how many questions they would like, the general difficulty, and the question genre.

Using the inputs from the user, a quiz is created by fetching questions that match the input criteria from an API. Once the user has selected their answers, they can submit them and see their score.

Github

Homepage Project

CS50x Project

HTML/CSS

To practice HTML/CSS I, I created a simple website consisting of several pages. I decided to make a light version of the Overwatch website.

I implemented a filter to filter heroes by their role, and I created several carousel banners using Bootstrap. The website is responsive and can be viewed on both desktop and mobile.

Github

Portfolio Website

This one may be familiar

React

JavaScript

HTML/CSS

This website is made using React. It is responsive and is viewable on all device sizes.

I was sure to follow accessibility guidelines, using ARIA labels to hide decorative elements from screen readers and add additional information to buttons. I designed the projects section in a way that I can easily add new projects in future as and when I complete them.

Github
Screenshot of the landing area of this website.

The Boardgame Companion

Personal Project

Python

HTML/CSS

JavaScript

SQL

REST API

The Boardgame Companion is a web-app that allows users to track and share their boardgame collection and gameplay statistics with their friends.

User data is stored and fetched from an SQL database. The board game search uses the Boardgame Geek API, filtering out expansions and other products to only show relevant results.

View SiteGithub
Screenshot of The Boardgame Companion.

Meme Generator

React Practice

React

JavaScript

HTML/CSS

Using React, a user is able to use forms to input text that they would like to place on a random meme image.

When 'generate meme' is clicked, an image is fetched asynchronously from a database, and the text is displayed on top.

Fountain of Objects Game

C# Players Guide - OOP Practice

C#

To gain a deeper understanding of Object-Oriented Programming, I created a game following the rules set out in the C# Players Guide book.

The player can choose between a small, medium and large map, which consists of a grid. They move through the grid by inputting console commands, receiving information about their current and adjacent cells. They can kill monsters, avoid pits, and eventually enable the Fountain of Objects. Once this condition has been enabled, they can escape by returning to the start.

Animation showing the Fountain of Objects Game gameplay.

Dark Mode

React Practice

React

JavaScript

HTML/CSS

Using React State to enable/disable a dark mode for a website.

Animation showing an app switching between light and dark mode.

Contact

Open to job opportunities

Email me at

hollands.joe@gmail.com

Or find me on