@john ||= Human.new(
  name: 'John Stephen Hayes-Reed',
  email_address: 'john.hayes.reed@gmail.com',
  current_role: 'Technical Design Authority',
  previous_roles: [
    'Senior Ruby Developer',
    'Software Engineer',
    'Technical Lead'
  sns_links: ['LinkedIn''Twitter']
  contributions: ['Github''Stack Overflow']


A bit about me

In case you hadn't already guessed, my name is John Hayes-Reed. I am a driven, focused, and innovative software engineer who is always trying to learn more, pick up new technologies, and thrives in a challenging environment.

As a university graduate with a strong education in core computer science principles and software engineering, I am always looking to push my knowledge and understanding further in all fields of computer science and software development. Having studied and worked in Japan for over 4 years, I am also fluent in the Japanese language and have confidence in my ability to communicate with my team and others around me in both English and Japanese alike.


I have worked as a software engineer focusing predominantly on Ruby and web-based technologies for all of my career. I have worked on a varied list of projects ranging from legacy ASP systems with VBScript, to modern web systems with Ruby on Rails, real-time communication, and API's. Whilst my current specialities lie with the Ruby language and development in Rails, I have worked with a long list of languages during my university years, as well as in my own time for study or personal projects. I feel very confident in taking on any challenge in any language, and will complete the task at hand.

I try to take an interest in the wider programming community and become a positive active member through platforms such as Rubyflow Stack Overflow - answering questions and offering help where I can, as well as writing technological blogs, and taking part in hackathons.


Northgate Public Services 2017 - present

Technical Design Authority

My current role, working as an Architect helping design the technical solutions to the business problems, creating both High Level Design documents and Low Level Design documents to communicate the approach and implementation to multiple Scrum teams. Acting as the 'glue' to bring multiple technical teams working on different areas and technologies within the project together to facilitate and drive the design, testing, implementation, and delivery of end to end functionality for features. Analysing work practices and identifying weak spots / areas of improvement, and adjusting / creating ways of working to help increase productivity and quality. Mentoring Junior members in both general development and the project specific areas, chairing technical meetings to help spread knowledge of particular techniques, technologies, and implementations.

Senior Ruby Developer

My initial primary role was to create the low level design for features and implement them alongside team mates in my scrum team to deliver a feature end to end. As well as that it was my responsibility mentor junior members through remote pair programming sessions, code reviews, and group knowledge sharing sessions. During this period I was also asked to take on the roles of a Feature Lead (leading a scrum / feature team), and then a Technical Lead (leading all scrum teams and working with high level architects to help drive the Low Level Designs and implementation from their High Level Designs and spread that knowledge amongst teams as well as assign the work to teams), which eventually led to my more formal promotion to Technical Design Authority.

Technologies & skills

Ruby, Rails, Couchbase, Docker, Make, Rspec, Gherkin, Cucumber, SOAP, REST, JSON, XML, Postgresql, Ubuntu, UML, Lucidchart, Git, Github.

株式会社楓 フォン (Feng co.,ltd.) 2015 - 2017

Software Engineer

Going directly to clients and working with them to advise, design, and develop web / cloud based solutions for their business.

  • Maintaining legacy systems.
  • Designing and developing new features for legacy systems.
  • Teaching teams about technologies and design patterns to improve their work-cycle and rollout speed for new features and updates to modern systems.
  • Working with clients’ dev teams to manage, build, and release a new web-system.
Technologies & skills

Ruby, Rails, RSpec, Capistrano, Git, Gitlab, jquery, Sass, Legacy asp, CentOS, Vmware, C#, Sidekiq.

株式会社セブンエージェント (Seven Agent) 2014 - 2015

Software Engineer

Designing and developing web-systems and mobile applications for business solutions. Analysing current projects and resources and managing projects development.

  • Developing web-systems and mobile applications.
  • Meeting with clients to listen to their problems / ideas, and design and develop software solutions to meet their needs.
  • Work with and manage a small dev team working on various projects simultaneously.
  • Think of, research for, and implement new business projects.
Technologies & skills

Ruby, Rails, RSpec, jquery, AngularJS, Underscore.js, Ionic, Google dev tools (for android), Apple dev tools (for ios), Capistrano, Git, Gitlab, Bootstrap.

Freelance web developer 2013 - 2014

Whilst working officially as an English Instructor in Japan, I was also in pursuit of developing small scale sites for people with the goal of eventually trying to build that up into my own company. Made my first move into Ruby on Rails as my tool of choice to create some small scale CMS / blog based sites, for bands / friends.

Technologies & Skills

Ruby, Rails, Bootstrap, Git, Github.

NOVA Japan 2013 - 2014

Teaching a wide skill range of students wanting to learn English as a foreign language, including children from 3+ to advanced and business oriented learners.


I studied GAME (Games And Multimedia Environments) at the University of Sussex School of Informatics, which is a computer science based degree that also leans into areas of games development and multimedia. Having had the privilege of learning from some inspirational and engaging mentors, I have had the opportunity to study in many areas of both computer science and games and multimedia including:

  • Introduction Computer systems
  • Introduction to multimedia
  • Introduction to Programming
  • Programming Concepts
  • Further Programming
  • Human Systems
  • Models of Computing
  • Program Design
  • 3D Modelling and Rendering
  • 3D Animation
  • Compilers
  • Machine Learning
  • Program Analysis
  • Natural Language Engineering
  • Operating Systems
  • Software Engineering
  • Human Computer Interaction
  • Web Computing
  • Video Production Techniques
  • Limits Of Computation
  • Web 3D Apps

I also studied Physics, Mathematics with Mechanics, Music Technology, and Music during my college years, as well as studying at a high school in Kyoto Japan for a year and a half before enrolling in University.


What is your favorite language?
That is easy, Ruby.
Anyone who has used Ruby doesn't need to ask this question. It's freedom, expressivess, and natural feel. After a while Ruby stops becoming just a language and starts to become a way of thinking, and a workstyle.
What is your favourite Method?
method_missing, no contest.
What are your goals for the future?
To be a part of a team that delivers quality, cutting edge systems using best practices and not afraid to try out new technologies. To create systems and work in projects that make a difference to people's / businesses' lives, that I can be proud to have been a part of. Further down the line I would like to start my own business, or co-found a business that provides solutions that really make a difference to people's daily lives.
What are your hobbies / interests outside of work life?
Learning. I love to find out about new technologies and techniques and give them a try whether that be through buying books on new topics or reading blogs and posts from the community. I also enjoy keeping up to date with some of my other interests outside of computer science such as phsycics via things like New Scientist magazine. I also of course love to spend time and play with my amazing daughters Skye and Luna, wife Mami, and our three doggies Coffee, Tea, and Frappuccino.
What is your work ethic?
I am never afraid to get stuck in or afraid of failure, my first thought in any task in work is that nothing is too great or difficult that it cannot be completed without perserverance. I recently stumbled upon a quote which I think reflects my approach to work and study quite well:

Don't wish it was easier, wish you were better. Don't wish for less problems, wish for more skills. Don't wish for less challenges, wish for more wisdom.
- Jim Rohn
Profile picture


Contact Me

  • john.hayes.reed@gmail.com

Recent Activity

Attended Kansai Ruby Kaigi 2017

A Ruby conference in the kansai region of japan, held in Osaka. Listened to a variety of presentations from many people in the Ruby community. This years theme was Community and Business.

Bottled observers gem release

The first production version of bottled_observers has been released (v0.1.0)

New blog post!

A blog about more advanced decorating concepts in ruby.

Bottled decorators gem update

v0.1.5 of bottled decorators has been released.

New blog post!

A blog post about the concept of class-instance variables

Website Design Update

johnhayesreed.com has had a makeover with Bootstrap 4

New blog post!

A new blog about design patterns in rails - Decorators

Bottled decorators gem release

The first production version of bottled_decorators has been released (v0.1.4)

New blog post!

A new blog about desing patterns in rails - Services

Bottled services gem release

The first production version of bottled_services has been released (v0.1.3)

Ruby Rampage 2016

Took part in 2016's Ruby Rampage 48 hour Hackathon.