12 Problems I’ll Be Writing About (and Why You Should Care!)
Nobel Prize-winning physicist Richard Feynman carried his 12 favorite problems everywhere he went.
You have to keep a dozen of your favorite problems constantly present in your mind, although by and large they will lay in a dormant state. Every time you hear a new trick or a new result, test it against each of your twelve problems to see whether it helps. Every once in a while, there will be a hit, and people will say, ’How did he do it? He must be a genius!
These 12 problems were the backbone of Feynman’s Personal Knowledge Management (PKM) system.
If a genius like Feynman needed a dozen long-term problems to keep him organized, you do too.
You can think of these problems as hooks on your knowledge wall:
Find an excellent article? Hang it on a problem.
Listen to an insightful podcast? Hang it on a problem.
Have an idea in the shower? Dry off, then hang it on a problem!
Not only do these problems provide structure, but they also give you an information filter. If you can’t find the right hook for a piece of content, you toss it in the bin. Don’t look now, but you’ve transformed from a casual web surfer into a professional researcher!
Without further ado, here’s my list of problems:
Is there a perfect storm of techniques that will enable high-functioning teams to predictably and reliably build great software?
What can we learn about how the “real world” evolves that will help us better evolve software?
What is the future of society? What should it be?
Can we draw parallels between all physical and social scientific disciplines to create a “theory of everything?”
How do we preserve the richness of southern American culture while eliminating hatred and poverty?
The American political system is a disaster. How can we design a new system to deal with today’s challenges?
How do we build programming languages and platforms that effectively model distributed “systems of systems?”
What can we learn from innovation and enablers of innovation in other industries that will help us build and deliver better software?
Can we create a common formal language to describe any software architecture?
What can we learn from the mistakes of Web 1 and Web 2 to build a better Web 3?
How can we change education to prepare humans to be full-stack freelancers rather than prisoners of corporate work?
How do we change the cultural perception, mechanisms, and practices of remote work and geographic distribution such that we broadly agree that it can be superior to colocation in offices?