Custom Publishers - Part 2

On the first part of these series, we explored how one can create a Publisher from scratch. This Publisher wasn't particularly interesting, but it gave a good idea on how a Publisher and a Subscription work together On this second part, you will create a new operation from scratch and…

Understanding the SwiftUI Sample​

With the release of SwiftUI, unless you have been paying attention to Swift Evolution, you might have been caught off guard by some of the new features introduced in Swift. In this post, I will start by showing a small snippet of code using SwiftUI and explain feature by feature,…

SwiftUI and Combine

SwiftUI and Combine are the beginning of something new to most iOS developers. More so than it was five years ago with the release of Swift. While it's feasible to do Swift with an Objective-C mindset, I am afraid that interacting with SwiftUI the same way you would with UIKit…

On being an Engineering Manager (2018)

In this post, I will share what I learned and the challenges I faced, at Babylon Health as an Engineering Manager, as we continuously grow both as a company and as a team: Nowadays I am more balanced between delivering value to the end-user versus being a purist. As an…

Career choices

I started working right after university, in August 2010. My degree in particular, Computer Science, was quite pragmatic and had a decent focus in technologies being used in the Portuguese market: Java and C#/.Net. This meant that it would be easy to find a role using those technologies after…

Meetings approach

I have always been a direct person and, at times, blunt in my approach. This has lead to some entertaining meetings (to some), where I would simply say no at someone's idea, feature or even roadmap. I would like to point that's not because I was trying to be mean,…

Memoization

This post comes from this tweet shared by David Rodrigues (if you don't follow him on Twitter you should): If you have a closure that needs some internal state to be used and modified between executions of the closure you can declare your state as part of the capture list,…