Latest Posts

Static Types vs Dynamic Types. Stop fighting and make my life easier already

A look at how both statically and dynamically typed languages have pros and cons and how we should identify the benefits and choose languages that provide the best of both...

Eamonn Boyle

Eamonn Boyle


Why Strong Static Typing Is Your Friend

Last week my dear colleague Ryan wrote a blog post in praise of dynamic types. I would ask you not to judge him too harshly for this. It is a...

Garth Gilmour

Garth Gilmour


Is 'Effective Kotlin' Effective?

‘Effective Kotlin' follows in the long line of renowned Effective programming books. But is it a worthy addition to the series?’

Garth Gilmour

Garth Gilmour


Static types won't save us from bad code

Modern programming languages can be categorised in many ways, but the most common approach is to slice them by how they handle Types. Is using strong static typing a prerequisite...

Ryan Adams

Ryan Adams


One Principle To Rule Them All?

The SOLID principles of software design provide guidelines on how we can make our code more readable, maintainable and extensible. They are universally accepted maxims that all engineers should understand...

Tara Simpson

Tara Simpson


Does Readability Have a Cost?

In software, there is a constant tension between sufficiency - the need to say something in as few words as possible - and readability - the need to make things...

Tara Simpson

Tara Simpson


A Taste of Things to Come

As another busy year of training draws to a close it's traditional that I stick my head above the parapet and make some predictions for the New Year. For what...

Garth Gilmour

Garth Gilmour


Programming in English

As an industry, we promote an education in science, technology, engineering and maths as the basis of software development, but in doing so, we risk ignoring the most important skill...

Tara Simpson

Tara Simpson


Community Matters

Community is a vital part of a successful software ecosystem, but what are the secrets to creating a successful meetup? In this post, we will explain how, through a mix...

Tara Simpson

Tara Simpson


Kotlin Contracts

The Kotlin type system is fairly flexible but there are a few corner cases where the compiler enforces rules which can be a little restrictive. In this article we explore...

Chris van Es

Chris van Es


Kotlin Inline Class

In the upcoming Kotlin version 1.3, an experimental feature called inline classes will be introduced to the language. This helps address common errors caused by a developer when they rely...

Neil Armstrong

Neil Armstrong


Kotlin Everywhere

Considering Kotlin? Here is why we made the switch from Java and why your developers will want to do the same.

Garth Gilmour

Garth Gilmour


Chaos and Order

The world (and software development) can be chaotic, so we have conventions and rules to bring about order. This enables progress, but we must also recognise the cost. In The...

Eoin Mullan

Eoin Mullan


Android databinding, with Kotlin!

The MVVM design pattern allows us to write code that is much easier to maintain, test, and reason about in Android development. In this post, we will describe how to...

Neil Armstrong

Neil Armstrong


Why Android Development Is Better With Kotlin

Introduction Kotlin may be a relatively new language but it’s gaining traction fast and unlike some other languages (e.g. Swift) it feels mature with new major versions introducing features whilst...

Chris van Es

Chris van Es