Technical Skills

Tools change quickly, and good developers adapt. I use whatever tools will solve a problem.

I started programming in an academic environment, usually with Python. Much of this work involved data analysis. This meant a lot of visualization work and number crunching.

But around 2018 while was studying for my doctorate, and writing Python code everyday, I discovered the Web. I was quickly hooked. My learning at that time always revolved around finding the best solutions for my own needs. I became proficient with vanilla Javascript before choosing a frontend framework. I learned CSS before Bootstrap, Flask before Django, Nginx before Docker... in other words, fundamentals will always be more important to me than whatever Javascript framework came out last weekend 🤨

The table below gives a flavour of the technologies I've used in the past. I'm more proficient with some over others, but at this stage of my career, I have enough skill to pick up most technologies that have good documentation.

Stick Figure thinking


FastAPI | Django | Django-rest-framework | Matplotlib | Scipy | Numpy | Flask | SQLalchemy | Gunicorn | Beautiful Soup | Virtualenv

Javascript ES6

Vue.js | React.js | Next.js | Axios | Nuxt.js | QuasarFramework | Aurelia | npm | Webpack | D3.js | Leaflet.js | WebGL


Ubuntu | CentOS | Red Hat | Bash | Zsh | ssh | ImageMagick | SysAdmin


Pytest | Unittest | Selenium | Mocha.js

Ruby & PHP

Laravel | Ruby on Rails | Nokogiri | Rspec


Numerical modelling | High-Performance Computing (HPC)

Version Control

Git | Github | Gitlab


PostgreSQL | AWS DynamoDB


DigitalOcean | Heroku | Docker | DNS | REST APIs | Nginx | CaddyServer | AWS S3, Lambda, API-Gateway, SQS, SNS

Other Frontend

HTML5 | CSS3 | SCSS | Bootstrap | TailwindCSS | Responsive design | AJAX | Inkscape | Figma