Javascript è attualmente applicato in molte aree di sviluppo.
- È l'unica lingua presente nel browser moderno.
- Può essere eseguito sul server, grazie a node.js e al motore V8.
- Può essere integrato nei dispositivi mobili tramite PhoneGap o altre alternative.
- Può essere utilizzato per creare applicazioni Windows 8.
Pertanto, credo che ci siano più competenze javascript. Dipende da cosa vuoi iniziare, ma ti assicuro che ognuna di quelle 4 voci sopra menzionate ti darà una sfida diversa - ok, forse i campi della finestra 8 e del phonegap potrebbero essere simili ma il resto è diverso -.
Se stiamo parlando dell'ambiente del browser, apprendere come dovrebbe essere organizzata quasi ogni applicazione Web potrebbe essere uno dei percorsi che potresti seguire. Sto seguendo questa strada e sto sperimentando le mie idee, controllando i repository git delle librerie di organizzazione del codice popolari come dojo, backbone, ember ecc.
Se stiamo parlando dell'ambiente del nodo js, questa è una storia diversa. Non ci occupiamo di minimizzazione e dimensioni del file. Creando intere applicazioni nel nodo, costruendo sistemi, siti, API REST, ci sono molte cose da scoprire lì.
Se stiamo parlando del mondo mobile, mi viene in mente l'ottimizzazione eccessiva. Le proprietà accelerate CSS3, le animazioni, gli eventi tattili e il tentativo di utilizzare la stessa architettura del Web con componenti dell'interfaccia utente più specializzati sono ottimi punti di partenza.
Tutto sommato, come altri hanno risposto, sperimentare il proprio codice e il codice degli altri è il modo migliore per essere coinvolti, tenere il passo con le novità e, chissà, magari inventarsi la prossima grande novità.
Un'altra cosa che aiuta è lavorare in un team e comprendere le differenze tra il tuo modo e il modo in cui il team scrive il codice. Lavorare in un team di sviluppatori javascript ti costringerà a scrivere codice migliore e documentarlo bene. Penso che non ci sia modo migliore di imparare l'architettura di un'applicazione che scrivere un wiki su ciò che si intende implementare o che si è già implementato.