Hi, I'm Josh - a full-stack software engineer living in Berlin (originally from Canberra, Australia). I've worked as a software engineer for over 12 years, with a broad range of experience from web development and native apps, backend and system languages like C++ and Go, 3D interactive visualizations and CAD/rapid-prototyping. I'm also a long-time linux and open-source enthusiast.
colorfy is an agency with fast-paced varied projects, letting me get hands-on with everything from 3D interactive visualiztion, CAD and rapid-prototyping, firmware development, UX prototyping, and getting on the road for tradeshows and exhibitions.
It's been invaluable to broaden and sharpen my skills, building product concepts from scratch for high-profile clients.
I worked briefly at flowkey GmbH, completing several projects for their piano learning web-app such as the implementation of their 'Netflix' style redesign and a specialized layout algorithm for musical note name internationalization. A variety of tools and technologies were covered, such as GraphQL/Apollo, React, MongoDB, Swift and Android debugging.
One of my tasks at KIWI was developing an overhauled version of their web-based portal for housing companies, covering back-end work (Python, Flask), database refactoring (PostgreSQL), front-end design and implementation (ES6 Javascript, Backbone, Foundation CSS), build system re-tooling (NodeJS, Gulp), and deployment (Kubernetes).
My work at KIWI was often truly full-stack, with tasks requiring me to flash hardware to test new firmware, delve into dense SQL queries, all the way up to UI-design and user-experience considerations; even some graphic-design.
At Mediaware I worked on high-performance video processing for broadcast television. It was a unique challenge to meet hard real-time requirements for lossless MPEG transformations. I was engaged in C++ performance analysis, debugging and feature development on a large codebase. It was a mid-sized Agile team adhering to well-defined processes for issue-tracking, continuous integration, customer feedback and development iterations.
Later I took on a new role as primary web developer after showing initiative by producing browser-based performance analysis tooling. Went on to develop a company-wide framework for service control utilizing websocket-based RPC (WAMP) and reactor-based networking (Twisted). Was also responsible for UI design, mockups, user-testing and producing high-quality documentation.
At NCH I was responsible for creating several native desktop applications from scratch, including a non-destructive photo editor and musical notation software. Initial concept, design, mockups, prototyping, development and release was handled either solo or in small teams. Highlights:
Covered a broad range of computer science and visual design topics, including:
Taking advantage of a language-learning visa, I studied German full-time to help with my goal of achieving permanent residency in Germany. I continued until B1 level.
I'm a long-time open-source enthusiast, and my development environment is entirely Linux and open-source based.
I originally studied real-time graphics programming, which continues to influence my coding style and emphasis on efficiency.