Biography
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.
Background
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.
History
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.
Education
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.
FAQ
What is your favorite language?
Why?
What is your favourite Method?
What are your goals for the future?
What are your hobbies / interests outside of work life?
What is your work ethic?
