Chapters

Hide chapters

Living by the Code

First Edition ·

Before You Begin

Section 0: 2 chapters
Show chapters Hide chapters

Community

Section 1: 14 chapters
Show chapters Hide chapters

Getting to Work

Section 2: 17 chapters
Show chapters Hide chapters

11. An Interview with Eduardo Castelló Ferrer
Written by Enrique López-Mañas

Eduardo received his Bsc. (Hons) Intelligent Systems from University of Portsmouth (UK) in 2007, and his M. Eng and Ph.D. degrees in robotics engineering from Osaka University (Japan) under the guidance of Prof. Hiroshi Ishiguro. During his graduate studies, Eduardo’s research focused on swarm robotic systems and how to achieve collective, cooperative, and collaborative groups of robots. Eduardo is currently a postdoctoral fellow (Marie Curie) at the MIT Media Lab (Human Dynamics Group), where he conducts research on the synergy of swarm robotics systems and blockchain technology. In his previous post-doc position at MIT, Eduardo designed, implemented, and tested a whole range of new robotic agriculture systems (Food Computer) at the OpenAg initiative. His research interests include swarm and multi-agent robotics systems, decentralized and distributed control, bio-inspired robotic systems and technology transfer procedures.

Connect with Eduardo

Email: ecstll@mit.edu

Interview

You are one of the most involved individuals in robotics and artificial intelligence (AI) I have had the pleasure to know. There’s a lot of confusion between the terms AI and ML, or machine learning. Could you provide clarification?

Artificial intelligence is basically the term we give to the field of computer science in which we design algorithms that do something that can be named as “smart.” However, AI is a really big field these days.

For instance, AI could involve algorithms that produce “smart” decisions like: “If you see a pedestrian in front of you please brake,” but also could involve techniques that require large amounts of data to achieve this “smartness.” That is the case of ML, or machine learning. ML is a subfield of AI in which algorithms learn from processing large quantities of data in order to discover “hidden patterns” and extract knowledge from them. So, for example, all machine learning is artificial intelligence, but not all artificial intelligence is machine learning.

What do you think are going to be the most immediate consequences for the average user of AI?

We now have the ability to combine algorithms that we invented 40 or 50 years ago (e.g., reinforcement learning) with the largest amount of data about human behavior in history. We now have a ton of data about ordinary activities such as where do we go when we are walking around the city, what do we search online, what is our behavior when we want to buy something, how we behave when we are sick, etc.

This important knowledge combined with these smart algorithms can give us a lot of prediction and analysis power of our behavior, not only as a society but also as individuals. In the immediate future, we’re going to have a set of new tools that will allow us to surf this immense amount of data that we are creating. On the one hand, this will be good because it will extend us; imagine a doctor who now can see 10x more patients and can have 10x more accuracy in diagnosis. On the other hand, we are going to create a world in which everything will have a score—a score for you as a citizen, as a user, as a consumer, etc. This reputation-based society will impact the average user the most.

Does this raise concerns about the ethics regarding how the data will be employed?

You have to think that ML algorithms are as good as the data that you feed into them. So the data you use in order to train and make these systems “smart” is key. What we currently don’t understand is that when we provide this data or when we design these apparently smart algorithms, we are also projecting our biases into them. For example, if you code a very complex deep neural network that predicts the credit score of people (another way to code reputation), but you only train this neural network with a certain population data (e.g., high-income white males), other profiles that might use your product in the future might not be well represented or might be mistreated (e.g., single black mothers). So we need a new social contract about AI, in order to make sure that these systems are deployed in the right way and as diverse as possible. So they are not mistreating certain people just because these people were not there when these technologies were pioneered. Actually, my biggest fear about AI and ML is not super-intelligent machines but dumb ones.

What would you recommend to individuals who’d like to start in the AI domain, which many see as more academic?

