But for an amateur programmer, how can train to become a good programmer?
Diventi migliore imparando, il che è parte del processo, parte che riflette su ciò che è stato fatto.
Quindi, fondamentalmente, non c'è differenza tra hobbista e professionista, ma le "insidie" sono leggermente diverse.
Le trappole amatoriali sono, imho
-
la necessità di completare il tuo progetto, a prescindere da cosa, non è così strong quando non sei professionista . Questa può essere una buona cosa, perché non si ottiene ciò che è abituato a tagliare gli angoli quando si tratta di qualità, ma la rifinitura (del tutto, in tempo è ancora meglio) è un'abilità molto importante, che è più difficile da addestrare come un dilettante, perché è facile lasciare morire un progetto e avviarne un altro.
-
la necessità di comunicare bene non è così strong. In un progetto professionale, c'è un strong incentivo a capire davvero i clienti, anche se sono completamente incapaci di formare un solo coerente frase di ciò che il problema è che vogliono che tu risolva. Se li fraintendi, o (il solito caso) non ti accorgi, che non parlano di qualcosa che devi capire, prima o poi diventerà il tuo problema. Un progetto amatoriale può facilmente perdere tutti i potenziali utenti, a causa della mancata risoluzione dei loro problemi, ed essere "finito" in modo tecnico.
Le insidie professionali sono
-
spesso ci sono poche motivazioni per migliorare . Sei lì 40 ore / settimana, non importa se trovi la cura per il cancro o semplicemente bevi il caffè in un modo che sembri produttivo. L'apprendimento è qualcosa che fai principalmente per te stesso, e spesso, se cerchi di applicare le cose che hai imparato, ci sono forze che lavorano contro questo (pensiero di gruppo conservatore, gerarchie, persino gli styleguides possono essere usati come armi contro i miglioramenti). Ci vuole un sacco di amore per la professione non solo per smettere, incidere le tue ore e cercare scopi alternativi nella vita.
-
spesso c'è poco da imparare da . Sì, si può provare a prendere tutto come una sfida, ma dobbiamo essere onesti: dopo 1 anno del codice Spaghetti non ti è permesso di refactoring ("lo stai complicando!") In una lingua hai più anni di esperienza in quanto probabilmente durerà, l'unica cosa che si impara è costruire una tolleranza contro la frustrazione e la politica aziendale.
If you play music, or singing, you can play it for interest, you can
still become a good singer or music player, but not need to
become a professional singer, or do singing for living.
Ovviamente non è necessario, ma quanti musicisti potrebbero rifiutare l'opportunità di lasciare il loro lavoro e guadagnare con la loro musica?
In IT, queste opportunità sono un po 'più probabili che in Musica, quindi penso, non è che sia impossibile diventare famosi dilettanti, ma spesso i dilettanti fanno della loro passione il loro lavoro (con problemi simili che i musicisti hanno quando devono capire la loro linea tra commercio e arte)