Consider the following situation: A team is asked by their Product Manager to implement features X, Y, and Z into an existing system. The team then organizes itself and executes the project. After a certain amount of time, they delivered exactly what was asked of them. But then, one of these things happens (choose at […]
Working at a large company like Apple or Google is such a common goal in the tech industry that there’s even a market for selling courses and books designed to help people achieve this goal. But one thing that I’ve learned in my career is that working at such companies is not for everyone. The […]
Throughout my life, I have met several people who struggle to learn a new language, with some of them being unable to communicate at a basic level despite having studied for several years. I believe that learning a language is not a matter of talent, but that of dedication and following a good process. In […]
Every year I watch WWDC and write down some notes. But I’ve just realized that I’ve never shared those notes and it felt like something I should do, so I’ve decided to do just that! My approach is to pick a handful of sessions that are immediately useful / interesting to me and ignore the […]
Disclaimer: The trick I’m going to show here is quite powerful, but like every other underscored attribute in Swift, this is something you should avoid messing with unless you know exactly what you’re doing. There are lots of pitfalls attached to these attributes, and the behavior of underscored attributes can change at any time and […]
Software engineering book recommendations The following is a list of software engineering books I’ve read that I felt had a strong and lasting positive impact on my career. It’s not a list of everything I enjoyed (that would be impossible to list down), but rather a special list of resources that taught/helped me so much […]
Have you ever seen “preachings” like these in the wild west of Twitter, Medium, and LinkedIn? “If you’re not using X in 2023 you’re an idiot!” “XYZ architecture is the only way to go!” “Doing X in Swift? Stop immediately!” Humans’ obsession with dividing things into groups is not unknown to psychology. The ability to […]
ChatGPT has become an important part of my daily software engineering work, so I thought it would be interesting to share what exactly I’ve been using it for in case you’re wondering how to use it to improve your productivity. Use-case 1: I don’t know what I’m looking for I find that Google tends to […]
async/await in Swift was introduced with iOS 15, and I would guess that at this point you probably already know how to use it. But have you ever wondered how async/await works internally? Or maybe why it looks and behaves the way it does, or even why was it even introduced in the first place? […]
Performance problems can be rare in this era of blazing-fast iPhones, but chances are you’re still having to deal with them every once in a while. Classic performance issues such as scroll hitches are still very easy to introduce if you’re not careful about them, and when it happens, you’ll want to be properly equipped […]