James Hay

Engineering Manager, User Interface Developer, and Software Architect

I am an expert in web architecture, with an eye for detail, and an extremely strong set of technical skills. My experience and depth of knowledge is proven in my ability to lead both the architecture and ongoing development and deployment of any sufficiently complex system.

I have proven experience managing, leading and mentoring an engineering team, allowing individuals to focus on their given tasks without distraction, while ensuring the quality of a product, and it's on time delivery. Having worked in both small startups and large established companies, I am able to understand the culture and dynamics of different engineering teams, and to appropriately balance workloads to maintain a high-quality product, as well as staff retention and job satisfaction.

As a strategic thinker, an excellent written and oral communicator, I am well geared to bridge the divide that often stands between a set of business goals, and their technical implementation. I am able to take a 10,000 foot view, and communicate with business stakeholders, C-level executives, and marketing strategists to discuss and clearly define a product or business strategy. I can efficiently switch context and compartmentalize the direction from the underlying software architecture which can be crucial to provide a buffer for experts from both the business or engineering worlds.

Employment History

Senior User Interface Manager at Oldendorff Carriers

February 2019 - Current

My management responsibilities primarily covered both the user interface team and our front-end product, for the internal data science platform.

  • Founded the front-end team of the data science department, and evangelized user interface development to team members, department heads and other business stakeholders
  • Proactively met with members of commercial teams to understand their problems and design capable software solutions
  • Coordinated frequently with other engineering managers to present my architecture proposals and integrate their solutions into the front-end
  • Ran the hiring and salary negotiation process for the additional team members of the front-end team
  • Set timelines and work priorities for the team using Agile methodologies
  • Set unique KPI's and other goals for each team member

Engineering Manager at MyDoc

February 2018 - February 2019

After being promoted to Engineering Manager at MyDoc, I was tasked with overseeing the entire cross-functional engineering team at all stages of product development. At the same time, I maintained my role as lead front-end developer (described below) and continued to work on the core platform architecture.

  • Coordinated with external clients, and internal stakeholders to present a unified development plan for desired features and functionality
  • Developed complex technical specifications across multiple platforms, as a single source of truth for engineers and QA
  • Ran regular sprint meetings with the team to organize deadlines, prioritize work items, and preemptively solve looming problems that could affect the release of product features
  • Managed the QA team to ensure that our engineering approach was balanced between feature development, and maintenance
  • Ran interviews for engineering candidates

Lead Front-End Developer at MyDoc

June 2016 - February 2018

Originally employed as a senior front-end developer, my role gradually expanded to include architecture of the whole platform.

  • Lead the complete rebuild of the patient and doctor front-end platforms in React with Redux
  • Built from scratch, using the same technologies, an administration portal with role based features for internal staff, or third party clients
  • Designed and implemented proper authentication mechanisms, using single-sign-on principles and role-based authentication
  • Rewrote our legacy websocket chat server. Initially developed in Closure, I analyzed the existing code and built a new and improved chat service using Node.JS
  • Worked closely with designers and product managers to ensure a consistent and elegant user interface
  • Introduced code testing, static typing and build tools to the front-end

Senior Front-End Developer at 90 Seconds

April 2015 - May 2016

I was employed at 90 seconds as their first front-end developer, and led the development of the front-end during their rapid Series A growth.

  • Rebuilt the entire front-end from scratch
  • Initially created a proprietary jQuery-based component framework to replace the ad-hoc javascript used throughout the earlier version of the application
  • Worked on full-stack integration with Ruby, moving the team away from a pure Rails system, to a standard REST API approach
  • Introduced the concept of websockets, and implemented the client-side of it for an in platform notification and simple chat system
  • Introduced React to the platform initially for a "Quick project quote" feature, and later to the platform as a whole

Front-end Developer at EziBuy

April 2014 - May 2015

During my time at EziBuy, I worked almost exclusively on the company's new flagship omni-channel website, and built some minor internal applications.

  • Lead and completed front-end development of the EziBuy e-commerce website, taking over the role from multiple offshore front-end developers
  • Developed a proprietary jQuery-based component framework to provide better code structure and reusability throughout the site
  • Mentored and assisted other front-end developers (and sometimes back-end developers) within the team.
  • Coordinated with large teams of offshore backend developers and business analysts to ensure smooth back-end/front-end interaction
  • Created a database log viewer with Backbone.JS, early TypeScript, C#, and an MS-SQL database.

Analyst Programmer at AdvanceRetail Technology

January 2013 - April 2014

At AdvanceRetail I acted mostly back-end developer, working on the .Net stack, for a mature point-of-sale software solution used in New Zealand and Australia

  • Developed web based internal tools for the development team
  • Built FTP windows services to pass batched retail transactions from client servers
  • Developed a TCP socket program to receive remote commands at client servers under AdvanceRetails control
  • Assisted with migration from ActiveRecord to Entity Framework
  • Assisted with the development of a custom clients master data management system
  • Built adapter modules to parse and transform transaction data from third-party systems such as Magento to our own format

Web Developer at Nouveaux Design

April 2010 - January 2013

Nouveaux Design's primary client was the New Zealand regional arm of 20th Century Fox. I produced many microsites, competitions and internal web applications during my time there as the sole software developer.

  • Built an internal content management system to update press release media
  • Built the main public portal for information about upcoming film releases and films showing in cinemas
  • Built an RSVP system for screenings of unreleases films by 20th Century Fox NZ.
  • Built several other simple RSVP sites for film galas and other film based events for the film industry
  • Worked with web teams in the US and local print designers to create region-specific microsites for upcoming film releases

Technical Competencies

As an expert

JavaScript TypeScript HTML CSS React Redux HTTP WebSockets App Performance

As an advanced practicioner

Node.JS Webpack PostCSS SASS CSS Modules PostCSS Micro services AMQP/Rabbit SEO

As a competent user

SQL Postgres MySQL Docker CI/CD Linux

As a competent user in the past

.Net (C#) Ruby/Rails Clojure PHP MSSQL Backbone.JS Angular 1

As a beginner (Interests outside of work)

Erlang/OTP Rust WASM OpenGL/WebGL

Notable Software Architecture

If you have an interest in the projects and systems I've designed and built which required a more architectural approach than a standard CRUD application does, I've outlined some of them below. Feel free to contact me on LinkedIn if you want to discuss them in more detail.