A good foundational book, course, or tutorial definitely helps. However, I totally recommend reading the academic literature (i.e., papers) associated with these technologies. It might seem too academic at the beginning but it’s very interesting to read these works and then tweak and play with the code researchers provide (e.g., GitHub repos), but it’s also very helpful to read how researchers describe this code and explain why they made this or that decision. Once you get into the world of papers and academic literature, you start to get a grasp of how to explain and document something very complex, such as an AI model or a machine learning function. After you read a couple of these papers, you start to realize you have a lot of information in order to start building your own projects. At that point in time, you’d be able to collaborate with these researchers. In my experience, it is a very good way to bridge the gap between the corporate and academic—you discover that you are working on similar things, and then you can collaborate and contribute to each other.

Can software engineers contribute with academic peers and share new knowledge in papers?

Definitely. As software engineers, we are very used to contributing to the open-source world: open GitHub repos, uploading some code that adds some functionality we thought useful, writing documentation, etc. Indeed, this is valuable to the academic community, per se, and we will see a richer set of inputs included into papers in the near future (e.g., testing frameworks, virtual machine images, etc.). Along those lines, we are heading to a world where the idea behind version control systems (e.g., git, Mercurial, SVN) is moving away from just code into something beyond code.

What happens when these open-source repos are not just about code but incremental dissemination of knowledge? What happens when your commit also provides a parameter trade-off analysis for someone else’s code? Or you open a branch about the ethical implications of an AI algorithm within the paper repo itself? What happens when Nature or Science become something more like a YouTube playlist than strict venues for academic reputation.

That sounds like a new ecosystem where software engineers can have a significant role.

Through your career, you’ve worked in diverse environments. In Japan, you did your Ph.D. in robotics and AI. In the United States, you’re currently working at MIT with interdisciplinary and international teams. What is the secret to working efficiently in these very heterogeneous environments? Are there any challenges you can think of and how do you solve them?

The key is understanding the culture behind the system; startup, corporate company, public institution, academic lab, it doesn’t matter. It’s important that you understand the culture of the country and how people operate in these places. For example, in Japan, corporations and academic institutions have very strong team-oriented processes that are very hierarchical; hierarchy is respected a lot. So you need to find a way in which you can do the things that you are passionate about, but, at the same time, respect the hierarchy. On the contrary, in the U.S., while there’s some hierarchy (like in any other part of the world), taking chances and assuming risks is valued and appreciated. To summarize this in simple terms, Japan is more about why you do things, and the U.S. is more about how you do things. This is just something you learn from the culture and from the interactions you have with your peers. So it’s good once you move to a place, whether it’s Japan, U.S., Europe, or wherever, to understand what the connections are, and the networks that assist and sustain the operations there. Then, understand where you can position yourself, make the most difference, and how to play that in your favor.

Is there any approach you follow for solving conflicts, which is something that can happen in diverse space or in any software development team?

Having negotiation skills is a must; you need to develop these because, in the end, everything that you are doing, from agreeing on a salary you are comfortable with to solving an issue in a complex project, is about negotiating. One of the things that I found useful is the fact that, at some point in time, when we have a conflict, we tend to frame the situation as “I am good; you are bad, and therefore we are fighting.” But if we elevate ourselves from the process of demonizing each other and start thinking that we might agree on something behind the front line, we might reach a solution beneficial to both parts. If you find what really drives the other side behind just winning that argument, you might find it very easy to come to an agreement that will eventually solve what you are fighting for.

“People tend to align with people who have a lot of initiative and are passionate about what they do, and they are very self-confident about what they do.”

You’re exploring the idea of so-called “soft skills.” We engineers, know how to grasp the technical skills; these are generally acquired at university or wherever we are acquiring our education. But softer skills are not taught in these environments. How can we acquire or train on them?

It’s true that, in the world of engineering, things tend to be binary. Processes are efficient or not efficient, optimal or not optimal, black or white. However, when you have a group of people working on something complex, issues won’t become black or white; most likely, there will be infinite shades of grey in the situation. Two of the things that I found useful to move beyond this binary approach are negotiation and leadership skills. Reading books is a good way to start acquiring knowledge about how and when to negotiate, for instance, learning about the experiences of other people.

However, in my opinion, knowing people better and understanding what drives them beyond what they are fighting about is a way better option. Complementarily, leadership is highly regarded in the Western world. Leadership is all about initiative and moving things forward. People tend to align and follow people who have a lot of initiative and are passionate and self-confident about what they do and why they do it. One of the possible paths towards developing leadership is trying to become the hub of your network.

