The Technology Team

Induction

Introduction

Brief induction to the technology team, the tools we use, our role at Heyday and ways we work.

But first...

How about a bit about yourselves?

Technology team overview

We don't (just?) do this...

Overview

  • Obviously we're one of several teams
  • ... but the largest team at Heyday
  • We consist of several sub-teams...

Sub-teams:

  • Server-side (SS)
  • Front-end (FE)
  • Test (Quality Assurance)

Let's get more technical

Server-side vs Front-end

Let's look at how we divide up the technical build of a website.

What we do:

  • Technical build (developers)
  • Technical investigations and finding the best technology solutions for projects (generally seniors and leads)
  • Systems integration
  • Technical consultancy
  • Systems architecture

...

...cont'd

  • Project planning and estimating (generally seniors and leads)
  • Infrastructure setup & configuration (mostly cloud) (generally leads)
  • DevOps: service monitoring and management
  • Manage a few internal systems
  • Internal tech sessions (e.g. DNS 101)
  • Like all other teams - help improve internal processes

Frameworks

We use one to build a website; what's a framework and why do we use one?
Let's look at SilverStripe (90% of our sites??) for one of our clients as an example...

Z website
Z CMS

Open source

  • What does it mean?
  • A couple of projects we have open sourced:
    • Beam
    • Module development

Solution Architecture

Designing and describing the technical components behind the build of the website.

Security, stability, scalabilty and availability are all key considerations.

Key parts of a project

  1. Requirements capturing
  2. Scoping
  3. Estimating
  4. Concepting
  5. Wireframing
  6. and...

Build

Coding

Designing and writing code. This requires planning, some creativity and focus on making that code clean, maintanable, reusable and scalable.

Development process

  • Generally use an IDE for writing code
  • Code is stored in version control system
  • Environments are mostly virtualised

Testing and client review

  • Staging sites
  • Design and Front-end working together

Go live for a new website

  • Create production hosting environment, or use an existing one
  • Use Beam to move up code and assets
  • Content create in production
  • Testing
  • Configure DNS to point www.new-website-we-made.com to the hosting environment

Deployments

Moving code to a hosted environment

  • Not done on a Friday due to risk
  • Close down period over summer holidays

Hosting

What do we do for hosting?

  • Umbrellar
  • Cloud platforms, in particular Azure and AWS
  • Common Web Platform: managed SilverStripe for govt

Goals for dev

  • Re-use
  • Solid, consistent maintainable code and systems
  • Getting the bread-and-butter right so we can be better and do the cool stuff

What's important for dev?

  • Clear and accurate briefs
  • Support of internal systems and processes
  • Keeping abreast of new technology

Start when appropriate

Disciplines have different requriements before they should begin:

  • SS needs functional requirements
  • FE needs designs and server-side
  • Test needs a working site!

Process

  • Tasks estimates etc into Jira

Questions?

Anything else?

  • General Heyday questions?
  • Technology/internet questions?
  • Anything that would be good to add to the technology induction material?