I have never been a fan of fancy job titles, what does, lead architect, consultant,
solution architect, engineer actually tell you?
I consider myself engineer with a focus on the practical. i.e. "get stuff DONE!"
I would consider myself somewhat of an AWS specialist, I co-presented at the 2016 AWS Sydney Summit.
AWS make great technology, I have a hard time taking people seriously who still consider running your own
hardware as a viable solution.
I Love networking and networking protocols. We use these technologies to glue distributed systems together
and the internet has a whole for that matter! They matter a lot
I am lucky to get to deal a lot with crypto. I have implemented many systems leveraging various crypto technologies. You won't find me writing the next AES, that's not me,
but you will see me ensuring encryption is used correctly in things I engineer to protect information.
When writing software I have used many different languages. I favour good engineering practices vs
being wrapped in a single language and trying to use it for everything even if it is not suitable.
I am most experienced in Typescript, raw Javascript, Ruby and Go lang. That said I have written production
facing systems in C#, PHP, Python and Javascript React Framework.
Some Projects I am proud of:
- Leading the design and development of a E-Commerce / User portal / End user provisioning system
for a large accounting SaaS company. It has a fully serverless architecture, using AWS Lambda (with NodeJS),
AWS DynamoDB and API Gateway.
Front end UI of the application was React hosted by AWS S3.
Challenges were many, including making the call to shelve 2 years of previous overly complicated development
done by another team, that, unfortunately, was never going to serve the business needs.
I working with the senior business management to understand what key elements would be most important and
would actually affect purchasing volume and revenue, pushing back on overly complicated feature requests that
didn't have a financial return.
The development of the new system also had to take into account a complicated legacy left by the old
(then current) portal system and handle migration of that information over to the new system.
- Implementation of a major update to a search result streaming pipeline used by a large travel
provider with over 6 million searches per day.
The old pipeline was unstable, expensive and wasn't providing the data in a way that could be leveraged by other
teams to do data modelling and AI.
The new system replaced the old uncompressed JSON payload with a Protobuf + Snappy compressed data payload. A small
docker based scala web service was placed in front of AWS Kinesis to receive the streaming data from the web servers.
Events were read from the stream using AWS Lambda NodeJS Application to
process to various targets including S3 and ElasticSearch.
The result was improved the latency of the stream, improved performance, availability and reduced costs to
the order of $20,000 per month.
- Helping to move a whole organisation over to better technical practices. I hesitate to use the word DevOps,
for that has become such a buzz word. As part of a small team, we, through leading by example transitioned
the company from long release cycles to daily releases, from developers throwing code over the wall towards IT
to developers becoming true engineers, who understood ops, did ops and wrote code that was more operationally
ready, from manual releases to automated releases. From long running servers to ephemeral servers that
existed as little as hours. From large teams to small teams with more power and support to build things well.
From manual testing to automated testing onto Chaos engineering, pushing our systems to find unexpected
failure patterns.
Was a long journey, but a successful one
I have an adventurous spit and when not at my computer I can be found travelling, caving, rock and ice climbing,
hiking, camping, canyoning and enjoying the great outdoors!