Kapil will be presenting the following session
filter_list help_outline
  • Kapil Reddy
    keyboard_arrow_down

    Kapil Reddy - Handling and Composing complex side effects in Clojure with Sanity

    Kapil Reddy
    Kapil Reddy
    Platform Engineer
    Helpshift
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    At Helpshift, we face managing complexity of these side effects which touch 10s of different systems. Each side effect poses a failure scenario which can lead to it's own business decision. Compounded failures pose even more complexity. To add to the problems we extending the codebase to add new business logic regularly.

    I will present a solution which is a combination of Clojure and FP following techniques. We will also discuss how ideas when combined together can create an elegant solution,

    1. Data - Side effects definition as data

    2. Almost no syntax - Minimal definition

    3. Many functions for one DS - Multiple execution and failure recovery modes for side effects

1. What got you into Functional Programming (FP)?

I applied at Infinitelybeta (Now, Helpshift) in hopes of working on Clojure. I have never looked back ever since. 

2. What has been your best moment or highlight working with FP?

There have been several. How a few lines of code can have huge impact on enabling business still boggles my mind.

3. What are some of the greatest challenges of working with FP?

FP in itself has steep learning curve if you are coming from other programming paradigms. Toughest part is unlearning most of the notions one has about programming. Another challenge for adopting FP is tooling might not be in the best shape sometimes. 

4. All the mainstream programming languages are adding functional programming features. Most new languages and frameworks are strongly influenced by FP. What is your advice to object-oriented programmers?

Take what is useful. Drop what is not. 

5. What will be some of the key takeaways from your sessions at the conference?

You will get to know about building a production service that handles multiple side effects in a single code path. Also, how to go about handling unhappy scenarios.

6. The conference has more than 50 sessions. Which ones are you most looking forward to attending and why?

I am looking forward to learning more about typed FP so sessions covering those are most interesting for me.

help