CV
Personal
I enjoy being hands-on with development and generally “getting things done” but also providing input into and helping to drive the strategic direction of the business. I have a particular interest in guiding, mentoring and advising the people and processes involved with development.
I am committed, hard-working and have demonstrated the ability to rapidly acquire and master new skills and technologies. I have experience with and enjoy all forms of customer contact and look to work in and build highly cohesive teams.
Experience
OpLabs
Staff Protocol Engineer
February 2023 - Present
Helping to build and run the Optimism rollup on top of Ethereum.
ConsenSys Protocols Group (PegaSys)
Senior Blockchain Engineer
April 2018 – January 2023
The ConsenSys protocols group build Ethereum technology for the public-chain and enterprises. I helped develop the new Ethereum execution client that became HyperLedger Besu and built a team to bring the Ethereum consensus client Teku from research into production. Also worked with other client teams and the Ethereum Foundation to refine and improve the beacon chain specification and continue to improve Ethereum as a whole.
LMAX
Team Lead & Senior Developer
Jan 2011 – March 2018
LMAX build and run a retail exchange offering FX and CFD trading, implementing both an execution venue and a broker. Aiming to be the fastest retail exchange in the world using commodity hardware, LMAX invented the Disruptor and regularly challenge assumptions about performance using scientific analysis and measurement.
- Initially based in their London office I was asked to stay on board when moving back to Brisbane, Australia in 2012 and became their first remote developer
- Development of high performance, low-latency Java code
- Led development of custom market data viewer displaying markets in real time with JavaScript, HTML, SVG, d3 and WebSockets
- Led modernisation of front-end toolchain to use Vue.js, Sass, Webpack and Vuetify
- Strong focus on automated testing
- Led a sustained effort to resolve intermittent failures in test suites, changing the culture to expect green builds
- Built tools to efficiently distribute the 20,000+ acceptance tests across a pool of servers to minimise feedback time
- Worked along-side system operations team to improve monitoring, performance and stability of production systems
- As the only developer in Australia, worked with remote teams in London, Hong Kong, Singapore and New Zealand
- Technical team lead for “Partner Sales” stream
- Worked with sales team and business analysts to identify and scope required features
- Provided functional and technical vision to development team
- Drove technical process improvement
- Hands on from analysis through implementation, testing, automated deployment and production support
- Worked with the full stack from JavaScript UI, Java and .NET API clients, core business logic through to persistence using event journalling, snapshots and databases
Ephox Corporation
Chief Technology Officer
2002 – 2010
My role at Ephox encompassed a wide variety of roles, including lead engineer, pre-sales and CTO roles. This provided a unique insight into the business from many varied angles and required communication, understanding and coordination between all areas of the business. Being a small company, effective time management, prioritisation and delegation skills were required to balance these varied roles. I also had the opportunity to understand the risks and rewards involved in start-ups.
Technology Leadership
- Extensive experience with JavaScript, HTML , CSS, Java and Swing
- Developed world-class browser-based rich text editors (EditLive! and TinyMCE)
- Worked with and developed for a wide range of enterprise collaboration and web content management systems, including IBM Lotus Quickr and WCM, EMC Documentum, Oracle/Stellent, Vignette and OpenText Web Solutions
- Provided development and consulting for a wide range of server-side technologies including J2EE (especially WebSphere and Tomcat), PHP, Perl, .NET and Ruby on Rails
- Designed user interfaces that provide a simple, intuitive editing experience
- Assisted planning of future product and company direction
- Rapidly developed prototypes and proof of concepts
- Translated client problems and feedback into actionable product features and ideas
- Mentored and trained both junior and senior developers
- Established and led continuous process improvement including the adoption of XP and test driven development
- Worked with remote employees and clients, including internationally
- Lead development of both green field projects and large, legacy codebases
- Balanced business objectives and timelines with the need to incrementally improve the maintainability and reliability of the product
Technical Specialist for EMEA
- Assisted sales team with sales strategies and processes
- Analysed customer needs and presented custom demos of Ephox solutions
- Provided pre and post sales technical support
- On-site and off-site consulting for Ephox clients, including development, configuration and guidance on best practices
- Rapidly learnt new technology used or required by clients as part of sales and consulting cycles
Set up UK subsidiary and office
- Full view of the business, including administration, legal and compliance
- Hired and assisted in training new sales team
- Liaised with UK Government and trade representatives
- Maintained a diverse array of IT systems including source control, build systems and continuous integration servers, wiki and collaboration services, email, websites and VoIP systems
- Established documentation and management of company systems to ensure reliability, compliance and maintainability
Software Quality Institute
Software Engineer
December 2000 – 2002
- Developed a software design tool to assist with the practical application of Genetic Software Engineering which was being researched
- Managed rapidly changing and incomplete requirements
- Combined and interpreted PhD research on software design approaches into practical applications
Open Source
Teku
- Production ready Ethereum consensus client
Besu
- Ethereum execution client suitable for both public and private networks
Moolah
- Web-based personal finance tracking system
- Vue, Vuex and Vuetify on the front-end
- Node, hapi and MySQL back-end
- Fully automated push-to-deploy process to Moolah.rocks
TinyMCE
- Developed plugin to correct and standardise list editing behaviour across browsers
- Numerous other bug fixes and enhancements
LMAX Disruptor
- Developed DSL to simplify set-up and usage of the Disruptor pattern
- Also worked extensively with the Disruptor at LMAX
Apache Software Foundation Committer and Jakarta PMC Member (Emeritus)
- Reverse engineered and developed initial NTLM authentication for the Jakarta Commons HttpClient project
- Wrote comprehensive user documentation
Other
- Various side-projects, experiments and small contributions are listed on my GitHub profile
Education
B Information Technology with Advanced Studies – Griffith University
1999 – 2001
- GPA: 6.2 (Scale: 1-7 where 7 is best)
- Majors: Computing Science, Artificial Intelligence
Contact Details
Email: adrian@symphonious.net
Phone: +61 458 439 134