What I Do
Below is a quick overview of my skills.
Want to find out more about my experience? Check out my projects.
Management
Strategy
Working with other stakeholders to align the technical strategy with the goals of the business.
Leadership
I've led development teams of 30+ people, both onsite and remote including outsourced projects.
Recruitment
As a hands on architect who is able to code himself, I am well placed to interview and recruit developers.
Mentoring
I've mentored junior developers both on a technical level and with some "words of wisdom" from an old hand.
Vendor & tech selection
Finding suitable technology & business partners is essential for any successful software project.
Planning
Although no longer fashionable in the agile age I still believe in the value of proper planning.
Budgeting
Closely related to planning. I've been responsible for the budget on a number of projects.
Due diligence
I've supported the technical due diligence process on several projects.
Backend programming languages
NodeJs
I was cynical about using JS for backend code, but I've grown to love express and Typescript.
Typescript
All my JS code (Frontend or Backend) have been transpiled from Typescript. I would never code in raw JS!
Python
I have used Python mostly in the context of Machine Learning & Artificial Intelligence (see below)
Scala
I'm very experienced in functional and reactive Scala (Akka). I've been writing Scala code for over 8 years.
Java
I've been using Java since the earliest days from v1.3 through to v.18. I prefer Scala but Java is everywhere.
Kotlin
I still prefer Scala, but as a "better Java", kotlin is hard to beat. I would now choose it over Java.
Frontend programming languages
Svelte
I've developed a few Svelte applications, most recently a fullstack Sveltekit based app.
React
I have used React quite extensively. Mostly alongside Redux. I've also used it from Scala.Js.
Angular.js
I have used Angular on a couple of projects, I'm no expert, but I know what it's good for.
Vue.js
Similar to Angular, I'm no expert, but I have used the library.
Databases & Big data
RDBMS
I'm no DBA but I have been using RDBMs for a long time. Including Oracle, MySql/Maria & Postgres
Apache Cassandra
I've built a few big systems based around Cassandra. It's probably my favourite NoSql database.
Apache Spark
I've used "standard" Spark along with Spark streaming.
Apache Kafka
Apache Kafka. I've now built a few big systems on top of Kafka, including an event sourced system.
Machine learning
Tensorflow
I'm not a data scientist, but I have an understanding of tensorflow and DNNs in general.
Pandas
I've used Pandas a few times when working with Python data science tools.
Scikit Learn
I've used the library mostly for classic regression, clustering and classification
Spark ML
I have some limited experience with Spark ML
Orchestration and management
SST.dev
I absolutely love SST for serverless architectues.
Kubernetes
I have 4+ years continuous k8s experience.
Cloudformation
I've used AWS cloud formation alongside other AWS services
Docker
Used mostly in a development context (k8s in production)
Recent Projects
Latest Blog Posts
Why use Effect? 5 compelling reasons
The Effect documentation is pretty comprehensive, certainly by FP standards! However it largely focusses on how to use the library, not why you would want to do so. In this po...
Learning Functional Programming with Scala Cats
Like most blogs, mine is not too well structured so I thought it would be useful to tie the various posts together If you want to learn FP and Cats I suggest reading the posts...
Writer Monad
Logging is something we all need to do. There are a many logging frameworks available with various layers of abstraction (logback, slf4j, scalalogging etc). These libraries ar...