Who are these courses for?

These courses are created for developers that already know the basics about creating applications for their respective platforms and have been doing development work in that platform for at least 6 months.

We focus on advanced topics that require some previous experience to get the most out of it. We focus on people who love learning and improving the way they do things!

These courses aren't designed to teach beginners any of the basic skills they need to become a mobile developer, but we can teach that too if you want us to, just contact us.

Do you offer onsite trainings?

Sure we do! If your company needs to train a team, we can tailor an advanced iOS or Android developer training course to your organization’s specific needs.

Our onsite training courses provide a cost-effective way to raise the skills of your team, allowing to maximize their performance and to increase the quality of their contribution to your development project from day one.

Do you offer public trainings?

We do too! But we look for partners that take care of the logistics, the room, the marketing…

All the listed courses are suitable for public offering, but if you think that your audience needs some changes, let us know.

What is your methodology?

All these courses are is eminently practical. We have designed them as hands-on workshops and provide a large number of exercises that address all topics covered in the course. We have planned the exercises within the framework of a fictional project, but realistic in scope. Some courses start by creating an empty project, some others start from some pre-existing legacy code due to requirements of the contents being addressed.

The dynamics of each session are very similar. The instructor makes a theoretical explanation and optionally some demos of the relevant content before each exercise. Then each attendee works on the exercises using different techniques such as pair programming, directed programming, or individual programming. The instructor guides the attendees to solve the exercise or improve their code and, offers insights about the different implementations and questions from the attendees. We devote 30% of the time (approximately) to explaining the theoretical concepts, the techniques to be used and their implications. The other 70% of the time we are coding to solve exercises prepared by the instructor to illustrate and master the concepts discussed. All the attendees get constant feedback from the instructor about the shared code.

While it isn't mandatory to write code we strongly encourage all the attendees to do so. It simply is the best way for you to learn.

Transparencies supporting the theoretical explanations are provided too. They contain all the relevant parts of the content, but they are not an exhaustive guide. The slides are available for students at the end of each session.

We aim for explanations and solutions to the course exercises that follow the best practices, design patterns, and clean code recommendations. We encourage discussions about the best ways of carrying out the implementation of the concepts and the best architectures and tools to support those implementations during the whole course.

What will I find in the git repository?

Attendees may have access to a public code repository (git) prepared by the instructor which contains the step by step solutions in the various reviews (commits) to each of the exercises. In this way, the students have all the flexibility to go at their own pace, study each exercise individually, repeat the exercises they want to at any time or skip any exercise while being confident that they will be starting from a version of the code that behaves as expected and has all the necessary prerequisites.

How long are the courses?

Most courses have a minimum length, but they can be adjusted to your needs by adding or removing contents. Each training day is a full working day unless agreed otherwise.

Do I need to do any pre-work?

It depends on your background. During the course, we use intensively, and take for granted, Git, you IDE (Xcode, Android), and Agile methodologies. You can find some suggestions here.

Do I need to bring my computer?

Yes, you need to. We strongly suggest you use an Apple laptop running the latest version of macOS later for the iOS courses and any computer able to run the latest version of the Android Studio and the Android emulator for the Android courses.

And regarding mobile devices, we strongly recommend that you have an iPhone, iPod or iPad able to run the latest version of iOS for the iOS courses. Or a device that runs the latest version of Android for the Android courses. If you don’t have one, you can use a simulator/emulator, but there might be some limitations for some exercises like those using the sensors. In any case, the impact on the performance of some of the techniques can only be fully experienced in a real device.