Hello! My name is

Jeffrey John Westerkamp

I am a “full stack” software engineer focusing on the design and development of robust custom software solutions. I have around ten years of experience with both front-end and back-end web development, API development and integrations, software and database design, and to a lesser extent with user interface design.

I have always had an affinity for and interest in the exact sciences. My knowledge of software engineering therefore follows from a deep, intrinsic interest in the more academic aspects of it. As a mostly self-taught developer, I have come to understand the core principles of many programming paradigms, including those supported by languages such as Haskell, Scala, Agda and Rust. Haskell in particular has strongly shaped my way of thinking about software design. The foundation of this language, which is clearly designed around proven mathematical concepts, strikes a chord with me.

During my first ten years as a professional developer, I mainly programmed in the “mainstream” stacks Angular-Typescript, Express-Typescript and Laravel-PHP. And although these stacks feel somewhat less academic I have experienced that they too, certainly with the appropriate application of the aforementioned principles, can yield excellent software products.

I know my tools

Whenever I start working with a technology that's new to me, I set myself the goal of understanding it to the core. Of course that takes time, so at the same time I strive for the best possible balance between productivity and knowledge acquisition. When it comes to technologies that are new to me, I usually become familiar with them quite quickly, and I leverage this to ensure my productivity.

I know Javascript (and Typescript) inside and out, for instance, partly thanks to the book series You don't know JS. This excellent series sent me on a “deep dive” early on in my career. Ever since, I reap the benefits: I find my way in almost every Javascript project without hesitation, whichever additional technologies may be used on top of the language. My experience is therefore that success starts with the foundation; with a solid understanding of the languages used.