The Truth of the 10X Developer
If you thought the 10X Developer concept was just a myth, think again. In this article Garth Gilmour convinces you otherwise
If you thought the 10X Developer concept was just a myth, think again. In this article Garth Gilmour convinces you otherwise
Developer advocacy is an extremely rewarding job but is it all sunshine and meadows or is there a darker flip side to this role?
Thoughts on the move away from consultancy towards developer empowerment through advocacy and mentoring.
In this 3rd article in our series on using React Hooks with TypeScript, we will show how to enhance 'primitive' hooks into more complex functions, and highlight some of the...
Garth discusses his beliefs that junior developers should be given a safe space of blissful ignorance to play in, and only slowly exposed to the cruel realities of business. What...
Each December, our Head of Learning reflects on emerging trends, and makes some foolish predictions for the year to come. Read on to see that the future holds...
Let’s build a web-based, programming-related advent calendar using AWS Lambda, Python, Google Sheets and CDK. No chocolates I’m afraid, but along the way we’ll learn a bit about Serverless Python...
In this follow-up to our introductory article to using React Hooks with TypeScript, we’ll continue to discuss how leveraging types & type safety can make life easier when writing components...
In this post, we delve into using TypeScript with React Hooks to develop in the front-end. Continuing our series of posts on the practical applications of TypeScript, and introducing another...
Ok, ok, I know the title is contentious but don't start with me. I've been locked up for over 9 weeks now due to COVID-19, home schooling my kids, doing...
Typically, we use Domain Specific Languages (DSLs) in configuration scenarios (think Gradle). But we can also use them internally to make our applications easier to understand.
Why date and time is so difficult with older Android versions and the best approach to solve this
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...
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...
‘Effective Kotlin' follows in the long line of renowned Effective programming books. But is it a worthy addition to the series?’
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...
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...
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...
At Instil we absolutely love Kotlin. If you’re working on the JVM or Android, we see the move from Java to Kotlin as a complete no-brainer. Internally, we use it...
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...
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...
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...
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...
Defending against malicious use is a first order concern in all software. Any software that can be used or invoked by an external party or user (such as an application,...
Unhappy with the current state of RTP / RTSP video streaming libraries for mobile applications, we decided to set out on our own. The result is Surge and we think...
The AWS Lambda service offers Functions as a Service (FaaS), which means you simply supply code and AWS will provision servers and execute it in response to events. It can...
The third in a series of three, introducing Functional Programming concepts.
This is the second in a series of posts introducing Functional Programming concepts. Today we’re looking at the closely related concepts of Currying and Partial Application. Some Mystifying Code Below...
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...
Installing stuff is hard. Installing stuff is messy. Installing stuff is time consuming/expensive. As a trainer, I am constantly moving between different technology stacks, running different applications, setting up sandbox...
Spring Boot comes with a heathy dose of metrics built in but having used Dropwizard extensively in house we have come to rely on some of the timing metrics it...
With the development of Angular 2 and it’s strong use of Typescript I thought I’d take some time to showcase some of the Javascript ES6 features and how they can...
The ability to register for changes to a collection isn’t something that all languages allow. Indeed, it’s not something we might require for every project but it’s arguably a very...
Within our engineering team, we build, test and deploy mobile, web and embedded applications targeting a wide variety of platforms and to do so we primarly use Jenkins for continuous...
A guide to using Ansible to automatically setup your OSX development environment
Over the years there has been much discussion on the nuances and value, or lack-thereof, of Test-Driven Development (TDD). As part of those discussions there have been many blogs and...
This is a follow on from a previous post explaining what SIMD is, how .NET developers can use it, and what performance gains they can expect to see. While the...
When Microsoft shipped .NET 4.6 last summer they also released a new 64-bit JIT compiler named RyuJIT. The main goal was to improve the load times of 64 bit applications,...
Most of the attention surrounding the release of C# 6 this year has been related to the bootstrapping of the compiler, courtesy of project Roslyn. While it’s true that there...
For years developers have locked horns in the long-running debate over the best approach to mobile development. In the early days this debate was dominated by web aficionados pushing modern...
It is traditional at this time of year to stick your neck out (turkey style) and foolishly make prophecies about technology trends over the next 12 months. So having girded...
Before committing any code to your master, or feature branch, you should always consider the three check-in commandments. 1) Could Chuck Norris understand it? We all know that Chuck Norris...
The first official release of .Net Reactive Extensions (RX) was three years ago. In that time the interest in Reactive Programming has gone from strength to strength as developers look...
One of the highlights of React 2014 in London was the talk from Adaptive’s Lee and Matt in which they discussed their open source Reactive Trader application. Matt recently had...
My last post on the iffy implementation of FP in Java 8 generated a lot of interest. Many thanks for all the comments received. I would like to clarify two...
Don’t get me wrong – I love Java. The first programming book I bought of my own free will (university reading lists don’t count) was the original ‘Java in a...
If you already use Option, Maybe or Optional in your code then move along please – nothing to see here. Otherwise here’s a neat trick you have been missing out...
In case you haven’t heard David Heinemerier Hansson wrote an article entitled ‘TDD is dead. Long Live Testing’. There has been a lot of fallout over this, including some very...
An Initial Adventure with Lucene. This is the first exercise in a tutorial series introducing Lucene, the text search engine library. Source for the exercises in this series is available...
Despite all that has been written about simplicity - from the SOLID principles to refactoring to simplicity quotes - many of us still struggle to do the right thing. We’re...