I have had an extended dalliance with Computer Science, probably making the mistake of confusing aspects of Computer Science with a career in IT. I worked for a time as a Java Developer for a high frequency sports betting company, on the IT side of things (data acquisition, building APIs for quants to interact with, and so forth) rather than the quant side. What Java I learnt I have probably now forgotten.
I then transferred back to academia, employed as a scientific programmer in the School of Geography, University of Leeds. The project was to look at (short time frame, spatial, aspects of) Predictive Policing, developing a Python library and GUI application which would provide an open source implementation of various published algorithms. Some thoughts from this project:
Towards the end of the project, I became very interested (slightly obsessed) with reproducible Research especially in the "computational sciences". I firmly believe in the Manifesto here. Writing a GUI doesn't really fit this manifesto: what the GUI is doing is too opaque, and documenting exactly the steps used and settings chosen is too hard. Working in a Jupyter notebook does fit the bill: the code is there to see, you can add prose and Mathematical discussion in situ, and the whole notebook can be re-run by an interested party.
It strikes me (although I am an outsider looking in) that the "harder" sciences (e.g. computational astronomy) are much further along in this than the social science area I was working in. I did become somewhat discouraged by reading all too many papers which made strong claims about e.g. the performance of algorithms, but for which code and data were simply not available (even through asking the authors). In my bleaker moments, I do wonder in what sense this is "science" as the claims being made simply cannot be (easily, or perhaps even with a large amount of work) reproduced by other researchers (nevermind end users).
I am now working again as a Pure Mathematician, and while I remain very interested in software development, I have little enough time for my mathematics research. The PI of the project I worked on is on extended leave from his position, and so the project is somewhat moribund. However, I remain interested, and would welcome collaboration (taking account of my time commitments).
I wrote 3 academic papers, though all remain currently unpublished (see comments above re: lack of time):
I gave a talk on the "Prediction scoring" work, together with an introduction to Predictive Policing, and some polemics about reproducible research: Talk to Leeds Institute For Data Science.
Some software, in order of quality.
Uses OpenStreetMap tiles, or other tile servers, to produce "basemaps" for use with matplotlib. Uses a SQLite database to cache the tiles, so you can experiment with map production without re-downloading the same tiles. Supports Open Data tiles from the UK Ordnance Survey.
For bugs, open an issue on GitHub, and I will endeavour to fix.
The aim was to produce something offering something like Leaflet but designed for off-line work, to produce high-quality figures for inclusion in documents, for example.
tkinter
to display large or infinite images built out of tiles. Originally designed for
use with the Python GUI I built (as above) to visualise crime events on top of a basemap, though this functionality was never added to the GUI. Works, but is not complete.
Back when I was (temporarily) losing interest in Mathematics and coding more, I spent some time: