47 Degrees joins forces with Xebia read more

Functional Android Development


Functional Android Development

This session has ended.

Android development took a big leap forward once Kotlin was announced as an officially supported language. That introduced functions as first class citizens and therefore unlocked support and sugar that made the Functional Programming paradigm possible. This is what allowed us to build Arrow. On another note, architecture has always flowed around the concept of cold streams and declarative composition, using libraries like RxJava that took us very close to many concepts of the functional world. Also, declarative UI is about to become a big thing now with a library like Jetpack Compose, and the ideas around immutable view state have been leveraged since long ago by architectures like MVI, Redux or any other implementation of unidirectional data flows. All these things open the door for the functional paradigm in many ways.

In this course you will learn to write fully-fledged Android apps using the Functional Programing paradigm via Arrow, and compare it to other libraries like RxJava or KotlinX Coroutines.

What you’ll learn

  • Wrapping side effects to make them pure.
  • Modeling network and database queries in a pure way.
  • Modeling view states as sealed hierarchies of exclusive immutable states.
  • Modeling UI state updates.
  • User interactions as a Stream.
  • Leveraging Either for railway oriented programming and error control.
  • Happy path vs error path. Computing over the happy path.
  • Recovering from errors.
  • Retry and repeat strategies with Schedule.
  • Writing our presentation logic.
  • Adding a functional metrics system.
  • Switching to background coroutine context and back to Main for rendering results.
  • Avoiding memory leaks.
  • Surviving configuration changes.
  • Scoping our tasks to a coroutine scope for collaborative cancellation.
  • Managing shared resources safely.
  • Architecture as a Functional Stream.
  • Testing our functional app end to end.
  • Sneak peek into alternative UI encodings using comonads.
  • Sneak peek into Arrow + Jetpack Compose.

  • $1100
  • -50%

Enroll for $550Starts on September 29 at 9 am CET

Company and Private Group Training


Jorge Castillo

Jorge Castillo

Senior Software Engineer


  • Kotlin
  • Functional Programming
  • Arrow
  • Android
  • Android Development

This Instructor-Led Course includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to the Academy Slack


  • Previous experience with Kotlin and Android development.
  • Previous experience with Android architectures like MVP
  • MVVM
  • MVI
  • unidirectional data flow
  • Redux or similar.

Upcoming Academy Events

Frequently Asked Questions

Is this course 100% online?


How do I register interest for a course with no start date or future training dates?

You can join the Academy newsletter to stay posted about upcoming courses and events.

What if I can’t find a course?

Please email your thoughts and suggestions to [email protected], and we’ll get back to you as soon as possible.

Will I receive accreditation for a course?

For any paid training courses, we intend to launch an accreditation process after the launch of Academy. If you take a paid training course before this time, we’ll make sure to send an accreditation when we’re ready.

What tools do I need to access 47 Degrees Academy content?

The only thing you need is a modern web browser and Internet connection. For training courses with code workshops or downloadable code samples, the course specifics will include the necessary tools and instructions to get going.

Will I earn university credit for completing any training?

No, at this time, the courses are not intended to replace university or other formal education courses. If you are an academic or training institution with an interest in partnering or licensing content from Academy, please get in touch at [email protected].

What languages will the training be given in?

English is the common language across 47 Degrees. If you have an interest in supporting other languages, please let us know at [email protected].

Is financial aid available for underrepresented or low-income groups?

Our industry is not diverse enough across many measures of representation. Nor is it easily accessible to many minorities or those in low-income scenarios. If you feel that you belong to an underrepresented minority or need help financially, please fill this form. We can apply a course voucher to your registered Academy account. The voucher can be redeemed against any paid course on a one-time basis. The voucher is non-transferable, non-refundable, and has no financial value.

What is the refund policy?

If you request a refund for a paid training course before taking it, we will refund your course fee during our next processing cycle. If you request a refund for a paid training course after starting or accessing it, please email us at [email protected]. Please refer to the full Terms and Conditions before requesting a refund. 47 Degrees reserves the right to refuse refunds.

Are these courses qualified for the FUNDAE (Fundación Tripartita)?

Part of the course cost is reimbursable for companies located in Spain, through Fundae ( formerly, Fundación Tripartita ). If this is your case, please contact us through [email protected] before enrolling in a course.

Do you have more questions? Contact us