Senior software engineer. Trained as a physicist to postgraduate level: modelling data acquisition systems for particle physics, at UCL (London) and CERN (Geneva). Subsequently worked in IT on applications, including:
- Remote monitoring and control of off-grid power-generation systems for mobile telecoms
- A document capture and business workflow application
- 3D military simulation & training software
- An estate-agency sales and marketing website
- Critical/legacy dev-ops infrastructure, and live refactoring thereof
- Automated cross-platform, multi-language build and deployment systems
Edinburgh Hacklab co-founder. Science fringe-festival organiser. Social.coop tech admin/organiser. Open-source software contributor, author. Appreciates learning, making, community.
Skills
A cross-section, ranked by current usage, not exhaustive. For historical skill sets, see occupational history.
Computer languages and standards
- Javascript (heavy)
- HTML/CSS (heavy)
- Java (heavy)
- Groovy (heavy)
- C / C++ (moderate)
- Perl (light)
- Dash, Ksh, Bash, Awk (moderate)
- SQL (moderate)
Operating Systems Administration
- Linux (Debian, Ubuntu, CentOS) (heavy)
- Windows (light)
Applications and frameworks
- NodeJS tool-chain (heavy)
- AngularJS (heavy)
- ReactJS (light)
- D3.js (moderate)
- Git (heavy)
- Emacs (heavy)
- IntelliJ IDEA (heavy)
- Ansible (moderate)
- MySQL/Sqlite3 (moderate)
- CouchDB (moderate)
- Ratpack (moderate)
- Spock/JUnit/Jasmine/CMocka testing (moderate)
- Apache configuration (moderate)
- Jenkins (moderate)
- GNU Make (moderate)
- VirtualBox/KVM/Docker (light)
- Netty (light)
Design and development
- General software design & development, refactoring legacy code (heavy)
- Web UI design using AngularJS, ReactJS, D3, Bootstrap, HTML5, CSS3 (heavy)
- Unit/regression testing in Java, Groovy, Javascript, C (heavy)
- Android app development (moderate)
- Cross-platform product build and packaging systems (moderate)
- Linux sysadmin, Ansible-driven system deployment and provisioning (moderate)
- Java SWT GUI design (light)
- Embedded C, TCP/IP, Linux & micro-controller programming (moderate)
- Refactoring/porting legacy C/Java applications (moderate)
- SQL and database design (moderate)
- Project management and estimation (light)
Education and Qualifications
- PhD, Simulation of data flow in the ATLAS level II trigger (unsubmitted) University College, London & CERN, Geneva, 1994 — 1997
- BSc (hons) 2:1 in Physics with Computing University of Southampton, 1988 — 1991
References
Available upon request.