0123456789

Yoshi Walsh

Creating memorable software experiences

Skills & Proficiencies

  • Amazon Web Services (AWS)
    Details
    1000+ hours experience
    Built countless projects on AWS of all types, complexities, and scales. Architected and operated a scale-to-zero webapp that seamlessly handled viral success. Experience adapting and optimising monolith applications to make efficient use of the AWS platform.
    • EC2
      Details
      100+ hours experience
      Running production workloads in EC2 with Application Load Balancers and Auto Scaling Groups. Using IAM Instance Roles for securely interacting with other AWS services.
    • Lambda
      Details
      100+ hours experience
      Developed proof-of-concept APIs using Lambda with DynamoDB and API Gateway. Developed custom Alexa Skills using Alexa Skills Kit. Developed Lambda-backed CloudFormation custom resources. Automated infrastructure management tasks with Lambda & SNS. Used Lambda@Edge to implement password protection and other features for CloudFront.
    • CloudFormation
      Details
      100+ hours experience
      Migrated existing infrastructure for a complex SaaS application to be managed by CloudFormation. Created numerous Lambda-backed custom resources to enhance capabilities of CloudFormation, including fully-automating HTTPS certificate acquisition.
    • Elastic Beanstalk
      Details
      100+ hours experience
      Deploying, operating, and maintaining a mission-critical application with thousands of daily active users.
    • S3
      Details
      100+ hours experience
      Created an automated tiered backup system using S3 Lifecycle Policies. Designed & implemented a system to allow users to upload large files from any platform using S3 Multipart Uploads, EvaporateJS, Cognito & AWS Amplify. Hosted static websites using S3 Static Website Hosting and CloudFront.
    • CloudFront
      Details
      100+ hours experience
      Hosted single-page apps and static websites on CloudFront. Used CloudFront as a CDN for videos and other media. Used Lambda@Edge to password protect sites, as well as to implement custom redirects and other functionality.
    • Cognito
      Details
      100+ hours experience
      Used Cognito User Pools to rapidly develop proof-of-concept applications. Used Cognito Federated Identities with Developer Authenticated Identities to safely grant users with limited direct access to S3 services.
    • IAM
      Details
      100+ hours experience
      Created many IAM Policies, Roles & Users according to Principle of Least Privilege. Utilised Conditions in order to facilitate automated testing of an application under different sets of permissions.
    • RDS
      Details
      10+ hours experience
      Administrated multiple highly-available production databases.
    • CodeBuild/CodePipeline
      Details
      10+ hours experience
      Created an automated multi-stage build process for Gatsby websites using CodeBuild, CodePipeline, and gatsby-plugin-s3.
    • Simple Queue Service
      Details
      10+ hours experience
      Used SQS for efficient data processing in a scale-to-zero microservices application.
    • CloudWatch
      Details
      10+ hours experience
      Developed a simple daemon process to provide custom metrics about per-method resource utilisation, allowing for visibility into which parts of the application had the most potential for optimisation. Used CloudWatch Events to create a scaleable cron alternative.
    • AWS Elastic Transcoder
      Details
      10+ hours experience
      Architected and implemented an adaptive streaming system using Elastic Transcoder to transcode videos at multiple bitrates.
    • Amazon Connect
      Details
      100+ hours experience
      Designed a call-centre IVR workflow using Amazon Connect, including mechanism for callers to request a callback instead of waiting on hold.
    more...
    • DynamoDB
      Details
      100+ hours experience
      Developed scale-to-zero queue management and fan-in processing as part of a complex data processing pipeline. Additional experience using DynamoDB for rapid-prototyping.
    • API Gateway
      Details
      100+ hours experience
      Design of public-facing Lambda-backed APIs.
    • Route 53
      Details
      10+ hours experience
    • Certificate Manager
      Details
      10+ hours experience
      Acquired and deployed HTTPS certificates for CloudFront & Load Balancers. Developed automation for this process.
    • IoT Core
      Details
      10+ hours experience
      Created a proof-of-concept demo allowing multiple devices to communicate via AWS IoT Device Shadows & Messages.
    • Simple Notification Service
      Details
      10+ hours experience
      Allowed cloud-hosted applications to react to events generated by AWS services, such as Elastic Transcoder. Automatically whitelisted AWS service IP addresses for private apps using AmazonIpSpaceChanged topic. Allowed CloudWatch to send SMS messages to key personnel when certain alerts were triggered.
    • Lightsail
      Details
      10+ hours experience
    show more... show fewer...
  • C#
    Details
    1000+ hours experience
    My first true love. Still one of my favourite languages.
    • Umbraco
      Details
      1000+ hours experience
      Worked on multiple Umbraco sites, both frontend and back-office features. Built a flexible WYSIWYG editor that allows non-technical users to build visually-impressive, responsive pages.
    • .NET Core
      Details
      100+ hours experience
      Wrote an integration to transfer data from a cloud-based system to an on-prem solution. Created a tool for retrieving data from failing Solid State Drives.
      more...
      • Avalonia
        Details
        10+ hours experience
        Created a simple GUI wrapper for a data export script.
      show more... show fewer...
    • LINQ
      Details
      10+ hours experience
      Simplified and accelerated processing of business-logic using LINQ.
  • JavaScript (Browser)
    Details
    1000+ hours experience
    I find JavaScript's quirks very endearing.
    • Angular (2.0+)
      Details
      1000+ hours experience
      Used Angular for several published hobby projects and many unpublished ones. Planned and contributed to upgrade from AngularJS to Angular via hybrid app approach.
    • React
      Details
      100+ hours experience
      Use of React SSR in Static Site Generation projects. Development of custom client-side components, including support for hydration.
    • AngularJS (1.x)
      Details
      1000+ hours experience
      Built highly-complex interactive webapps using AngularJS. Optimsed AngularJS apps to run on low-performance platforms such as Smart TVs. Very familiar with directives, services, digest cycle, scopes, etc...
    • VanillaJS
      Details
      100+ hours experience
      No jQuery, no framework. One of my favourite ways for putting together a fast proof-of-concept or a simple tool.
    • Vis.js Timeline
      Details
      100+ hours experience
      Created an interactive timeline-based webapp, with deep integration with AngularJS via a custom directive. Contributed multiple significant performance improvements upstream.
  • TypeScript
    Details
    1000+ hours experience
    My favourite language. Experience targeting both browsers and NodeJS. Striving for full static typing. Comfortable with advanced typing features such as generics, intersection & union types, type guards, aliases, etc...
  • NodeJS
    Details
    1000+ hours experience
    Have written static content generators, simple APIs, realtime video processing pipelines, business-logic integrations, and more.
  • CSS
    Details
    1000+ hours experience
    Experienced practitioner of Progressive Enhancement. (Try disabling JavaScript on this site.) I love doing things in CSS that most developers don't realise are possible.
    • SCSS
      Details
      10+ hours experience
      Authoring stylesheets using SCSS syntax.
  • Terraform
    Details
    100+ hours experience
    Wrote several open source modules for deploying static websites to AWS S3+CloudFront. Used Terraform to manage infrastructure for multiple cloud-native applications.
  • Video manipulation
    Details
    100+ hours experience
    Built systems for processing both live and on-demand video content. Very familiar with high-level concepts such as transcoding, remuxing, encoding, and decoding.
    • ffmpeg
      Details
      100+ hours experience
      Used ffmpeg fairly extensively for transcoding, remuxing, and simple editing. Integrated ffmpeg programmatically for processing live and on-demand videos. Used complex filters to convert Advanced SubStation subtitles to transparent video.
    • gstreamer
      Details
      10+ hours experience
      Designed and deployed live video transcoding pipelines in gstreamer.
    • mpeg-ts
      Details
      10+ hours experience
      Limited experience directly manipulating mpeg-ts streams. Wrote an open-source library (mpegts-tools) for performantly parsing mpeg-ts streams in NodeJS.
    more...
    • AviSynth/AviSynth+
      Details
      100+ hours experience
      Automated simple video editing tasks.
    • DVBdirect/DVBjet
      Details
      10+ hours experience
      Used DVBjet to create livestreams based on terrestrial TV.
    • HLS.js
      Details
      10+ hours experience
      Built a simple video player using HLS.js, including extensive error handling.
    show more... show fewer...
  • SQL
    Details
    1000+ hours experience
    Experience with MySQL, MariaDB, PostgreSQL, MSSQL, and SQLite. Architected fully- and partially-normalised databases. Proficient at using EXPLAIN to optimise existing queries.
  • Interpersonal
    Details
    1000+ hours experience
    Well-liked and respected by previous coworkers. Friendly, approachable, and usually able to point people in the right direction.
    • Teaching
      Details
      1000+ hours experience
      Passionate about helping others understand technology concepts. Able to simplify complicated concepts for laypeople, or provide in-depth technical explanations for developers. Helped teachers teach programming to other students while in highschool.
    • Support
      Details
      100+ hours experience
      Provided tier 1, 2 & 3 support for over a year at a company with no dedicated support staff. Was often specifically requested by frequent callers.
    • Code reviews
      Details
      100+ hours experience
      Reviewed many pull requests. Strict code-cleanliness standards. Careful to keep all criticism constructive.
    • Leadership
      Details
      1000+ hours experience
      Technical Lead for a team as it grew from 4-15 developers.
  • Date & Time
    Details
    100+ hours experience
    Inadvertantly become passionate about dates, times, timezones and their representations within computers. Can tell you the difference between POSIX and ISO GMT offsets, how UTC is based on a false premise but is still worth using almost everywhere, or why an Olson timezone name is superior to a timezone abbreviation.
    • Moment.js
      Details
      100+ hours experience
      Developed a private library for working with recurring events.
    • Chronos (CakePHP)
      Details
      10+ hours experience
      Assistance porting a private library for working with recurring event library to PHP.
    • Noda Time
      Details
      10+ hours experience
      Ensured correct handling of timezones while developing a system for converting exported data between two different formats.
  • IT Administration
    Details
    1000+ hours experience
    • ASD Essential Eight
      Details
      100+ hours experience
      Implemented Essential Eight Mitigation Strategies as outlined by Australian Signals Directorate.
    • Microsoft Intune / Endpoint Manager
      Details
      100+ hours experience
      Wrote configurations to enhance security. Packaging Win32 apps.
    • Android Work Profiles / iOS User Enrollment
      Details
      100+ hours experience
      Assured users of privacy of personal data. Wrote and tested configurations for Data Leakage Prevention. Documented enrollment process. Developed plan for rollout.
    • Airlock (Application Whitelisting)
      Details
      100+ hours experience
      Responded to user requests for adding applications to whitelist. Evaluated business use case and security implications of new applications. Updated whitelist in response to application updates. Troubleshooting related issues.
    • Email hardening
      Details
      100+ hours experience
      Setting up DKIM for many different services. Tightening SPF rules. Monitoring DMARC reports (both manually and via Valimail). Enforcing DMARC.
  • Static Site Generation
    Details
    1000+ hours experience
    Development & deployment of many cost-effective & fast websites. Created/maintained multiple open source tools for infrastructure provisioning and content deployment.
    • Gatsby
      Details
      100+ hours experience
      Leveraged Gatsby to build my blazing-fast blog, along with several other websites. Have written or contributed to several open source Gatsby plugins.
    • Parcel.js
      Details
      100+ hours experience
      Built this website, other websites, and several Single-Page Applications. Experience with both v1 and v2.
  • Docker
    Details
    100+ hours experience
    Dockerised my homelab. Published several open source Docker images and compose files.
    • Dockerfile
      Details
      10+ hours experience
      Published several open source Docker images for various purposes.
    • Compose
      Details
      100+ hours experience
      Extensive use of Compose for managing my homelab.
  • Linux
    Details
    100+ hours experience
    Used Linux extensively for both personal & professional purposes. Hosted production services on CentOS, RHEL, Ubuntu Server, Alpine, etc... Comfortable with GNU utils, can also use BusyBox utils. Used Ubuntu as my primary desktop environment for several months.
  • PowerBI
    Details
    100+ hours experience
    Created dataflows to ingest and transform ESdat-format CSV data received from labs. Designed and refined reports tailor-made for specific use cases.
  • PHP
    Details
    1000+ hours experience
    Architecture, ownership, and maintenance for legacy and greenfields projects. Large scale automated refactorings. Performance optimisation via Blackfire and xdebug.
    • CakePHP
      Details
      1000+ hours experience
      Architected a scaleable API for a highly-complex SaaS solution. Assisted development team with performance optimisations.
    • PHPUnit
      Details
      100+ hours experience
      Designed testing methodology for a large scale SaaS solution. Modified setUp/tearDown system to improve performance, allowing thousands of tests to be run without taking multiple hours. Assisted team with writing tests.
    • WordPress
      Details
      100+ hours experience
      Wrote some plugins, customised some themes. Developed a self-service portal to allow designers to create new websites with our standard plugins preinstalled, migrate websites between different servers (dev/prod), safely move websites to different domains, and backup websites.
    • phpBB
      Details
      100+ hours experience
      Developed secure invite-only forums to allow a vendor and their customers to discuss sensitive topics privately.
