Home iOS & Swift Books Living by the Code

An Interview with Paco Estévez GarcÍa Written by Enrique López-Mañas

Heads up... You're reading this book for free, with parts of this chapter shown beyond this point as scrambled text.

You can unlock the rest of this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

During his career, Paco has experimented with early prototypes and bleeding edge software, at-scale video services, and a bit of video game development. These days, the challenges he faces revolve around applying functional concepts to improve development experience workflows, learning and efficiency.

Connect with Paco

Twitter: @pacoworks

GitHub: github.com/pakoito

“Code is not always the hardest part of the job… The primary challenges are still interpersonal relationships, communicating with stakeholders, and gathering information.”


What are the three books that have positively influenced you?

As a kid, I was influenced by Terry Pratchett’s books. My favorite is Night Watch, and you need to have read some of the previous books to get all the references. Generally, Pratchett presents a way of living that was completely different from my life in Spain. A couple of decades later I’m living in London and I have a raison de vivre that is completely different from people in my home country.

You have a great reputation in the functional programming community. For those on the outside, the functional programming world seems like a magical universe. How would you explain functional programming to a developer that doesn’t have any experience with this world?

Functional programming can be thought of in terms of constraints. It’s an approach to programming that is very structured. When learning programming you were told you could do anything you wanted. On the other hand, what functional environments offer is a limited set of approaches to solving a problem, that you have to compose together into a larger solution. Those limitations are actually liberating. Instead of potentially endless options for how to create a program, functional programming, or FP, defines a set of tools that work in combination. Think of FP as more like putting a puzzle together rather than sketching or inventing a world from scratch.

How would you explain the relevance of functional programming to someone developing software to manage a database or an interface? How can they benefit from functional programming?

The books that I read and the processes that I follow are the same across multiple languages, and they’ve been consistent for many years. When I approach a corporate codebase, I find that there are twenty different ways of doing twenty things. On the other hand when I’m working in a functional codebase, or when I’m approaching a functional language, I know what the available constructs are as well as which ones I’m going to use. That means I can move fast in a codebase that uses Java, JavaScript or Lisp, or F#. All of them have a set of commonalities. These restrictions are the pieces that you’re building your program from.

Paco’s Recommendations

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.

Have feedback to share about the online reading experience? If you have feedback about the UI, UX, highlighting, or other features of our online readers, you can send them to the design team with the form below:

© 2021 Razeware LLC

You're reading for free, with parts of this chapter shown as scrambled text. Unlock this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

Unlock Now

To highlight or take notes, you’ll need to own this book in a subscription or purchased by itself.