Our latest My Office heads to NASA's Ames Research Center, where Ivan Perez (PhD Computer Science, 2017) resides.

Ivan applies his thorough knowledge of the Haskell programming language to lead a number of technical projects to support flight and robotics applications.

His role is to make sure that machines don't fall out of the sky by making it easy for engineers to keep systems safe. Ivan provides engineers better ways to tell computers what "safe" means, ways to then make sure their designs and code make such systems actually safe, before, during and after launch.

My Office Ivan Perez

Our latest My Office contributor outside the NASA Langley Research Center

What’s your job now and can you describe your office?

I’m a Principal Computer Science contractor assigned to NASA Ames Research Center. I wear a few hats: I'm the technical lead of the project Copilot, which is an open-source programming language used to produce verified flight and robotics applications; I’m the technical lead and inventor of Ogma, a tool for mission assurance that leverages Copilot to produce flight and robotics applications that meet NASA requirements. Both have been used in experimental flights and are written in the Haskell programming language, which the FPLab of the Computer Science School at Nottingham is one of the best in the world at.

I'm also the Software Lead and Demonstration Co-lead of the Lunar Command and Control Interoperability project (LuCCI), which seeks to identify requirements, propose standards, carry out trade studies, and complete demonstrations to make Lunar Surface Systems interoperable. And finally, I’m also the Center Representative for NASA Ames Research Center on NASA's Core Flight System's steering committee, and a member of their development team. CFS is the software middleware that runs a large percentage of NASA missions.

My office is located at NASA Ames Research Center in California. From the front door of our building you can see the roverscape (where we experiment with robots and rovers in lunar or Martian-like terrain) the National Full-scale Aerodynamics Complex (NFAC) (operated by the US Air Force, with a 80-by-120 foot test section, making it largest wind tunnel in the world and capable of testing a full size Boeing 737), and the Google Campus (visible outside the fence).

What was your single most career-defining moment or decision? (if there is one!)

I think the moments when I took a chance and jumped at an opportunity without looking back were definitely career defining. I jumped at the opportunity of working at the Declarative Programming Group at the Technical University in Madrid, which led to my first and second research jobs, my first publications, and to the training that took me where I am today.

I quit a job at a university in the Netherlands to pursue a PhD at the University of Nottingham, which completely changed my career (I received a job opening at NASA from my second PhD supervisor). I took a chance at creating my own company, and it became the first company in the world to publish mobile games in Haskell. And I jumped at the opportunity of working for NASA after my PhD. More than seven years later, I’m still here.

What are the key characteristics of someone who does your job?

My job requires a combination of technical and soft skills. Definitely, the training that I acquired at the University of Nottingham was instrumental, and allowed me to develop my knowledge of functional programming, learn how to do independent research, learn how to publish, and also to deal with the rejection of not getting papers accepted (a required step before one is published).

I also learned along the way that technical skills are not enough: ultimately, to progress in this career you have be part of very large teams (sometimes as a member and sometimes as a leader), and people skills matter sometimes more than any single specific piece of knowledge or technical skill you may possess. I’m still learning both.

How would your colleagues describe you?

I would want to think that they’d describe me as hard working and enthusiastic.

What’s the one thing about your office which you most love and/or hate?

The thing I love the most is that the feeling of working for NASA never goes away. I still feel very overwhelmed when I walk out of meeting where we are discussing future missions and the infrastructure we’ll need to create to support them. It’s like science fiction. I keep looking for the camera somewhere in the room.

This job also brings with it a lot of red tape and protocol, especially when it comes to publishing or talking about what we do. It’s part of the deal.

Is there anything you can't live without in your office?

I have amazing colleagues, which are not easy to find everywhere. I also don’t think I’d be able to work on missions of this magnitude anywhere else.

What’s been the best moment working in your office?

Some of the best moments are still whenever someone (inside of NASA or elsewhere) tells me that they found my work useful, that they were able to build something thanks to what we did. I also love it whenever people in the community contribute to our open source work. I don’t care if it’s someone with decades of experience or someone completely new: it’s always exciting. Being able to to give talks to give people a glimpse of what we do (which sometimes uses their work) is always fun. And of course, being able to be part of or discuss future missions, and seeing the intricate parts of how flight software is made, are some of the highlights.

And the most difficult?

Being alone in a new country has come with a set of challenges. In a university there are a lot of opportunities to socialise and meet new people, but once you start working in a setting like this, you have to meet a schedule and there isn’t so much flexibility anymore. I’ve moved more than 16 times in my life and lived in seven countries, and it never gets easier.

Do you have one piece of advice for someone who wants to work in an office like yours?

Believe in yourself, contribute to open source projects that you like, and do it for the joy of the work, not for the title or for the NASA label. I never thought I’d end up here; I just pursued what I loved.

What is the one niche skill which you are proud of above all others?

Having made games in Haskell. In retrospect, that really, really helped me in the job that I do now, because even if the applications and environments are different, the underlying ideas are quite similar.


And finally, how do you take your tea?

With lemon and sugar.

Want to feature your office?

We're always on the lookout for alumni with quirky, unusual and interesting jobs to share their offices with us. Sound like a job for you?

Contact the team >