About me

I am a software engineer with a broad skill-set, specialising in web development and software for academic research. I hold a PhD in cognitive psychology, and developed my programming career from an academic research background. I love programming, and I am particularly motivated by the possibility for software to help bring about positive change in the world through science and research.

I currently work at the University of Sussex, and an innovation focused startup Unusual Technologies, but I also regularly undertake freelance consultancy work. My email address is hello@jamesalvarez.co.uk. I can also be reached on Linkedin and Twitter.

To see a semi-rolling update of what I am up to right now, check out my now page.

You can see a list of past projects on my work page. You can also check out my:

Whilst primarily a programmer, over the course of my career I have acquired related skills in project management, UX design, dev-ops, security and server administration. I am well versed in the unique requirements of academic software projects, such as the need for reproducibility, long term maintainability and data protection (GDPR) considerations.

Live tracking of my years of professional experience: 11

My programming philosophy

Write code that is easy to understand, and easy to change. Don't follow fads, use languages and frameworks that are stable and have a good community. Follow a sense of freedom, software should be malleable. Think of scale - practices appropriate for a large team are not necessarily appropriate for a small team. Complexity cannot be avoided, only moved or worse, hidden. Programming should feel like a fun and peaceful activity, and if it isn't, then figure out why!

More questions

I did a BSc at Nottingham, a MSc at Exeter and finally a PhD at Surrey. My PhD was a series of experiments to explore whether ones language has an effect on the perception of colour. I conducted many experiments using EEG and psychophysics on people from different linguistic background, and concluded that – no it doesn’t – well it’s a bit more complicated than that 😅. After I finished, I realised the potential for a career as research programmer which would allow me to work on many different projects, without ever having to be subject to anonymous peer review.

I began programming on a BBC Microcomputer in school when I was 11 years old. I learnt how to make an educational game where you send a rocket to mars in BASIC, and would skip lunch times to create my own games based on what I was learning. Nothing has really changed since this blueprint, apart from that I don’t skip lunch. I am self-taught, originally from tinkering and modding games, and then later more seriously from books.

I like reading (history / religion / great novels), playing fiddle, banjo, mandolin, walking and camping in the countryside, oil painting and playing chess.

Challenge me on chess.com!

Yes! This is Henry, he was born October 2019.

My cat

This is Borcsa who was a rescue from Hungary who is sadly no longer with us, but will never be forgotten.

My cat

A tool for remapping key presses (useful for old apps):
github.com/jamesalvarez/SimpleKeyRemapper

A draggable pie chart class
github.com/jamesalvarez/draggable-piechart

A tool for matching colours when doing oil painting from computer monitor:
github.com/jamesalvarez/ArtColourPreview

A work-in-progress turn based football game - this is a multiplayer game, it does work but you need someone to play it with.
jamesalvarez.github.io/TBF/tbf/