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
Printable version  •  PDF