Tom Clarkson

High end full stack developer in Sydney, Australia.

I am a full stack developer with over twenty years web and mobile experience, most recently for startups building React/node/GraphQL/AWS based SaaS platforms and mobile apps.

I am the guy who can find the one character in ten thousand lines of code that needs to change to fix a particularly stubborn bug that only occurs in production every seventh page load on alternate Tuesdays.

So far I have never come across a technical problem I couldn’t solve. Challenge me.

Technologies

My current preferred tech stack

  • AWS
  • AppSync
  • Lambda
  • Terraform
  • Node
  • ES6
  • Webpack
  • SCSS
  • Apollo
  • React (hooks)
  • JSS
  • Jest
  • ESLint
  • Git

Other stuff I work with

  • Redux
  • Amplify
  • .NET (Primarily C#)
  • Swift
  • Objective C
  • Java
  • Python
  • SQL
  • Cordova
  • Angular
  • Ubuntu
  • Mongo
  • Gulp
  • Mocha

Open source

Some of my projects

Other open source contributions

Past Experience

2021 - 2021 Front End Engineer @ BCG DV / Coop

Startup product development on a react native/typescript/graphql/node/azure functions stack

Achievements include

  • Building a native app from nothing to prototype to initial release using the latest tools
  • Built the first version of the app quickly enough that everyone assumed it was just a mockup

2020 - 2021 Front End Engineer @ Lumiant

Startup product development on a react/amplify/AppSync/lambda stack

Achievements include

  • Built the front end portion of the app from rough prototype to released product

2019 - 2020 Tech lead / Senior Engineer @ Spitfire

Full stack fintech development on a react/Apollo/AppSync/lambda stack

Achievements include

  • Streamlined the build / release process reducing the commit to deployment time from 10 minutes to 30 seconds
  • Migrated an idiosyncratic and error prone codebase to standard react
  • Improved rendering time of a key page by 3700%
  • Introduced automated tests that didn’t crash if ever pointed at real code
  • Developed code to seamlessly transition from redux saga to Apollo without back end cooperation
  • Automated complex infrastructure deployment using terraform while transitioning to a microservices architecture
  • Learned just how terribly a long string of job interviews can go

2016 - 2019 React, React Native

Since switching to React as my primary development platform, I have worked on a series of React Native apps, typically with a corresponding React web implementation.

Achievements include

  • Contributing code to the core react native project, used on millions of devices
  • Implementing the MongoDB API on top of Realm to simplify code reuse
  • Designing a framework to apply git-based versioning and collaboration tools to non-code data
  • Developing tools to rapidly prototype apps with shared code across web and native systems
  • Learning way too much about the internals of SSH and certificate based authentication

2013 - 2016 Angular, Cordova

For several years my main project was front end lead for a series of white label financial calculators for government agencies and super funds, along with a few smaller mobile app projects.

Achievements included:

  • Implementing the git smart http protocol in pure javascript
  • Applying modern JS build tools (Browserify/Webpack/Babel/ES6) to a system still based on Angular v1
  • Designing and building a video-based hybrid iOS app
  • Building a highly extensible framework for rapid development of single page apps
  • Extending Cordova apps with native iOS code to achieve a more native feeling app than is normally achievable with webviews
  • Setting up a full modern development environment, with continuous integration (Codeship/Mocha/ESLint) and automated deployment to AWS and Azure

2010 - 2014 Sharepoint

Back in the enterprise world, I spent several years with my main project being working on the corporate intranet for a large HR consultancy. Although this involved producing a quarter million lines of intranet code which I would be quite happy to never see again, there was a reasonable amount of opportunity to work with modern tools.

Achievements included:

  • Backporting parts of ASP.NET MVC to improve developer productivity on an older platform
  • Developing tools to implement features of modern javascript webapps within a restrictive intranet environment
  • Applying a modern js build and test system to a platform highly incompatible with that approach

2008 - 2010 .net

Needing a change after spending 3 months on post-merger integration, then 3 months splitting up the same systems, I began working on a social media startup with something resembling a modern web app structure.

Achievements included:

  • Managing a team of remote developers
  • Designing and building a semantically aware web crawler

2005 - 2008 SharePoint

After another unexpected platform change, I found myself specializing in SharePoint based systems and moving from development to a consulting and enterprise architecture role.

Achievements included:

  • Building a widely used visual studio plugin
  • Learning to be productive despite many 8 hour meetings

2004 - 2005 Java, .net

Returning to the enterprise world, I worked for a series of consultancies with mostly government and financial services clients, switching my primary development platform from Java to .net after accidentally ending up in the wrong job interview.

Achievements included:

  • Delivering a presentation on tablet UI concepts to Bill Gates
  • Writing code handling over a billion dollars in transactions daily

2001 - 2003 Startup

After seeing a potential market in some of the large enterprise sites I had been working on, I founded my first startup, pivoting from enterprise to small business systems when the dotcom market became less reliable.

Achievements included:

  • Turning an idea into a VC funded startup
  • Developing a complex single page ajax application several years before that was a thing

1997 - 2000 Web

While studying computer science (minimally relevant) and physics (even less relevant) I started doing freelance web development work, which soon expanded to working on some of the largest websites in Australia and New Zealand.

Achievements included

  • Setting a project back a month by missing one day
  • Building some quite terrible big ball of mud JS apps to take advantage of newly available dynamic html capabilities
Printable version  •  PDF