How we learn new tech (Hackathon)

A Hackathon can be a great - and concentrated - way to learn a new piece of tech.

At Slate,  when we plan a hackathon (albeit a mini one), we typically need two things: a piece of tech to test, and a juicy challenge.

When is a trip to the pub not a trip to the pub? When it's a Hackathon!

What happens when you mix unparalleled enthusiasm with the Ballmer Curve (a fictional level of drunkenness that supposedly heightens a computer programmer's skills)?

A hackathon is what happens. Seven hours of unadulterated learning, innovation and happiness.

Here's how it began:

Rob - "Let's do it! Let's write some Pulumi *claps hands excitedly*"

Callum - "Wut wutttttttt *sips beer excitedly*"

There's very little you need to get started on learning new tech.

All it takes is inspiration, motivation and action, starting at any point.

I brought the inspiration, Rob brought the action - the pub brought the motivation!

 

Why we chose Pulumi

I wrote about the awesome technology, Pulumi, in my "What I'm keeping my eye on in 2020" blog post.

I'm pretty excited about what it can do.

My colleague Rob also took great interest in Pulumi after his stunning work on creating a Kubernetes platform using Terraform. Now, I don't mind Terraform for the most part, but Pulumi really took hold of me as what I believe to be "Real" code for creating infrastructure in a fast, clean, effective way.

So how did we go about our Hackathon?

 

The Hackathon - what you need to know

Firstly Hakas are optional - you see what I did there, because of Hacka-, as in the first part of the word, ha, ha (don't worry, I won't give up my day job).

We structured the Slate Hackathon specifically to help us to learn about a new technology.

 

  • We had a technology that we wanted to play with (Pulumi).
  • And we were really keen to find out whether Pulumi would help us to with a project we have been working on for a few weeks.

We call this the "Blank Slate Series" - we're blogging every week about the stages in this process,  where we have challenged ourselves to answer the question:

Could we build an online appointment manager app to ease the customer onboarding process for building societies?

Pulumi is open source software, designed by developers, for developers, creating, deploying, and managing infrastructure.

And that was exactly what we needed!

 

Step 1 - Meaningful Use

First things first.  We needed to build out the requirements of what we were trying to do.

For us, this meant using AWS Management Console to build our infrastructure and take note of all the parameters and values (or at least where they were). This was an important starting point because, for the most part, we knew how to create it in the management console.

Step 2 - Create Requirements

We played with code for a long time. Drank some beer. And hacked some more. There was so much chopping and changing, trial and error - until it got to about midnight and our brains were fried.

 

And then we called it a night.

 

The Hackathon - what we achieved

A hackathon is a brilliant thing. 

At Slate, we do them a lot.

We give ourselves a challenge, and a technology. And then we play with it for as long as we have energy to continue.

The objective: to learn the new tech, to find out whether the tech has legs - and whether it will help us to solve client challenges, faster.

Let's look at what we actually did:

 

  1. We were able to create the network infrastructure on AWS through using Pulumi.

  2. With the infrastructure in place, this meant VPC, Internet Gateway, Security Groups, Route Tables, Load Balancer and Subnets (fault tolerant across to AZs).

  3. We were able to establish that in certain instances, using Pulumi might be really beneficial for client infrastructure initiatives.

 

We didn't manage to get the EC2 instances connected to the subnets - but that will be the next iteration.

But actually, this little hackathon demonstrated so much more about what we achieved and who we are.

We covered all the core skills and competencies that we ourselves believe in and promote all the time.

We worked in an Agile manner. We welcomed changes and iterated the software. We were all motivated and inspired - and we worked on building the infrastructure in small deployable working increments.

We developed using the best techniques, the latest JavaScript, and pair programmed. I observed and navigated, whilst Rob flew the mothership (i.e. he did the actual coding - cheers Rob).

We mixed my experience in good practice and architectural knowledge with Rob's experience in AWS infrastructure.

 

Final word on the Slate-Pulumi hackathon

At Slate, we are completely focused on newer, faster, more effective ways of creating digital change.

We live it. We breathe it. We love it.

This hackathon embodied the culture that we promote and nurture.

It's the culture that every developer really loves.