Domanda (e risposta) alquanto complessa ed articolata.
Ti voglio rispondere perchè vorrei fare un po di chiarezza su alcuni temi e contribuire, seppur in maniera trascurabile, a far valere meglio le proprie competenze e combattere allo stesso tempo vecchi e radicati costumi sbagliati di troppe aziende.
Un webmaster non esiste in una situazione aziendale di un certo livello. In questo secondo caso il lavoro è suddiviso per aree e competenze. Il programmatore DOVREBBE fare il programmatore e basta. Poi c'è l'area design che si occupa dell'impaginazione e talvolta anche di grafica. L'area grafica dovrebbe però essere a sua volta una sezione a se stante.
Quindi, come regola, c'è il programmatore (js, programmazione, sql), il grafico e l'impaginatore. 3 sezioni diverse. Questo solo lato sviluppo.
In realtà ancora più importanti c'è chi si occupa del/dei database. E solo di questi. L'sql manager. Sviluppa query/stored/function etc. e gestisce in generale i database.
Ci sono molte aziende che hanno i tuttofare. E' lecito ma come gia detto non è da aziende di alto spessore e/o che vogliono raggiungere una determinata qualità.
In italia, negli annunci, troverai nel 99% dei casi richieste assurde. Dovresti saper fare TUTTO. Conoscere tutti i linguaggi, gli OS, i database, impaginazione, grafica e magari anche flash. Ovviamente con 3 lauree e 70 master. Poi alla fine non ti mettono uno straccio di retribuzione con la scusa del "poi va stabilito in base ai casi". Questo modo di fare ti farà sentire incompetente e ti farà scoraggiare. Tu devi solo pensare che la persona che cercano non esiste!
Il consiglio che ti do è di cercare di capire tutti gli aspetti ma specializzati in un'area specifica. Se vuoi programmare devi sapere come si impagina ma non devi per forza essere un guru del campo. Concentrati sulla programmazione.
Con il linguaggio ad oggetti (come asp.net) i designer e programmatori sono indipendenti. I designer sono quelli che fanno l'impaginazione e non per forza la grafica (dipende dalle aziende). Come detto prima ci sono quelli che disegnano il sito e quelli che lo impaginano. I primi si chiamerebbero Art designer e i secondi Web designer. Il programmatore potrà predisporre la pagina secondo indicazioni dei web designer oppure far uscire i dati e campi a video in appositi spazi (un div) che poi verranno impaginati da chi fa i css.
La differenza tra junior e senior la fa semplicemente l'esperienza. Non ti servono 500 lauree se non hai mai dichiarato un oggetto (quello che molti non capiscono)! Anche perchè sulla carta puoi essere ottimo ma se poi non lo sei sul campo farai una brutta fine. Non esistono corsi che tengano. La differenza tra programmatore e webmaster è specificata nei punti precedenti. Il programmatore programma, punto. Fa le classi, metodi, cicli etc. Non i fogli di stile.
Il framework .net è appunto un framework. Una libreria a cui si appoggiano i linguaggi vb.net, c# e varie altre sfumature. Puoi sviluppare applicazioni (eseguibili) e/o siti web previa la presenza di questo framework (ormai integrata con windows). Asp.net è l'insieme degli oggetti dedicati al web. Non esattamente un linguaggio di programmazione. Il linguaggio è Vb.net, C# ed affini (e su questo c'è molta confusione).
Non credere che un corso ti aprirà la strada al lavoro. Se sei gia appassionato ed interessato fallo per avere notizioni nuove e capire magari le basi. Io credo che i corsi siano molto secondari. Se uno è appassionato, il web è un mondo di informazioni. Trovi tutto. Crea un progetto ed approfondisci i vari problemi che ti usciranno fuori man mano. Non sai come interfacciarti al db? Cerca "connessione a db con .net". Il corso potrà essere utile dopo. Se sai l'inglese aumenti in modo esponenziale la possibilità di capire le cose.
E' ovvio che se sei programmatore ma hai altre competenze (ecco perchè devi conoscere un po tutto) queste saranno un punto in più per te.
E' tutto, secondo il mio personale punto di vista. Ho scritto di getto quindi potrebbero esserci errori