Tom Clarkson

High end full stack developer in Sydney, Australia. Currently specialising in web/mobile UX and git internals.


I have been working with web technologies for approximately twenty years now. The JavaScript and HTML I started with is still there, but along the way I have picked up experience on just about every kind of system currently in use.

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
  • Ubuntu
  • Mongo
  • Node
  • ES6
  • Browserify/Webpack
  • SCSS
  • React/Redux
  • Gulp
  • Mocha
  • ESLint
  • Sublime
  • Git

Other stuff I work with

  • .NET (Primarily C#)
  • Swift
  • Objective C (when I don't have a choice)
  • Java (Slightly less of an abomination than Obj-C)
  • SQL
  • Cordova
  • Angular

Open source

Some of my projects

Other things I have contributed code to

Past Experience

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
An up to date version of this document can be found at tqclarkson.com/cv