Hide chapters

Living by the Code

Second Edition ·

Before You Begin

Section 0: 4 chapters
Show chapters Hide chapters


Section 1: 14 chapters
Show chapters Hide chapters

Getting to Work

Section 2: 17 chapters
Show chapters Hide chapters

6. 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.

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.

Paco Estévez GarcÍa
Paco Estévez GarcÍa

Connect with Paco

Twitter: @pacoworks


“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.
© 2024 Kodeco Inc.

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 Kodeco Personal Plan.

Unlock now