Essential Developer

Testing in iOS demystified

Turn your tests into a powerful tool to improve the quality of your work

I was hugely impressed by Caio’s ability to look at code and see through to the core of the problem. It was a joy to watch him develop using TDD and SOLID principles. The resultant code was always elegant and invariably worked when he stopped writing tests and finally started the simulator.

Mike always strives to find a clean solution by carefully designing each required system, taking into consideration all the unhappy paths and edge cases. What’s great when you work with him is that testing becomes mandatory and actually enjoyable.

Build robust applications

Effectively develop and maintain resilient apps with good architecture

Caio has a wide knowledge of software best practices that gives him the ability to create simple and efficient solutions. He was able to clearly explain the principles and approaches to the team, applying them in a pragmatic way to a complex set of challenges, with a comprehensive test suite that ensured delivery of a stable and maintainable code base.

Learn from the ground up

See how others succeeded and bend the learning curve in your favor

Mike’s teaching was simply amazing. He provided me with daily tasks, and step by step I progressed from simple object-oriented programming ideas to advanced design patterns and effective architecture principles. I learned that in order to develop great apps and advance my career, I had to start writing clean code. I wouldn’t be as successful and valuable to companies as I am today without Mike’s help.

Take your iOS skills to the next level

See first-class engineering solutions applied to real products

I’ve been developing software as my job for two decades now, and it’s been my obsession for another 10 years on top of that. I worked with Caio on a big refactor for our client’s project and because of working together, I became a much better developer.

Looking back, I can see that before working with Caio, what I knew about was how to paint and plaster and saw and hammer really damn well. Thirty years of stubbing your thumb is a lot of practice. But I didn’t know how to design a house, or a tower, or a city. Or how to run the project to get it done effectively, on time, and to best match the client’s desires with the available resources.

If you want to develop excellent code for your client, Caio will set you walking on the right path of learning.

I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.

I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.