Periodically, an undergraduate from 101 speaks to me after class. Nicest fellow, and full of interesting ideas about how technology can help people. He pitches his plans to me, I think to feel out what is possible, what has been done, how much and what kind of training it will take, etc. I'm happy to chat, and careful not to discourage him – an intrinsically motivated student is like a rare and delicate orchid, and I don't want to be a clumsy botanist. (If his actual goal is to be a bazillionaire like Mark Zuckerberg, then technically that's extrinsic motivation, but still it's more valuable than “I'm in this class because somebody told me I should take it.”)
Meanwhile, I spend time some weekends in an office with a couple other very smart and capable technologists. We have good ideas too, but it's awfully difficult to get something off the ground, because we're constrained by what has been done well enough already, and by what we know is impossible.
Skills are always a blessing, but sometimes knowledge is a curse. Many of my student's ideas are AI-complete. I know what that means, and see it as a serious barrier, at least in the current era. One approach is to take up basic research and chip away at the barrier – worthwhile, but not a business plan. And so I wonder: if we could adopt the beginner's mind, ignore known barriers, and follow through… possibly something useful and novel could come of it, even though the barriers are real.
Where is the boundary between naive and visionary?