Sono stato nella tua stessa posizione, e ho scelto la strada del "college vite" di cui parli. Ho amato lo sviluppo del software, un hobby C ++ in cima ad un corso di programmazione HS di base e sogni. Ora sono uno sviluppatore professionista, quindi ti darò la mia esperienza.
Dopo essere andato al college per 1 anno (avevo una borsa di studio completa per il teatro tecnico), ho capito che mi piaceva il software più che la costruzione di set.
Anno 1- Ho iniziato la mia "cosa personale" che consisteva nel supporto desktop per pagare l'affitto e lo sviluppo. Sviluppando qualsiasi cosa potessi fare, per chiunque lo desiderasse, a una frazione del prezzo. Guardando indietro probabilmente stavo facendo $ 20.000 per $ 1.000. Iniziare da soli fa davvero schifo perché anche se hai avuto l'esperienza di sapere che si tratta di un'app da $ 20.000, non hai la credibilità per richiederla. E, peggio di tutto, non ho idea di cosa non conosca e nessun altro sviluppatore intorno a me. Ho creato applicazioni che erano incubi di manutenzione. Non avevo abilità in architettura o modelli di progettazione, quindi fondamentalmente ho fatto cose che sono esplose e fatto supporto di rete per pagare le bollette. Un sacco di Taco Bell, mescolato con "beh, almeno non sto lavorando per l'uomo". Ho dei sogni di app da scrivere e uscire nel mondo,
Anno 2 : diventare uno sviluppatore leggermente migliore imparando cosa non fare e guardando le cose esplodere in faccia. Passare a malapena sul supporto desktop, sui server di apprendimento e sulla creazione di siti Web. Deve essere più semplice di questo lavoro per l'uomo, ma non ho un portafoglio reale, quindi, continua.
Anno 3- Iniziare a capire come funziona. Quando premo File> Nuovo progetto, ho una vaga idea di dove voglio andare e come costruire le cose. Sempre scegliendo le architetture sbagliate, i servizi web sembrano piuttosto interessanti, quindi perché non costruire TUTTO con quelli? Hai bisogno di un'app desktop per calcolatrice? Costruirò un servizio web! Iniziando a raccogliere alcuni clienti e ad essere il ragazzo IT e alcuni progetti software lungo la strada. Una cosa che ho fatto è stata creare un servizio di backup offsite utilizzando i servizi Web, quindi il mio sogno era di essere un "Mozy" mentre tutti scambiavano ancora nastri. La banda larga stava diventando un luogo comune, quindi ero davanti alla curva e questa sarebbe stata la mia idea da un milione di dollari. Ma il servizio ha avuto problemi (a causa della mia mancanza di abilità nell'architettura),
Anno 4 - Infine, un cliente crede in me per un progetto a lungo termine. Riesco a farlo senza sbagliare male; il codice non è eccezionale ma funziona. Cominciando a farmi prendere dalle bollette, riesco a lavorare con alcuni altri sviluppatori (fingilo finché non ce la fai, giusto?) E anche rispondendo ad alcune domande di scambio di esperti. O si.
Anno 5 - Se non lo avevi notato ormai, quei sogni nell'anno 1 non sono ancora scritti, quindi sta iniziando a diventare un po 'deprimente. Ho un discreto portfolio di cose che ho scritto con successo, ho avuto un discreto slancio e una rispettabile base di clienti. Ancora non so davvero cosa non conosco e pareggio.
Anni 5 - 8 - Li combinerò poiché è più o meno lo stesso di "fai un progetto, impara un po 'su ciascuno, porta quell'esperienza al prossimo". Oggi è verso la metà dell'anno 8, ed è solo nell'ultimo o due anni che sono diventato un buon sviluppatore. Quei sogni nell'anno 1 sono già stati inventati molte volte da qualcun altro. Nel caso in cui non avessi indovinato, non ho creato Mozy.
Lungo la strada ho avuto nuovi sogni e nuove idee, e alcuni sono stati buoni, altri sono stati orribili. Ora ho le capacità per farli accadere, e alcuni di loro stanno accadendo, ed è eccitante. Tuttavia, ho la sensazione che se avessi fatto le cose diversamente avrei potuto abbreviare un po 'questo viaggio.
Non posso parlare di come diversamente il college cambi questo viaggio; Lo lascerò ad altri su questo thread. Ma i consigli che darò:
- Devi lavorare con altri sviluppatori. Non mi rendevo conto di quanto fosse importante. Non sai cosa non sai fino a quando non guardi il codice di qualcun altro o ottieni un'orribile recensione del codice.
- Fallire prima di avere importanti responsabilità. Se vuoi davvero uscire da solo, prova a farlo prima di sposarti, avere un pagamento della casa, figli, ecc. Fallirai e fallirai molte volte. Abituati e valorizzalo perché è la migliore esperienza di sempre. Ma quando la tua app killer su cui hai appena speso tutto il tuo tempo e denaro non ha un solo cliente, è molto più facile recuperare quando sei solo tu.
- Non c'è assolutamente nulla di sbagliato nel bootstrap. Se hai competenze di rete, vai a lavorare in un Network Operations Center o in un helpdesk (qualcosa all'interno del regno dell'IT) e lavora per diventare uno sviluppatore migliore fuori orario e nei fine settimana. Crea connessioni con persone che svolgono lavori reali. Ne avrai bisogno in seguito.
- Assicurati al 125% di AMARE lo sviluppo del software. La passione per il software viene prima della parte "milionaria", non viceversa. Se non hai una passione per questo, o il tuo cuore non inizia a battere un po 'più veloce quando colpisci Nuovo Progetto, vai a fare qualcos'altro e tienilo come un hobby.
Sono sicuro che potrei continuare, ma la cosa divertente è che ho visto questa domanda mentre lavoravo su uno di quei sogni e ho dovuto rispondere a questo. :) In bocca al lupo.