Guida questo web developer autodidatta [duplicato]

1

Uno dei principali rimpianti nella vita è che non ho fatto qualcosa con la mia introversione. Per questo non sono riuscito a superare il primo anno di college. Ho scelto il percorso in cui non ci sono videogiochi e altri sink temporali, tutto quello che ho è internet per placare la mia sete di apprendere i dettagli del campo di sviluppo / progettazione web. Attualmente, sto frequentando un corso di Web Design Associate presso una delle migliori Arti grafiche e questo è l'ultimo mese della lezione.

Anche se sono ancora un alberello, amo così tanto questo campo. Quindi, fondamentalmente, a scuola sto imparando il web design mentre a casa mi sto insegnando a sviluppare il web.

Per prima cosa, tornare al college sembra impossibile al momento a causa di alcuni problemi finanziari.

Sono piuttosto a mio agio con CSS e HTML e al momento sono in PHP / MySQL. Potresti fornirci un curriculum per lo sviluppo web da seguire. E ho bisogno di conoscere le teorie dietro?

E penso di essere ancora giovane (ho 18 anni al momento di scrivere). È una cosa buona o cattiva per aver scelto questo percorso? Sono contento della mia decisione, ma in tutta onestà, mi preoccupo del mio futuro e del mio lavoro perché sono un undergrad , proveniente da un paese in cui le aziende sono laureate, mi rattrista così.

Grazie.

(Le mie domande sono le parti in grassetto.)

    
posta gnat 06.03.2011 - 11:41
fonte

6 risposte

5

