Product Development
Custom software & product engineering.
Cloud Engineering
Modern cloud native & migration specialists.
Cyber Security
Empowering organisations to combat cyber threats
Training
Accelerated learning for developers.
Articles, tutorials, and the occasional opinion piece from the team
Last week my dear colleague Ryan wrote a blog post in praise of dynamic types. I would ask you not...
‘Effective Kotlin' follows in the long line of renowned Effective programming books. But is it a worthy addition to the...
Modern programming languages can be categorised in many ways, but the most common approach is to slice them by how...
The SOLID principles of software design provide guidelines on how we can make our code more readable, maintainable and extensible....
In software, there is a constant tension between sufficiency - the need to say something in as few words as...
This year we were given the opportunity to attend the AppBuilders Conference at the stunning location of Lugano in Switzerland....
As another busy year of training draws to a close it's traditional that I stick my head above the parapet...
Science, Technology, Engineering and Maths (or a flavour thereof) are often touted as cornerstone subjects for a career in software...
Community is a vital part of a successful software ecosystem, but what are the secrets to creating a successful meetup?...
The Kotlin type system is fairly flexible but there are a few corner cases where the compiler enforces rules which...
How this will merge the power of custom types with the performance of primitives
Considering Kotlin? Here is why we made the switch from Java and why your developers will want to do the...
A look at how ideas of order and chaos apply to software development
The MVVM design pattern allows us to write code that is much easier to maintain, test, and reason about in...
5 Reasons Why Android development is better using Kotlin