David Alsh

Technology enthusiast, full stack software engineer and mad scientist

Sydney, Australia 0481 251 470 alshdavid@gmail.com

A bit about me

Software and technology are my passions. I love talking about technologies, discussing concepts, exploring new ideas and gaining perspective from people who have different experiences to my own.

Generally I have a hands on approach to problem solving. Unyieldingly enthusiastic to begin on a journey and appreciating the chance to share my discoveries along the way.

I have a background of creating start ups, building greenfield projects where I had to wholistically construct entire infrastructure architectures and manage a team.

My current role has seen me specialise in authentication (OpenID Connect), building an identity provider and consumer solution. In addition to that, I designed the front end architecture, front end infrastructure, and routinely hold company session where I share knowledge with the engineers across the teams.

My personal philosophy is that it’s not a question of if you’re are capable of achieving something, it’s a question of how long it'll take you to learn.



Technical Experience

I have a strong foundation in browser based front end development. JavaScript, TypeScript. I have setup private npm repositories, hosted tooling to help with everything from simple modals to testing tools.

I have configured webpack with typescript, babel, scss. Gulp, and all of the older task-runners. I have setup Node with typescript.

Setting up test runners and sensible testing strategies to ensure reliable services.

I have the plethora of experience working with authentication. I have written OAuth OpenID servers and clients. I am currently working on developing the first OpenID certified Go Relying Party (Client).

I have worked extensively with Docker and continuous deployment environments. As an example, this website pushes directly to AWS S3, sits behind AWS CloudFront and has it’s nameservers managed by AWS Route 53 and does so from Gitlab’s pipeline service. Though I have achieved similar things from BitBucket and am anxiously awaiting GitHub’s actions


Front End

Back End

Ops


Tutorials, YouTube, Medium, Oh My!

At Zip, I have conducted many brown bag sessions where I share knowledge I have learned with the other engineers in the company. I have done talks on front end best practices, back end patterns when using Node, session on the Go language.

By and large the response has been positive. People tend to find the talks interesting and informative. It’s extremely rewarding to have people come back to me afterwards and ask me questions or discuss areas I hadn’t thought about.


Fundamentals of Angular

In addition to this, I hosted a program where I was teaching engineers on AWS. Discussing the different services, how they connect, how to use security groups, VPCs, auto scaling with target groups and ECS.


Zip's AWS Ninjas


YouTube

I have recently started recording videos for youtube and writing articles on Medium. My goal is to share knowledge and get people interested in the technologies I enjoy.

I am still learning the ropes to this. I need to get a better microphone, perhaps a webcam and learn how to properly segment the videos so they are more easily digestible.


API Design with Go

In this video I walk through setting up an API using Go and the HTTP router Chi. I get into the testing of handlers and packages, as well as some information on how to use interfaces to simplify testing.

https://www.youtube.com/embed/zeme_TmXyBk

Front end tutorials

In this video I set up an Angular client on an existing http server that is using Go and the web framework Gin. I cover some simple ideas like two way databinding, structural directives and modules.

https://www.youtube.com/embed/pHRHJCYBqxw

Employment

Zip Co Software Engineer

Zip is a fintech that operates in the lending space. My responsibilities at Zip are full stack development with a focus on front end.

I led the engineering of a hackathon project which, within 3 months of going to prod, made Zip the largest gift card retailer in Australia by a 20% margin.

I hosted educational seminars and informative talks on talks and tooling.

In my time at Zip I have


Marshall Installs Archetect, Manager and Engineer

Marshall Installs is a consumer electronics / whiteware installation & delivery company.

I was contracted to work on a software solution to their existing paper-based management.

The software spans different aspects of the company, and is used to manage deliveries, drivers and delivery loads. The software was made in Angular, Node and Mongo as a PWA and involves real time updating.


BrownPaperBag Software Developer

BrownPaperBag is an incredible digital agency based in Auckland, New Zealand.

This role involved a new greenfield project every other week. Each project brought with it new challenges, and requirements.

The owner of the agency along with the team members were extremely supportive of taking initiative and exploring new technologies. This led me to learn new technologies and help the company offer new services.

Before long BrownPaperBag was offering app development and web app development, leveraging my skills in Angular and Cordova.

After I left, I continue to act as an external consultant for the agency and often catch up with the employees there.



Projects

Marshall Installs marshallinstalls.co.nz/

Delivery management software that allows users to add job bookings which contain information including a google maps link to the job destination, status updates with image uploads, job types and more.

Using a drag and drop interface, delivery bookings can be added to driver runs, which get assigned to staff.

Staff use the app to then go through their delivery itinerary and update the jobs as they complete them.

Admins looking at the console will see updates change live.


New Zealand Tertiary College nztertiarycollege.ac.nz

A native app which acts as a student portal. The app has an integrated calendar which admins push events to.

A messages builitin area which is updated by admins and can be replied to by students.

An area to show off grades from assessments.


Textile Recycling Centre textile-recycling-centre

A native app to help manage the daily tasks of drivers working for the organisation.

Drivers are tasked with collecting items from sites and communicating the contents.

The app allows drivers to take photos and to instant message chat with the headquarters


Github / Github Orgs github.com/alshdavid github.com/qkgo


Marshall Installs

New Zealand Tertiary College

Textile Recycling Centre