Всё зависит от программирования. Если под программистом понимается человек, который программирует под 1С например или какую-то другую шнягу под вэб, то такой программист готов после курсов. Ну а если требуется специалист, который программирует компьютерную графику, искусственный интеллект, графы, нейронные сети, сложные информационные энтерпрайз системы.... то конечно же нужно фундаментальное профильное образование.