more...
  • Hardware
    Details
    100+ hours experience
    Here are my meatspace skills.
    • PC building
      Details
      100+ hours experience
      Built more than 10 PCs. Upgraded more than 15. Experienced at selecting cost-effective parts within a variety of budgets.
    • Specialised server design
      Details
      10+ hours experience
      Part-selection for a purpose-built video transcoding server.
    • 3D modelling (CAD)
      Details
      100+ hours experience
      Familiar with SolidEdge, 3DS Max, Fusion360, Blender, OpenSCAD, SolveSpace, SketchUp, 123D Design, etc... Crafted 3D animations and designed prototype hardware.
    • 3D printing (CAM)
      Details
      100+ hours experience
      3D printing enthusiast. Produced prototype/proof-of-concept parts in a variety of materials on my FFF printer. Understand the relative strengths and weaknesses of different printing technologies such as SLA and SLS.
    more...
    • Custom loop water cooling
      Details
      10+ hours experience
      Designed and built a custom water cooling loop for my primary personal computer.
    • Electronics
      Details
      10+ hours experience
      Hobbyist-level understanding of electronics.
    show more... show fewer...
  • GLua
    Details
    100+ hours experience
  • Python
    Details
    100+ hours experience
    Built simple scripts using libraries such as Scrapy and PRAW. Experimented with machine learning stuff using Numpy & Tensorflow. Managed dependencies using pipenv.
  • GML
    Details
    100+ hours experience
  • SharePoint JSOM
    Details
    100+ hours experience
    Built a library for creating advanced cross-platform SharePoint forms with AngularJS to replace InfoPath.
  • XSLT
    Details
    10+ hours experience
    Created simple data visualisations for SharePoint dashboards.
  • Power Automate
    Details
    10+ hours experience
    Automated simple tasks in SharePoint and Exchange Online.
show more... show fewer...