When I say “hub,” what I really mean is to become the central node or player of a process: the router of your network. If you become a hub in your team, for instance, channeling all your co-workers’ ideas about the next product upgrade through you, that will put you in the place where you will have to understand a lot of viewpoints. That will force you to develop your soft skills a lot and will also increase your value in the team. From a pragmatic point of view, at some point in time, your superiors will have to face the potential problem that if you go away, the hub that sustains that network will also go away and the network might face the risk of becoming sparsely connected, which is a really bad thing for a team. In summary, move out from your comfort zone and try to move from the periphery of the network to the core of the network and see what happens.

Which skill do you think is undervalued in the IT world that you don’t see enough of and that you would like to see more?

Empathy. I don’t think we have it and I’d like to see more of it.

Are there any other industry trends that you feel are broken, and how can these be fixed?

If we talk about academia, I can say there are many broken things there. For example, academics are not only valued by the number of publications that they produce but also the number of citations that those publications collect. So we can say that academics are at the forefront of this new phenomenon of being immersed in a digital reputation-based system. As academics, we all have a reputation score (number of publications, citations collected, etc.) but because this score is not aligned to our main goal, which is to create and disseminate knowledge, there’s a big problem ahead of us: an academic might have a lot of reputation but actually their work might mean nothing. Along these lines, many academics end up writing papers that are meaningless or even fraudulent in a certain sense by cherry picking their results (i.e., p-hacking) just to keep publishing and gain more and more reputation. Your reputation as a researcher is very much correlated with the money that you get through grants, with the positions you get, and how you get promoted. This is also known as the rich get richer effect. Publishing a new paper is very easy; however, validating or even replicating the results included in that same paper is extremely hard. Modern academia in combination with the new digital technologies just created a crazy one-way function. In my opinion, the first thing that we need to change in academia in order to be successful and reorient ourselves to our main goal is to change how we measure ourselves. Maybe we should pass from a reputation system in which we measure how many works we publish to a metric based on the impact that those papers created in society—for example, how many projects we launched, how big the communities are that we created around these projects, how many people we helped, how much knowledge we basically transferred to industry and how this knowledge was used. I think that’s one of the main things we’ll need to solve in academia in the next 25 years.

In this technological world, changes happen extremely rapidly—not only technically but new languages, new libraries, etc. that we’ll have to learn. So it’s very difficult to predict what’s going to be relevant in five or 10 years from now. How do you prepare for this and stay up-to-date with new developments?

Besides reading the common sources that we all read, I think that it’s very important to take a look at the academic work. If you are interested in certain technologies or certain fields, you can just basically ask Google Scholar to notify you whenever there’s a new article in that field. Maybe you can’t read the full 10-page article, but you can definitely read the abstract and the conclusions. So, as you start searching different keywords, you will get notified of new articles every week or every month. When you do this for a while, you’ll see very different people from different parts of the world talking about the same things, or pointing out the same problems; at that point in time you can guess from this emergence of topics that those topics are going to be hot in the future. Usually, these academics will end up working in companies, or the students will graduate, and they will start talking about these things in non-academic environments. Eventually, these people will take some positions in relevant research teams or corporate teams and the topics will be pushed forward.

In terms of staying up-to-date, there are a lot of ways to do this. If you live in a place that has some kind of innovation ecosystem—like Boston and San Francisco, Zurich or Munich—or near universities, it’s worth going to talks, demos, and workshops. In case of the more academic approach, you can always attend the first lecture of courses that you find interesting at universities. Normally, universities are open systems. You will not be able to register and follow the course for credit, but you can always show up, at least for the introductory lectures in which these lecturers give a general scope about a field of research.

What books influence you or have had a lasting impact on your work?

For technical books, I have a few. Pattern Recognition and Machine Learning by Christopher Bishop is a must-read for anybody who really wants to get deep into machine learning with no foundation whatsoever of the field. Another is Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin. The third that really had a lot of impact on me was Dynamics Of Complex Systems by Yaneer Bar-yam. Nontechnical books include Liquid Modernity by Zygmunt Bauman, The Iliad by Homer, and The Politician and the Scientist by Max Weber.

