Navigating Open-Ended Questions

Definition

The ability to tackle technical challenges that are open-ended in nature, with multiple possible solutions that will incur different trade-offs. At Palantir, we rarely work on problems that have a single optimal solution. Instead, we consider different ideas and approaches that introduce different considerations. For example, consider:

  • Building a complex system with multiple parts from scratch
  • Introducing a new solution to an existing large code base
  • Solving a problem with limited time and resources in which "perfect" is unattainable
  • Enabling a workflow for which no ideal solution exists

Why is it important at Palantir?

Working with real-world customers on real problems presents numerous challenges means making hard decisions. While we deal with purely technical concepts such as data, algorithms, code, and services, the problems we tackle ultimately transcend these definitions. Building vehicles that are safer, investigating suspects to prevent criminal activity, detecting money laundering and other types of financial fraud, using clinical data to research and develop more efficient drugs: these aren't problems that are reasoned about in terms of data bases or front-end services, nor they are problems that will be solved by a single, optimal "killer algorithm.”

In the real world, problems are multi-dimensional and multi-variable, perfect solutions do not exist, and the sheer complexity is enormous, whether in the raw amount of data, variations of workflows, or different (and sometimes divergent) desired results. Urgent real-world problems need solutions fast — which means they need to work before we have time to make them perfect. That means we have to make thoughtful and creative decisions, and we have to make them quickly.


How to prepare

Build things — real things that solve real problems. Build an app that solves a problem in your personal life. Work with friends to build larger things. Find a public dataset, and think of something interesting to do with it. Ultimately, get your creative engine going and focus on real problems — the kind where you can't think of an easy solution right away.

It also helps to analyze and understand existing technology out there. Take your favorite app and consider the real-world problem it solves, then think about technical challenges its developers must have encountered along the way. Then research how they might have overcome them. Remember: creativity and curiosity go hand in hand.

Remember — we need solutions that work before we have time to make them perfect. When discussing an open-ended problem in an interview, articulate the alternatives and trade-offs, but don't forget to be pragmatic enough to be able to arrive at some concrete approach. Deliver a functioning idea first, then expand it afterwards.