Software Engineer, Mathematics PhD, Technical Consultant
Projects
Freelance Services
- Full stack web apps. Typescript, Python, React, Django.
- Installed applications and libraries. C++.
- Trouble shooting, bug fixing, refactoring.
- Monitoring, data logging, IoT.
- Infrastructure, Databases, DNS, certs.
- 3rd party plug-ins, especially Rhino & Grasshopper.
About Me
- Intro
- Background
- Languages
Hello!
I’m James, a software developer from the UK, based near Sheffield.
My goal is to deliver systems that delight the customer and user. I care deeply about my craft, and about good software. This includes testing, security and maintenance, as well as writing code. My numerical and problem solving skills, technical insight, and diligence, make me a valuable addition to any team.
My speciality is mathematical modelling. I build numerical simulations at any level, from scientific first principles to black box processes, incorporating experimental data, optimising control strategies, predicting commercial outputs and system behaviours. My experience in industry as a research engineer and subject matter expert in energy storage, has provided numerous systems to work on.
Education
- PhD Engineering Maths, Bristol University
- MSc Modern applications of Maths (Distinction), Bath University
- BA (Hons) Mathematics (Pure and Applied), Cambridge University
- A-level Maths, Further Maths, Physics, and Computing (AAAA)
Work
Self-employment
- Further development of sDNA_GH (Hong Kong University), 2023-2024
- Code for IoT device integration, 2023
- Web portal for a startup, 2023
- sDNA_GH, a Rhino/Grasshopper Python Plug-in (Cardiff University), 2021-2022
Employment
- Senior Consultant (Energy Storage), Everoze, Feb 2017 - Aug 2017
- Energy Storage Specialist, British Solar Renewables, Feb 2013 - Feb 2017
- Electronics Engineer, UWE (based at Ecotricity), Dec 2010 - Feb 2013
Commercial work
- Python (expert)
- C++
- React
- Docker
- Django
- Postgres
Web work and frameworks
- Typescript
- Astro
- Mantine
Open Source work
- Github Actions
- CMake
Professional development
In my own time, I’ll happily get back up to speed with:- Rust
- Zig
- Erlang
- Wasm
Office work
For previous employers I’ve used:- Matlab
- Perl
- MySQL
- R
In academia and when doing A-levels
A decade or two ago, I also used:- LaTeX
- Fortran (including MPI)
- Pascal
- Basic
Open Source
Pull Requests accepted by other maintainers.- xonsh
- more-itertools
- geos
- pyshp
- utm
- sdna_open
- ShrimpGIS
- sdna_plus
- docker-shells
- contributor-tools
I’m also a maintainer of sdna_plus and PyShp, as well as of sDNA_GH, customers’, and my own projects.