Interview Raúl Raja ⡈ CTO 47 Degrees

The first time we saw Raúl Raja in action was at the Software Craftsmanship Pamplona 2016. He gave an introductory presentation on functional programming with examples that perfectly illustrated the potential hidden behind this paradigm, and in an easy-to-follow manner so that the entry curve was accessible. With a calm but compelling discourse that demonstrated a lot of work and time "in the trenches" behind it. Since then, we were eager to have the opportunity to sit down and chat with him and give him a voice in our series of developer interviews. Raúl Raja is the current technical leader of 47 Degrees. A company that has put Cádiz on the map of functional programming and continues to publish open-source libraries of exceptional quality and value to the ecosystem, along with talks that, like the one in Pamplona, are pure gold 👌. At LambdaWorld, we had the opportunity to talk with him, and the truth is that it's a pleasure to hear his opinion on the sector.

Without further ado, here’s the video of the interview and a breakdown of the topics discussed. If you want to follow Raúl more closely, raulraja is his Twitter 😬

Interview Breakdown

1:30 First contacts with computing

  • 18 years old: Back then… Park, drinks, the usual 😂
  • I was interested in programming but I did it purely for love, it wasn't a professional interest
  • I studied music education until the last year
  • When I wanted to study computer science at university, they didn't let me because I had chosen humanities
  • I went to America with my wife to study. I knew some English from Nirvana's songs and not much more
  • To finance my studies, I worked remotely for companies in Spain

4:24 Working for Boing ✈️

  • Working for an airline is boring
  • I was on the 787 program, and I was in charge of plane updates
  • We had a list of approved libraries from 4 or 5 years ago that were the only ones we could use
  • We had to program with version 2.x of Hibernate when they were already on 3.x

6:40 Startup Cirque

  • We worked to send applications embedded in emails
  • The email client rendered it and could act
  • It was a startup that pivoted several times and finally closed due to lack of funding
  • In the programming team, I met Nick and Justin. When it ended, we decided to start 47 Degrees

7:55 Beginnings of 47 Degrees

  • Our focus at the beginning was exclusively on native mobile applications (Objective-C and Java)
  • Many clients began asking us for backend programming for applications, and we decided to bet on Scala
  • The idea came up one Christmas when I was bored and started learning Scala
  • As we were a small team, it was something I could introduce easily without doing massive migrations

10:00 Bet on Scala at 47

  • One of the things that helped me was learning design patterns. I realized that all those patterns were patches or shortcomings of the language itself
  • Design patterns became “the new altar of Java programmers”
  • 80% of the code we write is aimed at solving problems that are not from the domain we are working on
  • It’s an industry that in that sense could be potentially mistaken. But it had enough traction for people starting out to simply follow that inertia
  • There are certain communities where there's too much fanboyism. I think that's a bit less in functional programming.
  • I am by no means a [Rockstar of functional programming]. I have no clue about many things. I'm a person who is not focused on individuality.
  • My role at 47 Degrees is for people to have an acceptable level of programming so that as a team, they can solve problems together. That’s my job.

12:50 Getting Started with Functional Programming

  • You didn’t know what design patterns were when you started programming. Now that you do know, you’ve formed an opinion of yourself where it doesn’t fit that there are other things beyond.
  • It’s a domain and a different way of doing things. If you’ve never done it that way, it’s going to require you the same learning and adaptation time.
  • 2 basic things to start:
    • Referentially transparent functions
    • Immutability
  • If you work in terms of abstractions like Monad, Functor, etc., you need your programming language to support Higher Kinds. If your language doesn’t support it, it’s very tedious.
  • Java, being a widely accepted language in the industry, you find people who already know and don’t want to change their style. The problem is always human, it’s not a technical problem.

18:10 Kotlin

  • Kotlin doesn’t have Higher Kinds, but we have emulation in the Kategory library.
  • We have a proposal for a change in Kotlin to introduce official support for Type Classes without hacks.
  • JetBrains officially said they wanted to make Scala but compile quickly. That’s why they removed parts they consider more academic from the language.
  • Libraries like Spark and Akka have made Scala popular. Backend programmers are going to lean more towards Scala than Kotlin.
  • You can do Scala on Android, we did it with 9cards.
  • Scala is not used on Android because people don’t choose languages for their features, but for human factors such as Google announcing they support it.
  • It depends on each programmer, what are you, an empire programmer or a resistance programmer?

23:17 LambdaWorld and 47 Degrees

  • We have always been interested in functional programming and here in Cádiz, there is no community. We decided to bring all the programmers here and give visibility to the company
  • 47 was founded in Seattle, we are based in San Fernando (Cádiz), and London
  • Since our clients are international, in many cases, remote work works
  • As we are a small-medium company, the decisions we make are very personal according to what that person can contribute

And these are some of the highlighted points as a summary of the interview. If you're interested in the topic, we remind you that we've made some posts about Scala and functional programming, and that in CodelyTV Pro we have the Introduction to Scala course! Soon we will publish screencasts about Kategory and Freestyle, subscribe to the channel for more info!

Pay according to your needs

lite (only monthly)

19 €
per month
  • Access to a subset of courses to lay the foundation for maintainable, scalable, and testable code
  • Company invoice
Popular

standard

24,92 €
Save 121
Annual payment of 299
per month
  • Full course catalog
  • Design and architecture challenges
  • Highlighted solutions videos for challenges
  • Receive job offers verified by Codely
  • Company invoice

premium

41,58 €
Save 89
Annual payment of 499
per month
  • All previous benefits
  • Early access to new courses
  • More benefits coming soon

We won’t increase the price while your subscription is active