Learn how to apply the Functional Programming paradigm to your backend RESTful API.


Building functional Ktor backends

Arrow provides utilities to enable Functional Programming in Kotlin. It also provides integration with the Kotlin stdlib suspend system, so it has goodies to easily integrate Arrow with any existing codebases using suspend.

In this mini-workshop, you will learn to:

  • How to separate concerns in a program (algebras vs runtime)
  • How to encode our Ktor endpoints using IO and its integration with suspend.
  • How to keep effects under control using IO and ArrowFx.
  • How to integrate IO and ArrowFx with side effects flagged as suspend.
  • Approach to concurrency using IO and ArrowFx.
  • How to control, recover from, and model errors into our domain.
  • Write tests for your functional program.

A Q&A session will immediately follow this mini-workshop. Class size is limited to 20 attendees so make sure to register in advance.

Enroll for FreeStarts on August 13 at 4 PM CET


Jorge Castillo

Jorge Castillo

Technical Lead


  • fp
  • backend
  • ktor
  • functional programming
  • arrow

This Mini-Workshop includes:

  • Small Class Size
  • Q&A Session
  • Access to Slides
  • Materials and Code
  • Access to the Academy Slack


  • Some experience as a backend developer building RESTful APIs would be perfect
  • Basic knowledge about Functional Programming recommended but not required
  • Some previous experience with libraries like Spring Boot or Ktor to build restful APIs can totally help

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 academy@47deg.com, 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 academy@47deg.com.

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 academy@47deg.com.

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 academy@47deg.com. 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 academy@47deg.com before enrolling in a course.

Do you have more questions? Contact us