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.
My current preferred tech stack
Other stuff I work with
- .NET (Primarily C#)
- Objective C (when I don't have a choice)
- Java (Slightly less of an abomination than Obj-C)
Some of my projects
React Native Web Componentsgithub.com/tqc/react-native-web-components
Seamlessly use html react components in react-native apps
A puzzle game with randomly generated rules built in React
Using git as a structured data store
React Sortable Section Listgithub.com/tqc/react-sortable-section-list
(WIP) A performant sortable section list component for React and React Native
AWS CodeDeploy lifecycle scripts using ES6 to deploy a node app to EC2
Other things I have contributed code to
A framework for building native apps with React; Fixed some timing and packaging bugs
React Native OAuthgithub.com/fullstackreact/react-native-oauth
A cross-platform social authentication wrapper; Updated for newer iOS versions and improved bitbucket support
React Native Sortable Gridgithub.com/ollija/react-native-sortable-grid
Drag-drop-sortable grid view for react native; Extended to support more complex layouts
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.
- 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.
- 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.
- Backporting parts of ASP.NET MVC to improve developer productivity on an older platform
- 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.
- 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.
- 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.
- 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.
- 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.
- 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