How I Work

I believe that software development lies on the intersection of engineering and craftsmanship. I strive to always improve my craft and deliver top quality products to my clients.

Communication

Communication is essential for the success of any project. Being tasked with developing software is not just simply programming. I always make sure to understand the business goals of the project, so that I can work with the client to design a product that will likely achieve those goals while also being feasible and within budget.

I prefer to work with small deliverables, so that I can get constant feedback from the client, thus making sure that the project meets the client's expectations and the client is at ease knowing exactly at what stage the project currently is.

Quality

Whenever I am writing code, I make sure that not only the finished product looks good and works well but the code is also clear, concise and maintainable. To achieve this, I like to practice BDD. Using the BDD approach for my projects not only ensures the correctness of my code and avoids side-effects introduced by new changes, but also helps me avoid being blocked whenever I need to wait for another developer to write an API method, or wait for any other kind of third party dependency.

I also enforce a coding style that is automatically validated to help keep things always consistent.

Network

Usually my clients handle me designs and whatever backend API the app will communicate with. However, when the client doesn't yet have either one of the above, I can tap into my network of trusted developers and designers to produce whatever is missing.

I am lucky to have a vast network of colleagues from my 9 years of software development: developers, designers, information architects, copywriters and digital marketers.

Availability

I am available for both short and long term projects. Depending on the size and/or complexity, we can work on an hourly rate or a fixed rate per milestone. If you want to discuss things further, please don't hesitate and shoot me an e-mail.

Background

With 9 years of professional programming experience (and much more as an amateur), I had the opportunity to work with several technologies in several projects on various roles. I've worked on startups, consultancy agencies and as a freelancer.

I first developed for iOS on 2011 when things were quite different from what they are today. Since then I have worked on all kinds of apps and contributed to some open source frameworks. From June 2014 to May 2017 I was a Senior iOS Developer at Hole19 where I developed an app that was used by 700k+ users, rated 4+ stars on the app store and consistently featured by Apple. At Hole19 I was using Swift since the language was first released, had the opportunity to be amongst the first developers in the world to develop for the Apple Watch (our app was already on the store when the Watch was released).

Before working for Hole19, I worked at Inspira, a software consultancy agency, where I mostly did Python backends and a few mobile apps.

I am also the creator of Duomov, an app that enables two iOS devices to record a synchronised dual perspective (split-screen) video by establishing a peer-to-peer WiFi connection between the devices (no Internet connection is required). The app is currently available in: English, French, German, Japanese, Portuguese (Brazil), Portuguese (Portugal) and Spanish.