Di quali competenze di programmazione ho bisogno per costruire un'applicazione SaaS?
Per costruire un SaaS basato sul web (da solo), devi essere in grado di fare sviluppo lato server (come Python) e sviluppo lato client (HTML / CSS con Javascript per l'interazione). Dovresti anche conoscere la progettazione e la gestione dei database.
La scelta del linguaggio lato server non è davvero importante - dovresti scegliere quello con cui ti senti più a tuo agio. Python ha Django come framework web di riferimento (e sono sicuro che ce ne sono altri), ed è una buona scelta come qualsiasi altra. Raccomanderei sicuramente Python a qualcuno che sta appena iniziando a programmare, dato che la sintassi pulita e l'uso degli spazi bianchi favoriscono un codice generalmente bello (cosa che alcuni linguaggi non incoraggiano molto).
Per il lato client, raccomanderei di imparare Javascript puro e poi prendere un framework che possa prendersi cura dei problemi cross-browser e altre stranezze. jQuery è praticamente lo standard ora come framework / libreria Javascript di uso generale. Ad alcuni piace usare framework che fanno un lavoro più pesante, come AngularJs, ma io raccomando di non seguire questa strada finché non si è sicuri di averne bisogno (cioè quando si sente che il codice Javascript sta diventando troppo disordinato o difficile da mantenere).
Altre competenze utili potrebbero includere l'interfaccia utente e il design dell'esperienza, così come le competenze di visual design. Sarebbe probabilmente più facile trovare qualcuno che sia già bravo in questo, poiché poche persone possono padroneggiare sia gli aspetti tecnici che quelli visivi. Probabilmente puoi cavartela da solo per un prototipo, anche se, specialmente usando qualcosa come Bootstrap.
Anche la gestione del server (tipicamente linux) è utile, se sarete voi a gestire il server. Anche se i servizi di hosting come Digital Ocean ti danno un sacco di opzioni preconfigurate, hai ancora bisogno di essere in grado di fare aggiustamenti secondo i requisiti del tuo servizio, e di essere in grado di fare manutenzione quando le cose vanno male (e lo faranno).