Hey, I'm Alex Curran.
CV
file_download
Contact
email
Portfolio
Talks
On the side
Articles
Not tech
Running an A/B test on our paywall
Mar 28, 2023
How we ran and measured an A/B test as part of our paywall increasing our subscription rates by 10%
7 Dos and Don'ts for coding challenge interviews
Feb 20, 2023
A coding challenge is an important part of hiring in engineering, Here's 7 do’s and dont’s for designing coding challenges
Enums and structs in Swift #2: bounded contexts
Apr 30, 2022
Enums and structs are some of Swift's most powerful APIs, and they can greatly improve code comprehension. But how do you decide which one to use?
Choosing between backend-for-frontend and frontend
Apr 13, 2022
Knowing where to put business logic is in my opinion one of the most important pieces of software development. When I have the choice of placing it in the backend or frontend, here are the decision…
Building fast SwiftUI (and UIKit!) previews
Jan 27, 2022
Here's a few easy tricks to making your SwiftUI and UIKit previews even faster
How I learn new frameworks
Jan 1, 2022
Over my career, I've had to learn a few frameworks, languages, and technologies. I've been asked a few times how I did it, and whilst there's no silver bullet, there's a set of rules I follow when…
Enums and structs in Swift #1: data vs state
Dec 30, 2021
Enums and structs are some of Swift's most powerful APIs, and they can greatly improve code comprehension. But how do you decide which one to use?
Announcing What's on
Sep 26, 2021
As of today, What's on is available in beta providing a glanceable look at your calendar.
Migrating from Dagger to Hilt
Jun 16, 2021
How we used migrated from Dagger to Hilt for our Android app to make dependency injection simpler
Introducing Freetrade for iPad
Mar 2, 2021
How we developed the app with a brand new UI.
Using lint rules to prevent bugs
Jan 22, 2021
How we've started to build our own custom lint rules to enforce code style and easy-to-miss subtle gotchas.
Exploring Mac Catalyst
Jan 4, 2021
Trying to migrate an iOS app to Mac Catalyst and the issues and benefits along with it.
How we profile Android bugs at Freetrade
Jan 8, 2020
A few weeks ago, a Freetrade customer reported that the Android app was being slow. This follows our deep-dive into finding and solving the issue.
Playing with Foldables in Android Q
Apr 16, 2019
Foldable devices look to be the next big thing in mobile development. How as a developer do you support them; and as a CTO, should you?
Perfecting custom assertions in Swift
Jan 30, 2018
Unit testing is great, isn’t it? Not only can it help you improve your code, but it can ensure that you don’t mess anything up the next time you come to change it. The downside with testing is that it…
Clean code: The curse of a boolean parameter
Jul 22, 2017
Whilst looking innocuous, booleans are often a source of code complexity and can frequently be a code smell. Why is this, and what can you do about it?
Managing my stress levels
Jul 12, 2017
I've struggled a lot with stress levels over the last few years. I am aware that I am a naturally uptight person, and highly competitive, so that I believe is as much a product of who I am as the…
Avoiding primitive obsession in Swift
Mar 27, 2017
It’s all too easy to pass information around in your code as strings or ints, but this can soon catch up with you. Swift has a powerful set of protocols to avoid this situation, which can ensure your…
Improving completion blocks in Swift
Feb 7, 2017
Swift as a programming language focuses on making APIs descriptive and determinate. Completion blocks are less than perfect — but what is wrong with them, and how can we improve their usage? The…
Book reviews: Functional Swift & Protocol-Oriented Programming with Swift
Mar 28, 2016
In what is probably shocking to anyone who knows me, I’ve recently finished two whole technical books. I’m starting to dig a bit deeper into Swift and iOS at Novoda, and, as at part of one of my…
Time is always part of your domain
Oct 10, 2015
Pretty much every project you’ll touch will have the concept of time in it. It is a concept that scares developers; makes even the most seasoned engineer doubt themselves; and makes most of us end up…
My Christmas coding challenge conclusion
Jan 2, 2015
The Christmas coding conclusion part 1: the web app I set myself a target to write an Android, iOS, and web app over the Christmas period. Here are my learnings from the first one I produced, which…
My Christmas coding challenge
Dec 21, 2014
Want to read the conclusion? Go here! This Christmas, I’ve decided to set myself a coding challenge — develop a simple app across Android, iOS, and the responsive web. I’m going to be developing a…