2010-03-02 1 views
8

La quantità di linguaggi di programmazione disponibili è sia una benedizione che una maledizione, credo. Conosco un sacco di linguaggi di programmazione già, alcuni a sintassi solo livello e un po 'abbastanza buono per fare effettivo di codifica (Python, C, C++, Haskell, Perl, Bash, PHP, e un sacco di altri). Ho programmato per quasi tutto il tempo che ho usato intensamente i computer (6 anni), in quasi tutti i paradigmi (funzionale, imperativo, orientato agli oggetti), ma non mi sento preparato per l'industria del software.Come essere preparati per l'industria?

Ho scritto un sacco di programmi più grandi in molte lingue diverse, per lo più basate sulla rete, compresi grandi server/client multithreaded, e ancora non mi sento preparato!

Attualmente sono ossessionato dal mio piano "3 livelli", che include un linguaggio di alto livello come Haskell, un linguaggio interpretato come Python e un linguaggio di basso livello come C, ma non mi sento abbastanza bene!

So come lavorare in team, e come lavorare insieme dato le linee guida, ma io sono sicuro.

Am ho preparato?
Per favore, persone gentili di stackoverflow, aiutami a uscire da questo casino! :(


Grazie per tutte le risposte, vorrei poter scegliere più risposte come IL risposta :)

+12

Basta prendere un Valium e andare avanti con la tua vita. Se hai lavorato con Haskell, probabilmente sei più avanzato di molti programmatori che conosco. – ChaosPandion

+2

Hai un "piano a tre livelli"? Alcune persone usano VB6 da anni e fanno pacchetti di denaro. Perché non vieni a lavorare con me? – ChaosPandion

+1

dove vivi, e quale parte del settore del software cosa vuoi lavorare? –

risposta

12

Sembra che tu conosca un sacco di cose sulla programmazione, ma non parli di altro. Essere uno sviluppatore di software richiede più della semplice programmazione come abilità tecnica. Rispolverare argomenti come controllo del codice sorgente, test unitario/sviluppo basato sui test, integrazione continua, ecc. Speriamo che finisca in un lavoro in cui almeno uno di questi è in uso. Cerca di imparare quanti più risparmiatori di tempo puoi usare con i tuoi strumenti; cercare di diventare il più flessibile ed efficiente possibile con il tuo IDE.

Altrove, non dimenticare di sviluppare le abilità più personali; atteggiamento e etica del lavoro, e più legati al tuo campo, questioni come la necessità di suscitare requisiti, la documentazione di problemi e la descrizione di problemi e soluzioni. Non preoccuparti troppo di questi se stai andando di nuovo, perché non ci si aspetta che tu abbia una grande conoscenza di loro, ma se sei almeno consapevole di loro e stai cercando di migliorare, allora hai una maggiore possibilità di farlo.

Provate a valutare te stesso di questioni generali del software di sviluppo che non sono la codifica direttamente, se non l'hai già - atteggiamenti generali per lo sviluppo orientato alla sicurezza (e test), un buon design e migliori pratiche simili.

Non sudare troppo per essere perfetto sin da subito. Se non hai margini di miglioramento, non ti godrai molto la tua carriera e bruciarti come programmatore non è molto divertente.

1

La cosa più importante che posso pensare di avere successo nel settore è quello di essere in grado di rispondere in modo rapido ed efficiente ai cambiamenti.

0

L'unico modo per sapere con certezza se sei preparato è provare. A volte essere gettati nella parte profonda aiuta davvero e scoprirai che impari di più in quel primo vero lavoro del mondo di quello che hai fatto in tutti i libri/ecc. Che hai letto negli anni precedenti. Inoltre, conoscere più lingue ti aiuta a capire la semantica sottostante della programmazione in generale, ma in un vero lavoro probabilmente ti atterrai a una o due lingue giorno per giorno, quindi non rimanere impigliato nel conoscere ogni lingua là fuori.

È meglio provare & fallire che passare la vita a chiedersi se sei pronto.

2

Lo sai abbastanza: c'è una soglia minima di conoscenza richiesta nel settore (che è superiore a quella di alcuni sviluppatori), ma sembra che tu sia già lì.

Per chiunque abbia l'attitudine, nuovi linguaggi di programmazione, tecniche, ecc. Sono facili da imparare. Una buona compagnia per cui lavorerai ti assumerà in base alle tue abilità, non alla conoscenza (che può andare stantia molto velocemente).

Se si vuole distinguersi come sviluppatore software, assicurarsi di avere roccia solida capacità di comunicazione per i report, e-mail, telefono, riunioni, ecc Questo è un dono raro nel campo del software, e anche se non è necessario più prezioso ai livelli junior, si ripaga a lungo termine.

1

Recentemente ho fatto un test di programmazione che ho ritenuto un test valido ed equo. L'ho passato senza un grande sforzo. Mi è stato detto che il 50% delle persone (queste sono tutte le persone con programmatore sul curriculum) non sanno nemmeno da dove cominciare. Molto probabilmente la tua serietà e il tuo desiderio ti metteranno nella terza posizione nella maggior parte dei posti per cominciare.

+1

Oh yeah! La maggior parte degli "sviluppatori di software" non si cura. , sarà difficile rimanere fuori dal 10% più alto. Sfortunatamente, la competenza non è ciò che ottiene le interviste rilasciate. –

+0

Ho assegnato incarichi a persone che presumibilmente hanno 5 anni di esperienza e non possono ottenere nulla da compilare. – rerun

-1

Vai a dadi o mostro o qualunque sia il tuo sito di lavoro preferito e vedere ciò che le persone stanno cercando. Non è Haskell, è C++. Impara bene e sei pronto per partire. Una volta che sei fuori nel mondo reale, imparerai abbastanza velocemente le cose che sono importanti. Queste sono principalmente le abilità morbide che la scuola non ti insegna. Cose come il modo di andare d'accordo con l'all'oscuro, come presentare le vostre idee in modo faranno effettivamente essere considerati, e come vedere la foresta, anche se sei bloccato sotto una roccia.

+1

Sono quasi sicuro che se conoscesse Haskell, ogni altra lingua dovrebbe solo dargli un weekend per imparare .. – Earlz

+0

La domanda era di essere pronti per l'industria. Conoscendo un linguaggio di programmazione che non è T ampiamente usato nell'industria, non importa quanto sia difficile, non ti farà superare gli screeners nelle risorse umane. – jfawcett

1

lingue Knowning non è tutto si può fare.

Se è possibile, un tirocinio/tirocinio farà miracoli. Chiunque può programmare. L'esperienza del mondo reale ti insegnerà più di qualsiasi tutorial, autoapprendimento o istruzione scolastica.

Naturalmente, ottenere uno stage richiede un po 'di esperienza, quindi è molto interessante.

Se non è possibile partecipare a uno stage, è necessario partecipare a un progetto open source. Scoprirai che imparerai carichi lavorando con persone più intelligenti di te.

1

La vera conoscenza esiste nel sapere che non si sa nulla.

Socrate un tizio intelligente

Penso che questo è abbastanza comune tra gli sviluppatori. Imo è un modo migliore per firmare se sei arrivato alla conclusione che eri completamente allenato.

+0

"La vera conoscenza è sapere quello che non sai." -- Confucio. (Penso sia giusto, ma non ne sono completamente sicuro.) –

+0

Potrebbe essere, non sono sicuro al 100% ma le fonti che ho trovato hanno detto Sokrates. Ma chi ha mai detto è vero. – anddoutoi