Программистам все же нужна теория, много теории. А после сплошной практики, как в колледже, получаются кодеры, а не программисты. Т.е. сделать они могут, но только на сегодня и на завтра. Ну может на неделю. Потом возникают проблемы, о которых они даже не догадывались (т.к. теории не было) и они все переделывают, еще неделю работает. И так далее.