What is the cheapest investment you have made that has provided the highest return on investment in your career?

Books are definitely very cheap investments. I recommend, for example, getting books on negotiation as part of that very cheap return on investment. I will say that Getting to Yes: How to Negotiate Agreement Without Giving In by Roger Fisher is a very good book that everybody should read, and it will give a lot of good insights. Books are the cheapest thing, and you always get new ideas and wisdom through books. Also, being a little bit more social. Try to be the hub of the network that I talked about previously. Becoming the hub of any social network is a good investment which is very cheap; at the same time, it gets you a lot of return.

How do you start your day, get to your computer and start solving problems? How do you stay productive?

Maybe I’m not the right person to give advice in this case, because I am a creative person. Even though I have a number of technical skills, I’m driven by creativity and creativity cannot be planned. So I will say that I try to finish my to do list. I tried to follow Getting Things Done (GTD) for a while. However, I am not relying on that so much these days. But I will say that I’m very driven by creativity. One of the good things about being in academia is that you have a lot of flexibility. Your working hours are long but also flexible and you are completely objective-driven. Basically, I try to get through one idea and don’t stop until I find that idea fulfilled. I’m very unstructured in that sense.

How do you spark your own creativity? Do you have any secret that helps you boost your creative thinking and how you are able to find proper and creative solutions for problems?

That’s a very tough question. I realized a couple of years ago that the big innovations that occurred in the last 200 years tend to be the combination of two things that apparently don’t have much to do with each other but, together, they do something new and novel. I always bring the same example. In the 1960s, there were researchers like T.H. Maiman that discovered the laser. Then they said, “Oh, well, it’s super cool to have this very powerful light but I really don’t know what to use it for. It’s a completely useless thing.” At some point in time, a guy named James T. Russels said, “I can carve a binary pattern in a surface, maybe this could be read with that kind of light.” Carving surfaces in plastic and lasers don’t have to do much with each other but together they created the CD. Therefore, I believe that, in order to be creative, you need to think out of the box. Thinking out of the box is understanding that there are a lot of connections that apparently are not obvious, but, if you think appropriately, they could be groundbreaking. My secret, I would say, is trying to think out of the box and trying to marry things that have a lot of potential, but apparently don’t do much with each other.

What could you recommend to an aspiring software developer to start their career?

There is a very clear way to start in academia: You start a master’s degree and then if you like what you studied, you get involved with a lab or research group. If you like what you do, it is very likely that you will try to do some research on your own, normally guided by a supervisor. And if you still like what you are doing, most likely you will get into a Ph.D. degree. That being said, what I would tell this aspiring young person is that academia is very tough, it’s very hard, you make a lot of sacrifices. It is definitely a vocational job, that for instance doesn’t get paid as much as in the industry. You basically work long hours sometimes in very “abrasive” environments for really low pay. Of course, you have the flexibility and somehow the freedom to explore and explain something that you like, but I would definitely recommend this person first not to lie to themselves. So please be in academia because you have a vocation to your field of research, not because you don’t know anything else; this seems trivial but is a very important statement.

Many people tend to remain in academia just because they don’t know anything else and they are used to following that lifestyle. However, something more important than the sacrifice per se is that at some point you will need to justify it. In other words, in my opinion, you shouldn’t do something that will make your job hunting (wherever that might be) an extremely hard thing to do. If you think that the topic you are going to tackle in your Ph.D. is going to be very important in the near future, or you will be able to become one of the few world experts, you might be able to capitalize on that sacrifice. Then, my advice is: not only look at the tremendous amount of work you have ahead of you but also think what’s going to happen when you finish. You are going to be really tired after that time, and you need it to pay it off. You need to understand that you made a sacrifice for something that is good, and you can capitalize on it in the future somehow. Maybe even emotionally. But it’s good that you need to see the light in the tunnel and the fact that the light in the tunnel is a better world.

Eduardo’s Recommendations

  • The Odyssey | Homer

  • Clean Code: A Handbook of Agile Software Craftsmanship | Robert C. Martin

  • Dynamics Of Complex Systems (Studies in Nonlinearity) | Yaneer Bar-yam

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