19 Aug 2023
I am Hamish, a software engineer and technologist, floating around on the British canals. From developing complex web apps to building detailed rail simulations, I enjoy building all sorts of things. Although many of these never see the light of day, my more polished projects can be found here.
Away from the desk I am a keen photographer and publish some of my favourite shots here on this site.
My skill set
I have significant experience with web based technologies across the entire stack.
My client side expertise is founded in the core pairing HTML, CSS, and JavaScript, with particular emphasis on JavaScript. While I am at home writing and maintaining complex applications with vanilla JS, I also have broad experience with various front end frameworks, including, React, Vue, Solid, and their associated 'meta' frameworks. As a strong proponent of type systems, I am experienced in the use of TypeScript and favour it's usage where appropriate.
On the server I have a wide ranging skill set, such as developing REST APIs for backend services using tools such as Express.JS, Spring, and PHP. I am not tied to one particular technology, and will choose the most effective tool for the job. My database experience is focussed on MySQL and MongoDB.
- Web (JavaScript, CSS, HTML)
- Static sites with Zola and TailWindCSS
- Progressive Web Apps with VueJS, Ionic, and TypeScript
- Unit tests with Jest
- Python
- Data analysis with Numpy, Pandas, SciKit, and Matplotlib
- Java (8+)
- Backend web services with Spring Boot, Data, and Security
- Game engine programming with LWJGL and BGFX
- Unit tests with Junit
- SQL
- Providing persistence for backend web services with MySQL
- Git
- With CI using GitHub Actions
- Linux
- Web service deployment with Docker and NGINX
- Photoshop + Affinity Photo/Designer
- Graphic design
- Texture authoring for 3D games
- Blender
- Architectural 3D modelling for games