engineering

Programming in English

We sell an education in science, technology, engineering and maths as the basis of software development, but in doing so, we risk leaving out the most essential skill of all, written English

Dec 04, 2018

Kotlin Contracts

Learn how Kotlin contracts can be used to inform the compiler about a function's behaviour

Sept 27, 2018

Kotlin Inline Class

How this will merge the power of custom types with the performance of primitives

Sept 21, 2018

Kotlin Everywhere

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

Sept 04, 2018

Chaos and Order

A look at how ideas of order and chaos apply to software development

Mar 12, 2018

Avoiding Defensive Checks

When to use defensive checks and assertions in code and when to avoid

Oct 19, 2017

The Phantom Type Menace

Fourth article in a series of posts introducing Functional Programming concepts. In this post we introduce Phantom Types

Jul 02, 2017

Monads For The Masses

Third article in a series of posts introducing Functional Programming concepts. In this post we introduce Monads

Jun 25, 2017

Curry On Regardless

The second in a series of posts introducing Functional Programming concepts. This post looks at the closely related concepts of Currying and Partial Application

Jun 14, 2017

Over-Thunking It

With the increasing adoption of functional programming there are strange terms slowly moving their way from academic obscurity to mainstream software engineering. Thanks mainly to the React and Redux frameworks, the term Thunk is increasingly en vogue.

Jun 09, 2017

The Planning Fallacy (and how it biases estimation)

How the psychological phenomenon of planning fallacy can bias your estimations in software

Apr 10, 2017

Empowering ObservableCollection with Rx

An introduction to using ObservableCollection in Rx and C#

Jun 03, 2016