I think it depends on audience and level of knowledge.
The most important thing is audience. I'm defining this as the collective group of people interested in you and your ideas. Perhaps the audience comes from years of blogging, or writing a book—Nathan Barry did this before starting ConvertKit.
Without an audience it is very difficult to get traction. Good marketing can add to an audience quickly, but there is no substitution for having an audience.
Level of Development Knowledge
When talking about programing, I'm assuming server-side programming that actually makes the application work. I think this becomes much more possible, if the non-programmer knows how to build the view layer. Most engineers I know are not interested in the view layer (With the exception of exploring React or Angular).
Taking another step back—say you are a UI designer, but don't know HTML/CSS/JS. It will be much more difficult, because now you potentially have to find two people or one very expensive person to help build your application.
If you're not a UI designer, then this is going to be much, much more difficult—but not impossible. You will need a large audience and have an acute sense of the audience's needs.