Mi domando la saggezza di chiedere ai programmatori consigli sulla vita :) ma con l'avvertenza che la strada di ognuno è lasciata a se stessi, ecco i miei piccoli pensieri:

  1. Se le finanze sono strette, imparare abbastanza per fare soldi non sarebbe un cattivo punto di partenza. Vedo dozzine di richieste di programmatori PHP / MySQL quotidianamente, e anche se non immaginerei di gradire nessuna di quelle posizioni per molto tempo, potrebbero essere solo il trampolino di lancio per guadagnare soldi mentre si impara a programmare. Se vuoi seguire questa rotta, ti suggerisco di iniziare dal Manuale di sicurezza PHP . (Principalmente perché troppi programmatori PHP non imparano mai come evitare problemi di scripting cross-site o Iniezione SQL attacchi.Puoi scrivere codice cattivo in qualsiasi lingua, ma PHP sembra essere un paradiso per programmi cattivi.)

  2. Imparare Ruby on Rails ti consente di creare siti Web sofisticati rapidamente, ma per iniziare richiede un po 'più di disciplina rispetto alla codifica PHP. L'apprendimento delle ragioni per la disciplina può richiedere anni :), ma la versione breve è "un'oncia di prevenzione contro un chilo di ripulitura dopo codice errato". La solita introduzione è Pragmatic Programmers Sviluppo web agile con Ruby on Rails . (L'URL è per la versione beta del prossimo libro, che dovrebbe essere presto disponibile. Ancora un ottimo punto di partenza.)

  3. Poiché gran parte del web design è usabilità, leggibilità e le seguenti convenzioni, consiglio vivamente di leggere A List Apart .

Per quanto riguarda cosa fare in realtà, ti consiglio di creare un sito web che ti interessi . Se ami la pesca, metti insieme un sito web per accettare post dai compagni di pesca sui loro luoghi preferiti di pesca, e guarda in che cosa è necessario per aggiungere l'integrazione con Google Maps, aggiungere un database di pesci e così via. Se sei davvero in matematica, prova a costruire una calcolatrice. Continua ad aggiungere funzionalità. Scegli qualcosa che pensi di poter lavorare fino alle prime ore del mattino per settimane. (Io? Addicted to rispondere a domande su StackOverflow? Mai!) Mostra amici, chiedi suggerimenti e prova a seguirli. Guarda cosa puoi fare. :)

Penso che essere dotato di abilità faccia una grande differenza; potrebbe non essere pericoloso provare a risolvere problemi con link con diverse lingue. Crea un dado per decidere tra Python, Ruby, C, C ++, PHP, Erlang, Java, C #, JavaScript, qualunque cosa ti sembra interessante.

    
risposta data 06.03.2011 - 11:58
fonte
1

Sfortunatamente la nicchia dei "corsi online" è piuttosto affollata di bufale, spammer e frodi. Non consiglierei veramente nessuno di loro. Detto questo, il modo migliore per imparare è con l'esempio. Se hai deciso di concentrarti su PHP, ci sono letteralmente centinaia di applicazioni che forniscono codice sorgente, come MediaWiki (che alimenta Wikipedia), PHPNuke, Joomla, Drupal ... Voglio dire, c'è così tanto là fuori. Ti consiglio di prenderne uno e di studiarlo da cima a fondo per capire come le persone con esperienza in quella piattaforma scrivono software. Solo questo, oltre alla tua formazione formale di design sarà un buon punto di partenza.

Se veramente vuoi prendere sul serio lo sviluppo del software puoi sempre usare il MIT OpenCourseware sito. Queste sono conferenze e compiti che puoi svolgere gratuitamente online e forniscono una buona introduzione all'informatica in generale.

Buona fortuna!

    
risposta data 06.03.2011 - 11:51
fonte
1

Per quanto riguarda web- design , suggerirei di tenere gli occhi aperti su Internet e vedere come gli altri progettisti fanno cose. Un'ottima fonte di informazioni sul design è Smashing Magazine . Tuttavia, quel sito Web ti porterà solo lontano e potresti rimanere bloccato cercando di fare le cose che ti mostrano. Quindi, come ho detto, basta tenere gli occhi aperti e vedere cosa fanno gli altri designer, quindi provare a progettare siti Web originali da soli. I miei insegnanti mi dicevano di progettare i siti Web più pazzi che potessi pensare, ad esempio una volta mi è stato detto di progettare un sito Web sugli elefanti, solo per essere ispirato e lavorare sulla mia creatività.

Per quanto riguarda lo sviluppo, ti suggerisco di scavare più in profondità in PHP se è quello che ti interessa. Se sei autodidatta, potresti aver perso alcuni elementi chiave della lingua, ma ovviamente non so come ti sei insegnato. Ci sono un paio di libri che suggerirei:

PHP Object, Patterns and Practice, Second Edition mi ha insegnato molto sulla programmazione PHP orientata agli oggetti e va ben oltre le basi. Se hai tempo, dovresti assolutamente dargli una lettura.

PHP in Action si concentra anche su OO ma va oltre e introduce concetti come refactoring e testing.

La documentazione link è anche un'ottima risorsa per capire le cose da soli, ma fai attenzione agli esempi di codice. Alcuni di questi sono semplicemente sbagliati.

Puoi anche controllare il framework CodeIgniter una volta che avrai familiarizzato con PHP.

Se non vuoi aderire a PHP, ti suggerisco di dare un'occhiata a Ruby on Rails; Ho iniziato da poco che anch'io provengo da un background PHP e trovo che sia un framework molto potente. Il tutorial di Ruby on Rails è un buon modo per iniziare poiché ti guiderà attraverso le nozioni di base. Tuttavia, vorrei suggerire un libro come Agile Web Development with Rails se sei serio sull'apprendimento di RoR.

Buona fortuna!

(dovevo inserire i collegamenti nel mio testo perché non sono autorizzato a collegare più di 2: ()

    
risposta data 06.03.2011 - 11:56
fonte
0

Ero nella tua posizione solo 3 anni fa. Ora sviluppo un'applicazione web basata su J2EE utilizzando Spring e Hibernate per un'azienda con sede a Londra. Dato che lavoro su Java da 3 anni, i miei suggerimenti saranno solo su Java e penso che si possa scommettere su Java (il linguaggio di programmazione più usato in questo pianeta). I miei suggerimenti sono:

  1. Cerca di imparare almeno un linguaggio basato su JVM (potrebbe essere Java, Scala, Groovy).
  2. Prova ad apprendere almeno un framework web (Spring, Struts, ecc.)
  3. Impara MySQL (se possibile Hibernate - Strumento di mappatura relazionale degli oggetti)

Questo è abbastanza per farti un lavoro. Una volta ottenuto un lavoro, prova ad apprendere almeno una nuova lingua ogni anno. Potrebbe essere qualsiasi lingua.

    
risposta data 06.03.2011 - 21:00
fonte
0

Per prima cosa, vorrei raccomandarti per il coraggio e il coraggio di chiedere un consiglio, non è sempre facile da fare.

Come un altro programmatore autodidatta, sono stato dove sei ora, conosco alcune cose, ho fatto alcune cose.

Penso che ci siano alcuni suggerimenti che vorrei trasmettere.

  1. Non smettere mai di imparare e presumere che tu sappia tutto ciò che è necessario sapere. Non c'è mai un punto nella tua carriera, in cui puoi accontentarti di fare solo quello che sai, e conoscere e imparare di più. Perché quando accade la tua carriera morirà.

  2. Leggi e pratica, più leggi e poi esercitati su ciò che leggi, meglio sarà. Probabilmente la mia più grande chiave è stata la creazione di molti siti che mi hanno costretto a imparare o autodistruggersi.

  3. Ci vuole un sacco di autodisciplina per essere un grande programmatore, perché ci vuole più del talento o dell'abilità per diventare bravi. Da come lavorare con il controllo del codice sorgente, quale tipo di best practice ha senso o non ha senso per il tuo attuale ambiente di lavoro. Come distribuire il codice da dev in produzione. Come gestire e gestire un buon ambiente di sviluppo. Come diventare più di un codificatore di cowboy.

  4. La pianificazione è un enorme must per qualsiasi buon programmatore professionista, prima di avere qualsiasi codice o lavoro di progettazione fatto, assicurarsi di avere un piano chiaramente scritto, che soddisfi gli obiettivi o obiettivi che si sta cercando di soddisfare, sia sono tuoi o di qualcun altro. Visto così tanta gente e molte aziende sprecano tempo e denaro a causa della mancanza di pianificazione e di un pensiero chiaro e senza capacità decisionali. Pianifica la tua giornata, pianifica il tuo lavoro, assicurati che tutto sia pensato come vuoi che il risultato appaia.

  5. Supponi sempre che qualcun altro abbia letto il tuo codice e pensi che sia un pezzo di merda. Questo è qualcosa nel nostro DNA, pensiamo sempre che il codice degli altri sia schifo :) Quindi supponete sempre che non si stia solo programmando da soli, ma per il futuro programmatore che deve correggere o aggiornare o modificare il codice.

  6. Cancella il codice scritto e logicamente facile da capire vale il suo peso in oro. Come indentate, avete tutto in maiuscolo o in minuscolo o in maiuscolo. Qualunque sia la lingua che usi, stai usando gli stili di codifica standard? Le altre persone nel tuo skillset possono capire cosa hai fatto e perché?

  7. Cosa succede se muori o vai da qualche altra parte? Il tuo codice è comprensibile e ben concepito in modo che se qualcun altro dovesse modificarlo, non sarebbe troppo difficile?

  8. Fai a breve termine, pensa a lungo termine. Sì, abbiamo tutto il nostro lavoro quotidiano che dobbiamo fare, pagare le bollette, ma dobbiamo anche pensare a lungo termine a: Formazione, Code Performance / Scalabilità, Design, Standard di codifica, Stili di codifica, Framework di codifica.

Essere un programmatore è un mestiere, come essere un fabbro è un mestiere.

E c'è molto di più da padroneggiare oltre a fare solo scarpe da cavallo, sono tutte le altre cose sotto la punta dell'iceberg, che possono ucciderti, se non lo padroneggi.

Buona fortuna!

    
risposta data 07.03.2011 - 20:00
fonte
0

Andrew Grove aveva un buon motto che sembra seguire: "Solo il paranoico sopravvive".

Verifica se ci sono diversi gruppi vicino a te che accolgono i web designer o gli sviluppatori web. Conosco alcuni gruppi Meetup a Calgary che sarebbero un altro modo per creare connessioni e possibilmente trovare un mentore. Un simile approccio potrebbe essere utilizzato anche nei college vicini. Questo sarebbe anche un modo per ottenere alcune idee da altri sviluppatori all'interno della tua esperienza desiderata.

    
risposta data 07.03.2011 - 20:18
fonte

Leggi altre domande sui tag