Mi sto laureando in Informatica ma non mi sento in grado di programmare


1050

Mi sto laureando in Informatica, ma vedo siti web come Stack Overflow e motori di ricerca come Google e non so dove avrei nemmeno iniziato a scrivere qualcosa del genere. Durante un'estate ho avuto l'opportunità di lavorare come sviluppatore di iPhone, ma mi sentivo come se stessi per lo più incollando librerie che altre persone avevano scritto con poca comprensione dei meccanismi che accadono sotto il cofano.

Sto cercando di migliorare le mie conoscenze studiando algoritmi, ma è un processo lungo e doloroso. Trovo che gli algoritmi siano difficili e alla velocità che sto imparando sarà passato un decennio prima che padroneggerò il materiale nel libro. Data la mia situazione attuale, ho trascorso un mese in cerca di lavoro, ma le mie competenze (C, Python, Objective-C) sono relativamente superficiali e non sono così desiderabili nel mercato locale, dove C #, Java e lo sviluppo web sono molto più alti richiesto. Questo non vuol dire che le opportunità di C e Python non esistono ma tendono a richiedere più di 3 anni di esperienza che non ho. Il mio GPA è OK (3.0) ma non è abbastanza alto per essere applicato alle grandi aziende come IBM o tornare per studi universitari.

Fondamentalmente mi sto laureando in Informatica, ma non mi sento di aver imparato a programmare. Pensavo che entrare a far parte di un'azienda e programmare a tempo pieno mi avrebbe dato la possibilità di sviluppare le mie capacità e imparare da quelli più esperti di me, ma sto lottando per trovare lavoro e sto iniziando a sentirmi davvero frustrato.

Ho intenzione di allargare la mia rete e guardare oltre la città in cui sono cresciuto, ma cosa hanno provato a fare altre persone in situazioni simili? Ho lavorato sodo ma non ho la sicurezza di uscire da solo e scrivere la mia app. (Cioè, diventa uno sviluppatore indipendente nel mercato delle app per iPhone.) Se non succede nulla, dovrò prendere in considerazione l'aggiornamento e l'apprendimento di abilità più popolari o provare qualcosa di marginalmente correlato come l'IT, ma dato tutto lo sforzo che ho fatto come farti uscire.

Risposte:


533

Il modo migliore per imparare a programmare è scrivere programmi.

Due suggerimenti:

  • sviluppare un gioco
  • sviluppare un sito web

Gli algoritmi, sebbene utili e dovrebbero essere compresi, in realtà giocano il secondo violino nella progettazione del software. TDD / Design Patterns / Architecture / Refactoring / Unit Testing / Il processo di messa insieme del codice / etc tende ad essere abilità molto più importanti.

Inoltre, molto meglio farlo nel tuo tempo libero. Non aspettare per elaborare queste cose sul lavoro. Trovo che le persone che tendono a fare meglio sono quelle che all'inizio della loro carriera si sforzano di sviluppare le proprie capacità nel proprio tempo. Di solito perché sono sinceramente appassionati di sviluppo software

  • Un'altra cosa è " Leggere libri e campioni " e non vergognarsi di chiedere. Se vuoi imparare dovresti chiedere :)

70
+1 concordato. E se non VUOI fare queste cose nel tuo tempo libero, questo potrebbe non essere il miglior percorso di carriera per te. Se metti insieme le cose ora, puoi creare un portafoglio che può integrare il tuo GPA.
Chris,

68
@Chris, -1. È come dire che un avvocato che non lavora in modo pro bono per gli indigenti nel suo tempo libero ha una carriera sbagliata. Molti programmatori che conosco farebbero meglio a dedicare meno tempo alla programmazione e più tempo a fare qualsiasi altra cosa.

21
in realtà un sacco di avvocati quando si tagliano i denti, vengono pagati male e impiegano molte ore extra solo per andare avanti.

22
Non puoi davvero confrontare un lavoro di avvocato con un lavoro di programmatore. Con la programmazione puoi acquisire abilità da solo; non hai bisogno di alcun datore di lavoro o clienti per migliorare quella parte.

31
Davvero, devi smettere di pensare che la programmazione sia speciale. Gli avvocati possono lavorare / imparare da soli proprio come possiamo noi. Possono iniziare con lavori a basso costo e lavorare per lunghe ore, ma così fanno molti programmatori ... la linea "se non si programma come hobby non si dovrebbe essere un programmatore" è davvero molto soggettiva.

388

Mi sentivo come se stessi incollando principalmente biblioteche che altre persone avevano scritto

Mentre capisco perché ritieni che questa non sia una "vera programmazione", la verità è che il lavoro di integrazione costituisce una percentuale significativa del carico di lavoro tipico di un programmatore aziendale. La tua esperienza potrebbe essere un po 'più preziosa di quanto pensi :)


126
+1 per colla. Nessuno assumerebbe un gruppo di professionisti per costruire una nuova casa e si aspettano che inventino nuove tecniche nella costruzione di case nel processo. In effetti, chiunque sia interessato a gestire il rischio e il budget probabilmente preferirebbe non farlo.
Dan Bryant,

14
Sono d'accordo che ci sono alcuni casi limite là fuori, ma direi che il 75-80% dei lavori di programmazione là fuori sono del tipo in cui si stanno semplicemente incollando le librerie insieme.

15
E non c'è nulla di sbagliato nel solo incollare insieme le biblioteche. Questo è ciò che ti rende produttivo!

10
Sicuramente il 90% del mio lavoro consiste nel collegare il codice di altre persone (librerie o codice legacy) o nel mantenere il codice più vecchio. Ma passo il mio tempo extra ad imparare pezzi mentre procedo, così ora so come funzionano molte di quelle biblioteche e ho una comprensione molto più profonda di ciò che accade sotto il cofano in generale. Sii uno studente a vita e alla fine lo raccoglierai.
CodexArcanum,

53
Quando non collaudo librerie, di solito creo librerie che successivamente incollerò insieme.

238

Innanzitutto, grazie per una domanda immensamente onesta. Esistono diversi modi per affrontare i problemi in questione. Ecco alcuni suggerimenti, che in passato ho ritenuto molto utili per me e che continuo ad usarli per ampliare le mie conoscenze.

  1. Impara, impara e impara ancora. Questo è probabilmente il consiglio più importante che posso darti. Non smettere mai di imparare . Conoscere una lingua è buono, conoscere più è ancora meglio. La conoscenza di altre lingue ti renderà un programmatore migliore e ti consentirà di affrontare più facilmente determinati compiti e ti aiuterà a conoscere meglio le strutture di dati comuni.

  2. Inizia in piccolo .

  3. Inizia un progetto hobby nel tuo tempo libero. Non fare qualcosa che puoi realizzare abbastanza facilmente. Affronta un progetto in cui non hai idea da dove cominciare. Lanciati nel profondo. I vantaggi di questo è che imparerai cose che non sapevi esistessero e quando lo completerai, sentirai un immenso orgoglio e soddisfazione. Questo è ciò che mi fa andare avanti.

  4. Abbi una vera passione per quello che fai. Anche se la gente non sarà d'accordo con me su questo. Non credo che tu possa eccellere in questo campo se lo consideri semplicemente un lavoro 9-5. Ci deve essere una passione per farlo.

  5. Aiuta altre persone su SO! Il modo migliore per capire è cercare di insegnarlo ad altre persone.

  6. Studia i programmi di altre persone e cerca di capire come funzionano, quindi implementa tecniche simili nei tuoi programmi. Prova a leggerlo e comprenderlo, quindi fallo da solo sulla base di quella comprensione, piuttosto che copiare e incollare.

  7. Continua a farlo . Le cose possono diventare molto frustranti a volte, ma molto gratificanti al termine. Se non capisci qualcosa, fai una pausa, cancella i tuoi pensieri e riprova. Chiedici a SO! Siamo un gruppo disponibile :)

  8. Non smettere mai di imparare nuove tecnologie.

  9. Leggi alcuni libri. Capisco che essendo uno studente, avresti fatto una tonnellata di letture. Ecco un paio di libri pratici che potresti trovare utili ... speriamo - Il programmatore pragmatico: da Journeyman a Master - Codice completo: un manuale pratico di costruzione del software


13
Aggiungi Clean Code ai tuoi elenchi da leggere, è abbastanza buono.

7
"Conoscere una lingua è buono" -> sbagliato. Conoscere una lingua non è abbastanza. Conoscere più lingue è buono, imparare ancora più lingue è ancora meglio.
Denilson Sá Maia,

10
"Inizia in piccolo" si riferisce non solo alla selezione di progetti accessibili, ma all'avvio dell'implementazione di parti realizzabili all'interno di un progetto. Un mio progetto è iniziato con un piccolo esperimento di parallasse, e io ho pensato "che sembra un campo stellare piuttosto interessante per lo sfondo di un gioco". Aggiungi una nave ... aggiungi un alieno ... aggiungi alcuni missili, il controllo della tastiera e il rilevamento delle collisioni (ogni semplice problema, da solo) uno alla volta e presto, ho avuto un gioco commerciale per cui ho venduto (quello in cui pensavo il tempo) un bel po 'di soldi. D'altra parte "scrivere un gioco" è un compito vago e inaccessibile. Un po 'alla volta.
mmc,

2
@Denilson OP ha dichiarato di non ritenere di saper programmare. Conoscere una lingua per qualcuno che non è sicuro della programmazione è buono. La mia lista è applicabile solo a questo contesto.

7
@Denilson, avresti potuto imparare più lingue senza prima imparare una lingua?
Péter Török,

141

Inizia un progetto personale. Il problema con la scuola è che la cosa più complicata che hai fatto è stato un progetto che ha richiesto da 15 settimane a un anno e ha coinvolto un paio di altre persone. Il dominio del problema era ben compreso (il tuo professore non ti ha assegnato compiti che non si adattavano perfettamente al tuo semestre). Questo non è un lusso che il mondo reale ti offre.

Se devi fare qualcosa di importante, dall'inizio alla fine, di cui puoi essere appassionato, il tuo cervello inizierà a concludere il processo. Finché questa è solo una carriera e non ne hai un amore, ti sentirai ancora come se non ce l'avessi ancora fatta.


Ho diviso i miei giorni tra 1) l'invio di curriculum 2) la lettura di libri, ma sembra che 2) potrebbe essere meglio speso scrivendo codice. Penso che molti datori di lavoro non vogliano assumersi il rischio di assumere qualcuno con pochissima esperienza nel settore in modo che il tirocinio che non ho svolto sembri davvero attraente in questo momento.

5
+1. Concordo completamente. Avvia una piccola app, quindi aggiungi funzionalità come vedi che la desideri. Mentre l'edificio va avanti e inizi a capire cos'altro si può fare, puoi aggiungerlo.

11
"Il dominio del problema era ben compreso (il tuo professore non ti ha assegnato compiti che non si adattavano perfettamente al tuo semestre.)" Questo è uno dei maggiori problemi con l'educazione informatica. Esistono alcuni programmi di ingegneria CS o software che risolvono questo problema, ma la maggior parte non ti fa pensare fuori dagli schemi. Devi davvero affrontare i tuoi progetti. Se non sai come è stato costruito Stackoverflow, prova a creare un clone da solo. Imparerai molto più di quanto qualsiasi classe possa insegnarti.
Matt Olenik,

ottima idea. Ma inizia con qualcosa di piccolo con funzioni di base e aggiungi lentamente ad esso. Sarà più motivante in questo modo che cercare di ottenere un'app perfetta e gigantesca. Penso anche che non troverai mai tante informazioni e tutorial come la ricchezza di informazioni nei libri
Xster

@Xster, ecco cosa intendo. Il compito di scrivere un'applicazione "domanda e risposta" con funzionalità di base è un buon punto di partenza.
Matt Olenik,

106
  1. Inizia su una di quelle lingue richieste, usando un progetto come dice K. Nicholas.
  2. Non misurarti con StackOverflow. Questo ti scoraggerà inutilmente.

81
+1 per il n. 2 : non confrontare te stesso e la conoscenza di una folla.
gf,

8
StakOverflow stesso è un prodotto virtuoso. Per non parlare, ci sono persone che contribuiscono con molti decenni di esperienza in una grande varietà di prodotti.

6
Non considererei una cosa negativa misurarsi con StackOverflow, ci sono molte persone intelligenti qui. Alcuni sono più intelligenti di quanto tu sia mai stato. Tuttavia quelle sono le persone che ti fanno venir voglia di continuare ad imparare.

15
Ehi, so perché sono dipendente da SO! È fantastico per una dozzina di motivi. Ma è umiliante essere continuamente esposto a tutte le cose che non conosci. Bisogna stare un po 'attenti a non sentirsi scoraggiati, tutto qui.

@Georg - Bel gravitar game-of-go. KGS Smandoli

72

Non posso aiutarti con la tua situazione lavorativa, ma spero di poterti aiutare a sviluppare le tue capacità e anche mettere in prospettiva i tuoi sentimenti sulle tue abilità.

Mi sto laureando in Informatica ma non mi sento in grado di programmare.

È possibile che i tuoi istruttori abbiano qualcosa di cui vergognarsi. È anche possibile che la tua sensazione di non sapere come programmare sia naturale e appropriata a questo stadio della tua vita e della tua istruzione. Ecco alcune idee che potrebbero aiutare:

  • A molti datori di lavoro non importa quali corsi siano presenti nella tua trascrizione o anche quale sia il tuo GPA. Invece vogliono sapere cosa puoi fare e soprattutto cosa hai costruito. Per un buon lavoro, ciò che hai costruito è più importante della tecnologia (C, C #, che cosa hai) sul tuo curriculum.

  • Se non hai avuto la possibilità di costruire una serie di progetti interessanti durante la tua istruzione, vergogna per i tuoi istruttori. Ma ora puoi costruire quei progetti. Scour siti web per problemi interessanti. I nostri studenti del secondo semestre stanno solo finendo la "Ricerca delle canzoni": abbiamo raccolto una grande quantità di testi per un sito web, hanno costruito un indice invertito, gli hai dato delle parole chiave e ti mostra i testi che contengono quelle parole, nel contesto. Non è Google ma è realizzato sugli stessi principi con strutture di dati simili e puoi iniziare a costruirlo ora.

Ho lavorato sodo ma non ho la sicurezza di uscire da solo e scrivere la mia app.

Forse non hai lavorato molto sui giusti tipi di problemi? È bello trovare problemi che

  • Sono a tempo indeterminato
  • Hai più di una buona soluzione
  • Hanno molte cattive soluzioni

Se affronti questo tipo di problemi, impari a fare delle scelte, a convivere con le conseguenze e, se le cose non funzionano, a tornare indietro e rivisitare le tue scelte. Imparerai più dai tuoi fallimenti che dai tuoi successi, ma otterrai più fiducia dai tuoi successi che dai tuoi fallimenti.

I buoni problemi - con proprietà come quelle che ho elencato sopra - sono come l'oro, tranne che se si ottiene un buon problema da qualcun altro, non perdono nulla. Perlustrare il web alla ricerca di buoni problemi e pratica, pratica, pratica. Se i problemi di Eulero sono dove devi iniziare, allora sono OK per i principianti. Ma presto vorrai realizzare progetti di piccole o medie dimensioni che ritieni davvero interessanti . Se sei entusiasta di qualcosa che hai costruito, questo impressionerà i potenziali datori di lavoro. Se non sei eccitato, è difficile assumerti.

Peter Norvig riferisce che ci vogliono dieci anni per diventare un esperto . Naturalmente non ti senti un esperto subito dopo aver conseguito la laurea. Ti farò conoscere un piccolo segreto: la maggior parte dei membri della facoltà di Harvard (ero uno da otto anni) si sente come se non appartenessero davvero ad Harvard, non lo sapessero abbastanza, e deve essere stato un errore che sono stati assunti. Questo tipo di sensazione è molto, molto comune per le persone che passano dalla scuola al posto di lavoro o da un tipo di lavoro a un altro. Così comune c'è un nome per questo: "la sindrome dell'impostore".

Anche se sei laureato, la tua università ti parlerà comunque. Se avevi dei professori davvero bravi, probabilmente si preoccuperebbero ancora di te. Certamente si preoccupano che uno dei loro studenti si sia laureato con una media B e tuttavia senta di non aver padroneggiato le competenze di base del suo mestiere. Quindi cerca uno o due dei professori più energici e comprensivi del tuo programma, e fatti aiutare a trovare buoni problemi. Poi mettere te stesso responsabile delle tue capacità, la tua conoscenza e le tue sensazioni su di loro. Costruisci un po 'di qualcosa ogni giorno e non sprecare il tuo prezioso tempo di costruzione su qualcosa che non è davvero bello. Alla fine, lo prometto, riacquisterai un senso di entusiasmo per la programmazione e, successivamente, sarai in grado di acquisire fiducia anche in te stesso.


Devo essere d'accordo Esci e dimostra ai tuoi potenziali datori di lavoro che SAPI C, Python, Objective-C e costruisci un'applicazione indipendente che fa qualcosa. Le persone spesso scelgono i giochi perché, a seconda del gioco, possono implicare una progettazione e un'implementazione impegnative e molte delle librerie in giro sono gratuite. Se realizzi un gioco per Windows, GDI / + o DirectX sono tutte
lib lib

La parte "La maggior parte dei membri della facoltà di Harvard (ero uno da otto anni) si sente come se non appartenessero davvero ad Harvard, non lo sapessero abbastanza e dev'essere stato un errore il fatto di essere stati assunti". di Dunning – Kruger effect =)

2
+1 per costruire qualcosa: ti distingue dalla massa, specialmente se è qualcosa di utile.

5
@Alex, non passare mai attraverso le risorse umane. Se sei fortunato, qualcuno che conosci conosce qualcuno dove vuoi lavorare.
Norman Ramsey,

1
Sai, ora che me lo dici è il modo in cui in genere ho trovato lavoro. Immagino che forse in futuro dovrei concentrarmi maggiormente sui lavori all'interno (o ai margini) della mia rete e risparmiarmi l'indignità degli scanner di parole chiave.

59

C'era una scena su un vecchio Law & Order in cui un procuratore distrettuale si lamenta di non aver imparato nulla su come fare il suo lavoro alla facoltà di legge, di non aver imparato nulla sul mondo reale. Il professore al quale si lamenta risponde: "È una scuola di legge, non una scuola di avvocato".

Lo stesso vale per l'informatica. Forse non hai imparato come contribuire immediatamente ad alcuni progetti che vedi online, ma probabilmente hai sviluppato le basi di cui hai bisogno per avere successo nel lungo periodo.

Innanzitutto, trova un lavoro, qualsiasi lavoro. Diventa autosufficiente. Soprattutto nell'attuale economia, non avrei mai criticato nessun candidato per lavorare in una libreria o qualsiasi altra cosa mentre cercavano un lavoro più appropriato. Ho domande per le persone che siedono in giro senza fare nulla.

Trova un progetto, qualsiasi progetto. Ci sono molti progetti applicabili su github.com per esempio.

La buona notizia è che molto prima di quanto pensi, a nessuno importa dove sei andato a scuola, quale fosse il tuo GPA o qualcosa del genere.

Tenere duro! Può essere difficile, ma un giorno sarai contento dell'esperienza.


8
Di recente abbiamo una discussione sul lavoro al riguardo. Pensi davvero che ottenere un lavoro indipendente dalla tua carriera possa aiutare il tuo CV? Se hai bisogno di raccogliere frutta per motivi finanziari, va bene, ma non credo che abbia un posto nel tuo CV se stai cercando di costruire una carriera come programmatore. Se non hai vincoli finanziari, è meglio partecipare a un progetto senza compensazione economica o cercare di creare la propria attività. Partecipare a progetti open source o qualcosa legato al campo, anche come tecnico sul campo è molto meglio secondo me.

1
@piotr - L'hai detto tu stesso - "Se non hai vincoli finanziari". Qualunque neolaureato avrà questo problema a meno che non viva con mamma e papà. Sono d'accordo con David M - se non riesci a trovare un lavoro direttamente nel tuo campo, trova un lavoro. Dimostra che non ti siedi e basta. Quindi, quando non lavori al lavoro diurno, continua ad imparare di notte e a capire il tuo campo attraverso progetti, ecc. Naturalmente, chiami e invii anche curriculum.

Qualsiasi lavoro sembra migliore su un curriculum di quanto non faccia un gap.
Jim C,

All'inizio della tua carriera, un lavoro indipendente è meglio di nessun lavoro, secondo me. Tuttavia, non sono d'accordo sul fatto che qualsiasi lavoro sia meglio su un curriculum che nessun lavoro. Se c'è una buona ragione per "nessun lavoro", allora può essere migliore di "qualsiasi lavoro". Ho subito volontariamente lunghi periodi di disoccupazione, ma avevo valide ragioni per poterlo spiegare in modo coerente.

5
piotr: "Pensi davvero che ottenere un lavoro indipendente dalla tua carriera possa aiutare il tuo CV?" Si assolutamente. Penserei molto più fortemente a un programmatore che lavora nella costruzione durante i periodi di inattività che a un programmatore seduto a casa tutto il giorno. Mostra un'etica del lavoro. Non ho mai finito per voler assumere un genio solitario che siede da solo a scrivere codice. Non tendono a sapere come lavorare bene con gli altri o fare la parte sporca dei lavori.

59

Hai visto ProjectEuler ? Mi sono insegnato a Python facendo i problemi su quel sito. :] Se stai imparando Java o C #, puoi provarlo. Inoltre, ti consiglio di provare anche tu la programmazione della GUI.

Modificare:

Ecco un ottimo argomento su SO per molti link che puoi cercare per la pratica del codice:

https://stackoverflow.com/questions/662283/websites-like-projecteuler-net


4
Ho sentito molto parlare del sito, ma non ho mai avuto il tempo di tentare i problemi, ma al giorno d'oggi sembra che l'unica cosa che ho sia il tempo libero, quindi potrei anche tenermi occupato.

44
Il Project Euler è di scarsa utilità per un programmatore inesperto che desidera acquisire conoscenze di programmazione. È orientato a capire come risolvere i problemi matematici mediante la codifica di algoritmi. Puoi fare un milione di quelli senza diventare un buon programmatore (probabilmente diventerai comunque un grande matematico). Scrivere grandi algoritmi non è una priorità per la maggior parte dei lavori di programmazione.

1
Non sarei d'accordo Charles - Euler fornirà la motivazione per comprendere alcuni concetti ed eseguirli.
Broam,

Usarlo come ha fatto Xavier Ho sembra interessante e utile. Cioè, farti padroneggiare le basi di una nuova lingua. Ho il sospetto che PE ti aiuterà con la programmazione (su piccola scala) O la matematica; così puoi tuffarti in entrambi i modi. A parte questi punti, concordo con Charles.

6
pythonchallenge.com è la chiave! Mentre Euler è un problema di matematica da risolvere con la programmazione, i pythonchallenge sono puri problemi di programmazione
Xster

48

Sto indovinando dal tuo nome utente che sei una donna ... In caso contrario, sentiti libero di ignorarlo o adattarlo al tuo punto di vista.

Nella mia esperienza, le donne che si diplomano al college in informatica si considerano molto meno competenti delle loro controparti maschili con competenze simili. Si potrebbe dire che le donne sono (o, per essere precisi, donne che conosco) semplicemente più oneste rispetto alle proprie carenze, ma alla fine hanno più difficoltà a vendersi ai datori di lavoro.

(Ho trascorso gran parte della scuola di specializzazione sentendomi un fallimento totale rispetto ai miei coetanei, e ho finito per laurearmi in cima alla mia classe.)

Quindi il mio consiglio sarebbe di rimanere onesto con te stesso e continuare a lavorare sodo per sviluppare le tue abilità. Ma non minimizzare ciò che sai quando cerchi un lavoro e non trattenerti dal fare domanda per un lavoro "raggiungibile".

  • Trova un mentore che può darti una valutazione reale del tuo valore.
  • Conduci interviste false e impara a proiettare sicurezza, energia e passione.
  • Quando fai un'intervista, parla dei tuoi progetti personali e fai domande tecniche. La tua spinta ad imparare e la tua energia è la tua risorsa migliore.

Aggiunto come ripensamento:

  • Quando sbarchi il tuo primo lavoro, non aver paura di negoziare il tuo stipendio. Troppe donne accettano semplicemente la prima offerta con gratitudine e non ottengono mai ciò che meritano.

Questo riguarda ...
Paul Nathan,

+1, tutti i punti positivi. Ho incontrato sentimenti simili con colleghi colleghi quando ero a scuola.
Heather M,

6
Non solo una cosa femminile; Le persone che sono già competenti o in grado di vedere che devono crescere (Yay you!) Tendono a mettere in discussione le proprie competenze più di quelle che non iniziano a sospettare la propria incompetenza. C'è un nome per questo fenomeno. L'effetto Dunning – Kruger. La tua esperienza a scuola è stata un successo fenomenale se lasci la scuola in grado di continuare il tuo percorso di apprendimento permanente, in qualunque cosa ti interessi. Ti auguro buona fortuna !!!
Warren P,

1
Warren: assolutamente vero; molti dei miei coetanei maschi meno espliciti avevano lo stesso problema. In molte culture in tutto il mondo, incluso il Nord America, le bambine non sono incoraggiate a competere in modo aggressivo e a mostrare le proprie abilità tanto quanto i bambini, quindi ho visto questo tratto più spesso nelle donne. Ma sicuramente non è solo una cosa femminile.

Risposta fantastica, sono totalmente d'accordo. Inoltre, ho notato nella mia classe di laurea, le donne che lo hanno messo fuori erano spesso le migliori studentesse. (Significa, purtroppo, molte donne che hanno abbandonato potrebbero aver fatto programmatori perfettamente competenti ...)

39

Molte persone hanno detto che dovresti iniziare un progetto personale. Secondo me, questo è il miglior consiglio qui. Vorrei aggiungere alcune cose che non ho visto quando ho letto le altre risposte ...

  • Scegli qualcosa in una zona che siete appassionati circa . Il posto migliore per trovarlo è forse nei tuoi interessi al di fuori dell'informatica. Potrebbe essere un non profit in cui sei coinvolto, un hobby di cui sei appassionato, uno sport che pratichi.

  • Trova un collaboratore . La codifica da sola è difficile, quindi un'altra cosa che sarebbe di grande aiuto è se trovassi un amico a collaborare con te a questo progetto. Questo lo rende molto più divertente e ti mantiene motivato. Nel suo recente post sul blog Jeff Attwood parla di questa cosa esatta nella sua esperienza nella costruzione di SO. http://www.codinghorror.com/blog/2010/05/on-working-remotely.html

  • Scegli qualcosa di modesto (inizialmente) . Il progetto ideale sarebbe iniziare con qualcosa di piccolo. Se l'obiettivo fuori dal cancello è troppo ambizioso, diventerà troppo scoraggiante. Avendo fatto lo sviluppo di PC, telefoni, sistemi integrati e Web, direi che il Web è il posto migliore per cercare qualcosa di raggiungibile che altre persone potrebbero iniziare a utilizzare immediatamente.

  • Se possibile, scegli qualcosa che altre persone useranno . Anche se hai solo dieci "clienti", la sensazione di avere altre persone che usano ciò che hai costruito è come una droga. Incredibilmente soddisfacente. Anche imparare dai clienti e rispondere a loro è un'esperienza di apprendimento così preziosa.

Se questo progetto è un lavoro d'amore su cui lavori felicemente fino a notte fonda, e poi salti dal letto la mattina dopo per tornare ad esso, allora le cose buone seguiranno. Imparerai, la fiducia crescerà. E una volta che hai qualcosa che la gente può vedere, diventa l'inizio del tuo portafoglio. Nulla impressiona i programmatori e i gestori (decenti) delle assunzioni di qualcosa di reale.


Se possibile, scegli qualcosa che altre persone useranno ... questo è il modo migliore per ottenere feedback
balalakshmi,

34

Alcuni commenti, dal punto di vista di qualcuno che è stato uno sviluppatore per oltre 20 anni:

Vedo siti web come StackOverflow e motori di ricerca come Google e non so dove avrei nemmeno iniziato a scrivere qualcosa del genere.

Sono il prodotto di team, basati principalmente su librerie e infrastrutture (.net, java, asp.net, ecc.) Prodotti da altri team e supportati da esperienza e risorse. Che tu, individualmente, non sai da dove cominciare a fare qualcosa di simile è completamente comprensibile. Non preoccuparti di questo.

Durante un'estate ho avuto l'opportunità di lavorare come sviluppatore di iPhone, ma mi sentivo come se stessi per lo più incollando librerie che altre persone avevano scritto con poca comprensione dei meccanismi che accadono sotto il cofano.

Un sacco di lavoro di sviluppo ora è così, temo. Ma c'è molto spazio per fare un lavoro interessante "in cima" a quelle librerie. E non preoccuparti di trovare gli algoritmi difficili: quasi sicuramente non dovrai mai implementare un quicksort, un elenco di link o altro durante la tua carriera. Ecco a cosa servono le biblioteche.

Fondamentalmente mi sto laureando in informatica, ma non mi sento di aver imparato a programmare.

Saper programmare e saper funzionare come sviluppatore professionista sono due cose molto diverse. Hai solo bisogno di un po 'di esperienza, preferibilmente lavorando con altri sviluppatori su sistemi del mondo reale. Prova ad aggiungere C # o Java al tuo skillset: non c'è molta differenza tra loro, quindi la conoscenza è trasferibile. Attenzione a diventare troppo specializzato troppo presto. Potrebbe essere necessario accettare che non guadagnerai molto denaro immediatamente, quindi, se possibile, tieni i costi personali bassi per un po '.

Inizia a lavorare sul progetto che hai citato, ma oltre ad aumentare le tue conoscenze di programmazione, provare ad usarlo è stato un modo per acquisire esperienza con competenze correlate come il controllo della versione, i test di unità e integrazione e persino scrivere una semplice documentazione. Questo tipo di competenze sono ciò che distingue uno sviluppatore da un programmatore e sono una buona vetrina per un potenziale datore di lavoro. Ci sono molti strumenti gratuiti disponibili (le edizioni express di Visual Studio, github, nunit, app di Google) che possono aiutarti.

Da quello che hai scritto sembra che la tua laurea in CS ti abbia insegnato a pensare a problemi tecnici. Sembra anche che tu abbia un buon livello di conoscenza di te stesso, anche riguardo ai tuoi attuali limiti tecnici ed esperienza. Usa questi come vantaggi. Ora non è un buon momento per entrare nel mercato del lavoro, ma se ci lavori sodo starai bene. Non preoccuparti, impara, fai esperienza, rimani aggiornato, prova a fare le cose che ti piacciono.

In bocca al lupo!


"Non dovrai quasi mai implementare un quicksort, un elenco di link o altro durante la tua carriera" Nella mia posizione attuale ho dovuto implementare un quicksort per un elenco di link scritto personalizzato. Non ho dovuto implementare l'elenco però. C'è un valore definito nel sapere come funzionano le cose di base.

Concordo sul fatto che un buon sviluppatore dovrebbe sapere come funzionano queste strutture di dati e algoritmi di base ed essere in grado di implementarle. Ho dovuto rotolare le mie liste collegate un paio di volte ma mai (per fortuna per me) non ho mai dovuto scrivere una quicksort. Il mio punto era che l'OP non dovrebbe preoccuparsi troppo degli algoritmi che potrebbe aver studiato durante la sua laurea perché molti linguaggi / piattaforme (.net, Java, C ++, ecc.) Includeranno probabilmente implementazioni pre-scritte.

31

La programmazione non riguarda solo la comprensione degli algoritmi o del GPA durante il college. La programmazione riguarda la capacità di pensare fuori dagli schemi, il desiderio e la volontà di apprendere e, soprattutto, la creatività.

Per una nota personale, mi ero appena laureato lo scorso maggio e avevo un terribile GPA. Mi ero concentrato maggiormente sulla mia vita sociale rispetto al mondo accademico e ho pagato il prezzo.

Tuttavia, durante il mio recente colloquio di lavoro fuori dal college, ( che mi aveva richiesto meno di un anno per sbarcare ), ho mostrato la mia creatività, la passione per l'apprendimento e le capacità analitiche, che mi avevano aiutato a ottenere il lavoro.


27

Nota: mi aspetto che questo post sia sottoposto a downgrade. Questa non è una risposta al poster originale ma un'osservazione sulla maggior parte dei commenti che ho letto sopra.

Le risposte che sto leggendo sopra mi stanno davvero spaventando. Sembra esserci una sensazione quasi universale che i gradi comp.sci siano inutili o non pertinenti o che non ti insegnino nulla. I gradi comp.sci sono davvero diventati così cattivi, o è solo aria calda da parte degli sviluppatori senza gradi che cercano di giustificare la loro mancanza?

Seriamente gente, cosa insegnano oggi alle persone all'università? Quando fai una laurea in CS (almeno quando ero uno studente) quando ti laurei avresti una buona conoscenza della progettazione del compilatore, comp. complessità, metodi e logica formali, un intero zoo di strutture e algoritmi di dati, ricerca operativa di base (LP, ecc.), database, crittografia e sicurezza, algoritmi di programmazione, protocolli di rete, sviluppo di Internet, progettazione di sistemi operativi e kernel, algoritmi paralleli e strutture di dati, algoritmi numerici e molto altro ancora. L'intero lotto è in genere completato da un enorme progetto di programmazione che fa parte della tesi finale. Non dirmi che i laureati comp.sci non hanno abbastanza programmazione pratica.

Apprezzo anche il fatto che alcuni dei più tradizionali gradi comp.sci omettono alcuni aspetti del ciclo di sviluppo del software, probabilmente non sentirai molto parlare di TDD, test di unità. Ma siamo brutalmente onesti: non è proprio scienza missilistica, vero? Non sentirai nemmeno parlare di SCRUM o dell'analisi del punto di funzione. Insegnare corsi dettagliati su tali argomenti di base sarebbe piuttosto ridondante, anche se al giorno d'oggi molti gradi hanno un corso sulla progettazione del sistema in cui danno agli studenti un'idea di come funzionano queste cose.

Certo, potresti non essere un esperto in .NET, PHP o altri standard di settore attuali, ma ciò dovrebbe essere irrilevante. Tra 5-10 anni le lingue scelte cambieranno comunque. Solo perché impari a guidare una Peugeot non significa che non dovresti essere in grado di guidare una Fiat, e lo stesso dovrebbe valere per i linguaggi di programmazione. Dovrebbero essere necessari alcuni mesi di pratica con alcuni buoni libri per essere competenti a lavorare in qualsiasi lingua.

Sicuramente se qualcosa è una perdita di tempo sono queste costose "certificazioni" che fondamentalmente comportano la seduta per un esame elettronico a scelta multipla e ti chiedono informazioni (di solito inutili) su una particolare architettura o lingua. Tendono a misurare la competenza di un programmatore in base alla sua conoscenza di alcuni casi di programmazione patologica.

Ho lavorato nel settore IT in varie aziende e sono stato anche coinvolto nel processo di intervista per altri sviluppatori di software. Abbiamo esposto alcune delle solite domande sul fizzbuzz, ma erano rivolte principalmente a persone senza formazione formale o tirocinanti. Non ho mai incontrato un laureato comp.sci non in grado di rispondere a domande di programmazione di base e non così basilari.

Nota: vivo in Europa e so solo di titoli universitari europei. Tuttavia sono abbastanza sicuro che lo standard universitario negli Stati Uniti sia molto più alto di quello nell'UE.


4
Questo è lo stesso modo in cui tutti si sentono a tutti i livelli una volta acquisiti. La scuola in generale ti prepara per una vasta gamma di situazioni. Una volta che inizi a lavorare, puoi diventare più specializzato e forse ti sentirai come se avessi sprecato tutta quell'energia a scuola, ma come facevi a sapere cosa avresti finito per fare davvero? È più sicuro conoscere molte cose su cui puoi costruire piuttosto che non averne mai saputo nulla.

1
Vedo entrambe le parti dell'argomento. Ho incontrato alcuni diplomi CompSci davvero intelligenti, ma ho anche incontrato alcuni ragazzi con diplomi CompSci che ora lavorano in un call center perché a loro non importava davvero di CompSci. Ho imparato molto nei miei corsi CompSci, ma devo ammettere la maggior parte delle competenze tecniche che mi hanno permesso di ottenere lavori che ho imparato fuori dalla scuola nel mio tempo libero. Quando intervista per lavori di ingegneria del software, generalmente testano le tue conoscenze per tecnologie specifiche, strategie di risoluzione dei problemi e abilità interpersonali. Nessuno dei quali viene esplicitamente insegnato al college.
Cerin,

1
Ho incontrato decine di laureati CS - mentre li intervistavo - che non potevano spiegare alcun algoritmo di smistamento, anche se lasciato a pensare per cinque minuti. Forse lo standard universitario qui negli Stati non è applicato del tutto bene su tutta la linea. Come sottolinea @Chris S, è abbastanza facile scorrere una laurea senza imparare molto di tutto.
Decano J

Stai mescolando due cose qui. Ho trovato una laurea incredibilmente utile - so che mi ha reso un programmatore molto migliore, ma non riesco mai a capire esattamente perché (presumibilmente una combinazione di un po 'di conoscenza e un approccio migliore alla risoluzione dei problemi). Detto questo, ci sono molti laureati (provenienti da un'università abbastanza prestigiosa) che non riescono nemmeno a capire come implementare (9,5) ECC con una tabella di ricerca da 512 byte. I buoni programmatori sono quelli che vanno oltre "Non lo capisco, ma posso fare le domande d'esame".

1
problema interessante, ma perché dovresti fare normalmente un test ECC;), ovviamente, tranne per l'hardware Ma è un buon esempio di roba auto-insensibile che non puoi / non puoi? impara a compSci

24

La tua umiltà ti servirà bene. The Beginner's Mind è utile per tutti i tipi di apprendimento, indipendentemente da quanta istruzione ed esperienza abbiamo.

Lavora attraverso esercizi, come altri hanno suggerito - al Project Euler e altrove.

Elaborare soluzioni per aiutare gli altri qui su SO. L'esercizio di comprensione della domanda, determinazione di ciò che sai che può essere applicato e infine articolazione di una risposta ti aiuterà a costruire la tua fiducia, mentre gli esercizi costruiscono le tue abilità.

Insisti; starai bene.


9
L'umiltà ti servirà bene, tranne quando non lo fa - per mettere il piede nella porta ( anche su un progetto personale) hai bisogno di una certa quantità di chutzpa, potresti anche aver bisogno di essere irrazionalmente fiducioso.

@Ian, accetto umilmente la tua correzione. ;-) Scherzi a parte - è un buon punto e un buon articolo. Non mi piace la conclusione, che le donne dovrebbero essere degli stronzi proprio come gli uomini, ma è difficile discuterne con la praticità.
Carl Manaster,

@Carl - conclusione troppo veloce :-) L'assunzione di personale / manager mangia quell'arroganza / autopromozione. Soprattutto quando si valutano candidati per posizioni tecniche di cui non iniziano a comprendere i requisiti. Ho visto molti maschi molto qualificati nella stessa barca di queste povere femmine, quando quella persona troppo sicura di sé e autopromozione si presenta e ruba lo spettacolo. Non penso che possiamo considerarlo una vittoria per incoraggiare un maggior numero di donne a essere troppo fiduciose. Il luogo in cui possiamo fare il meglio, IMHO, è addestrare la gente delle risorse umane a prendere decisioni migliori o rinnovare il processo.

23

La laurea con una laurea in scienze non ti rende più un grande programmatore che laurearsi in un programma musicale ti rende un grande musicista.

Non c'è sostituto per la pratica, la pratica, la pratica e l'esperienza. Programma 8 ore al giorno e in 5 anni potresti avere quella consapevolezza che ti manca in questo momento.


6
Questo è un fermo-22 non è vero? Programma a tempo pieno per ottenere il lavoro che desideri.
Jim Schubert,

16
No, in 5 anni ti accorgerai di non sapere nulla :)
Earlz,

1
@Earlz, E il nulla che sai finalmente è già obsoleto.
Dan Bryant,

4
In effetti, con tutte le "scuole Java" (che potrebbero essere state o meno il caso qui), è facile dimenticare che l'informatica non sta programmando. Conosco persone che hanno conseguito una laurea in CS e sono andati a scuola di medicina, e biologi che sono finiti come programmatori. Eppure nessuno ha mai chiesto perché una laurea in biologia non li abbia resi chirurghi: tutti sanno che studiare biologia non è praticare la medicina.

1
@Earlz quanto Zen :)
Tullo_x86,

23

Una domanda così sincera, ottime risposte - Vado a suonare brevemente :)

Le risposte finora mi hanno reso un po 'lol - potenzialmente celebrano la nostra grandezza un po' ironicamente. Vengo a SO a causa della scarsa documentazione e dei bug nei framework. C'è ovviamente altro oro qui, ma vale la pena conservare la tua umiltà, anche se diventi un grande dev - e lo dico dal punto di vista dell'arroganza storica (?) Personale.

Tieni presente che potresti non essere (probabilmente non) assunto da un tecnico, anche se le persone e i manager delle risorse umane migliori useranno un tecnico per valutarti.

I datori di lavoro hanno un piano per i loro dipendenti, provano a percepire quel piano fino in fondo e inseriscono te stesso rispettosamente, forse dandogli un po 'di spin e valorizzazione personali. Difficoltà e opportunità possono sorgere quando un datore di lavoro non ha davvero un piano specifico: porre buone domande e aiutarlo a specificare il piano può davvero farti sporgere in queste situazioni.

Gli uomini d'affari possono essere (giustamente) paranoici sugli sviluppatori che li patrocinano poiché spesso dobbiamo gestire un po 'le loro percezioni per aiutarli con decisioni che non capiscono - e dico che, lingua in faccia, per mostrarti la prospettiva NON avere o sviluppare i tuoi collaboratori non tecnologici. Umilmente penso che capire che questa è spesso l'essenza delle relazioni tra tecnici e non tecnologici sia importante - ed è difficile da evitare, quello che facciamo è ottuso.

Essere professionali, aperti e rispettosi ottiene lavoro - se sei confuso su cosa sia il professionista, sono sicuro che ci sono posti per risolverlo sul web - Vorrei che qualcuno me lo avesse fatto notare quando ho iniziato. :)

L'ultima cosa che direi è che, man mano che migliorerai nello sviluppo e nell'architettura e sembri già come se avessi intrapreso questa strada, potresti scoprire che il tuo codice professionale può diventare estremamente insoddisfacente, anche se è il soluzione appropriata.

Non sono sicuro di quale sia la soluzione, ma cerca di trovare uno sbocco ed essere meno emotivamente coinvolto nel tuo lavoro, ti aiuterà a stare al passo e a vivere una vita migliore - stai particolarmente attento a cercare di fare uno sforzo extra per fare qualcosa di "giusto" - per la maggior parte del tempo creerai complicazioni per i tuoi colleghi e non sarai quasi mai in grado di dedicare il tempo necessario per realizzarlo entro i tempi del tuo progetto. Un sintomo di questo è "diventare oscuro" - quando non vuoi spiegare cosa vuoi fare a nessuno. Molti dei migliori sviluppatori possono spiegare l'essenza di ciò che stanno facendo a un laico: questa è una grande abilità da imparare e l'ho trovata intellettualmente liberatoria nella pratica.

Heh, e quando si stima, per cominciare, dividere il proprio compito in bit, sommare il tempo e poi raddoppiarlo (si chiama, divide, conquista, marcia a casa;)

In bocca al lupo! Ho lasciato la scuola aspettandomi di essere un maestro di sci e ho finito per diventare un capo sviluppatore. Sono sicuro che farai bene qualunque cosa tu finisca di fare.


10
La tua prima frase diceva che avresti suonato brevemente ... ma hai una delle risposte più lunghe qui. ;)

+1 per "dividi il tuo compito in bit, somma il tempo e poi raddoppialo (si chiama, divide, conquista, marcia a casa;)" ... anche se in molti lavori dovresti quadruplicarlo come i manager si aspettano che sia finito metà del tempo e aggiungi un altro progetto che dovrebbe essere fatto nello stesso lasso di tempo senza consentire l'estensione del tuo preventivo. Ho anche sentito parlare di "moltiplicare per due e aumentare l'unità (1 ora => 2 giorni, 1 giorno => 2 settimane, 1 settimana => 2 mese, 1 mese => 2 trimestri, 1 trimestre => 2 anni, .. .) e dopo una vera esperienza di lavoro non è così divertente come ho sempre pensato

appena stampato questo e incollato al muro
Qual è la domanda

22

Sì, è ragionevolmente normale: la maggior parte delle scuole, anche di prestigio, fa un ottimo lavoro nell'insegnamento dell'informatica e un terribile lavoro nell'insegnamento dello sviluppo del software. Sta migliorando lentamente, ma ha ancora molta strada da fare.

Ad ogni modo, sembra che tu stia facendo la maggior parte delle cose giuste:

  • Programma fuori dal lavoro
  • Leggi libri sullo sviluppo del software (codice completo, modelli di progettazione, mese mitico dell'uomo, ecc.).
  • Continua ad apprendere nuove tecnologie: la scuola avrebbe dovuto insegnarti come imparare le lingue, non le lingue stesse. Scopri nuovi framework, IDE, API, librerie, strumenti di creazione, ecc.
  • Fai un giro su siti come SO e qui. Interagire con persone esperte su base regolare è una delle poche scorciatoie per la saggezza.

1
Onestamente, Mythical Man-Month è un po 'sopravvalutato, vero? (Ma mi piacciono molto i tipi di libri "* in a Nutshell").
Camilo Martin,

2
@Camilo non è d'accordo. Mythical Man Month è dedicato all'ingegneria del software, mentre i libri in poche parole riguardano solo una singola tecnologia. Alla fine, avrai bisogno di una comprensione dei problemi del peopleware con lo sviluppo del software. MMM è una di quelle letture che copre l'argomento.
Brian Wigginton,

21

Davvero un'ottima domanda. Sono sicuro che ci sono molte persone che stanno attraversando esattamente ciò che hai descritto in tutti i settori della vita e dei mercati del lavoro.

Primo: non preoccuparti più di cose che sfuggono al tuo controllo. Non ti è permesso di stressare o nemmeno pensare alla scuola, a ciò che hai fatto o non hai imparato o a quanto hai fatto accademicamente.

Secondo: specializzarsi. Ci sarà sempre domanda per le persone che sono veramente brave in quello che fanno anche se ciò che fanno è oscuro. Devi scegliere il tuo linguaggio di programmazione preferito e decidere di padroneggiarlo completamente e di "renderlo tuo". Hai già molti ottimi consigli su come migliorare le capacità di programmazione ma alla fine non c'è niente di paragonabile a trovare un autorevole libro sull'argomento e chiudersi in camera per alcuni giorni mentre non fai altro che leggere ogni pagina e scrivere ogni esempio del libro.

Terzo: pubblicizza te stesso. In questa storia dell'informatica questo passaggio non è mai stato così facile come lo è oggi. Le risposte che dai e le domande che poni su SO sono il tuo curriculum. Affronta te stesso per diventare l'autorità principale su SO per quella lingua che hai deciso di padroneggiare. Assumiti la responsabilità di tutte le domande che sorgono su questo server con il tuo tag, anche se ciò significa ore di approfondite ricerche e risposte tardive. Cerca negli archivi e leggi tutte le domande mai poste su SO sul tuo argomento. Correggi la disinformazione, fornisci le tue risposte e variazioni alle risposte e combina alcune risposte esistenti in un'unica risposta migliore. Inondare SO con un flusso infinito di commenti, risposte e modifiche, dovrebbe essere la tua ragion d'essere (più è divertente perché ottieni punti reputazione).

Quarto: lavora sulla tua immagine pubblica. La fiducia in se stessi è essenziale per ottenere il miglior lavoro. Le aziende vogliono persone che siano grandi colleghi, collaboratori e comunicatori. Se pensi che questo possa essere un problema, di 'ai tuoi amici che ne hai bisogno per aumentare il tuo ego e riempirti di infiniti complementi, quindi vai nella tua biblioteca locale e prendi uno di questi .


2
+1 per menzionare l'importanza delle capacità di collaborazione / comunicazione. La maggior parte dei laureati li manca.
Denis Otkidach,

1
Non sono d'accordo con la specializzazione, ogni giorno ogni tecnologia morirà, quindi se ti specializzi troppo finirai senza lavoro ... ok, alcune tecnologie (=> COBOL) muoiono molto lentamente, lasciandoti abbastanza tempo per specializzarti in una nuova tecnologia ma è ancora rischioso.

1
La specializzazione ha il suo posto, ma non sono sicuro che il momento giusto sia appena uscito dal college. Discuterei anche per domanda e offerta - parte del trucco della specializzazione è trovare la nicchia che ha bisogno di essere riempita, non quella che è già piena. (e sul fronte COBOL - un paio di anni fa, la mia compagna di posto su un aereo sembrava essere tra i 20 ei 20 anni, ma stava trattando un progetto che portava un sistema legacy ... e come ho capito erano ancora attaccati a COBOL, dovevano solo passare a un nuovo hardware - quindi c'è potenzialmente una nuova generazione di programmatori COBOL là fuori)

21

Ok, ho visto questa notizia di hacker e io ero tipo "HAPY CRAP THAT'S ME !!"

Così mi sono laureato lo scorso dicembre con una laurea in CS e ho sentito che in qualche modo ero riuscito a passare le mie lezioni e ottenere una laurea senza effettivamente guadagnarla. Sembrava che tutti i miei compagni di classe avessero incredibili capacità di programmazione e che tutto ciò che potevo fare fosse creare programmi Java di base. Imparare a programmare e diventare un buon programmatore richiede solo un sacco di tempo. Ci sono così tante cose là fuori da imparare e il mio consiglio è solo di prenderlo un po 'alla volta. Imparerai le cose mentre vai. Come tutti gli altri hanno tristezza, il modo migliore per imparare è soprattutto con la programmazione. Per non parlare del fatto che c'è così tanto sulla costruzione di applicazioni di cui non si preoccupano nemmeno di parlarti a scuola. Non stare male, sappi solo che c'è molto da imparare per te e renditi conto che ci vorrà del tempo per impararlo.

Penso che dovresti assolutamente guardare oltre la città in cui sei cresciuto. Ci sono un sacco di aziende là fuori che assumono laureati in CS, e non tutte richiedono o si aspettano che tu sia un grande programmatore subito fuori dalla scuola. Sono state fatte molte interviste in cui non mi è stata posta alcuna domanda di programmazione (ce n'erano anche molte che mi chiedevano di risolvere algoritmi e programmare). Fai domanda alle aziende che si preoccupano di più della tua capacità di apprendimento di ciò che già conosci (nella mia esperienza, le aziende più grandi si preoccupano di più di questo perché non le influenzeranno tanto se non sei in grado di estrarre subito il codice).

Non so se la codifica sia qualcosa che vuoi fare e perseguire, ma ci sono anche molti lavori non tecnici che richiedono un background tecnico. Potresti esaminare queste opzioni.

Non mi concentrerei sull'apprendimento dei dettagli di una lingua come C # o Java e sui principi della programmazione. Dovresti essere in grado di trasferire buone abilità di programmazione e applicarle in qualsiasi lingua (questo è importante per la longevità nella tua carriera ... Java non farà caldo per sempre). D'altra parte, conoscere le "abilità speciali" può aiutare a ottenere un lavoro. Le abilità di intervista sono DAVVERO importanti. Prendi ogni intervista che ricevi, anche se è solo per esercitarsi.

In ogni caso, non pensate che grandi aziende come IBM siano fuori dalla vostra portata. Mi sono sentita come te qualche mese fa e ora lavoro in IBM. Neanche il mio GPA è stato eccezionale. Faccio ancora schifo durante la programmazione ma so che migliorerò con il tempo. Basta avere fiducia nella tua capacità di imparare!


1
Direi che le grandi aziende come IBM sono più a portata di molti altri posti - hanno abbastanza persone lì da poter formare il loro pool di talenti, a differenza di luoghi più piccoli in cui ci si aspetta che tocchino il terreno correndo. E ci sono sempre stage - potrebbe essere un po 'tardi dopo essersi già laureati, ma molte agenzie governative portano stagisti estivi ... così potresti ottenere quella "NASA" o simile sul tuo curriculum.

20

Caspita, quante risposte prima di questa.

Che ne dici di una risposta completamente diversa ...

Consente di riformulare il problema in termini di essere umani.

"Mi sono laureato in un corso di concepimento e sto per nascere. Mia madre sta incoronando e dovrò essere consegnato domani mattina. Ma quando guardo atleti come Usain Bolt penso" come posso mai correre veloce?".

Ma eccoti qui, sei un essere umano a tutti gli effetti, hai attraversato la scuola, puoi camminare, parlare e se hai fatto un corso di informatica sei abbastanza intelligente da avviare. Niente di cui vergognarsi.

Ora, Usain Bolt è nato e poi ha iniziato improvvisamente a mettere in pista tempi folli, o era una grande quantità di andare avanti con la vita, scoprire a cosa era interessato, seguito da un'incredibile quantità di applicazioni e poi improvvisamente " Bam!" era lì.

Più probabilmente quest'ultimo. Quindi non concederti un momento difficile per non sapere cosa dovresti fare. Ci vuole tempo per capire cosa è giusto per te. Questo è per te , non quello che pensano i tuoi genitori, non quello che pensano i tuoi coetanei. Quello che è giusto per te . Cosa accende il tuo fuoco . Cosa ti fa pensare * sì, è bello "anche quando tutti gli altri pensano che sia pantaloni.

Non è raro iniziare (e / o) lasciare la tua laurea senza avere idea di cosa vuoi fare.

Per me, sono stato bravo a scuola ai livelli O (una qualifica nel Regno Unito) ma non me ne frega niente dei livelli A (richiesto per entrare all'università per laurearmi). Quindi sono andato in un posto minore per laurearmi (e di conseguenza non il grado che avrei preferito). Ma l'ho messo in evidenza (non avendo ancora idea di cosa volessi come carriera) e ho imparato molto sull'elettronica e sulle cose che la maggior parte dei software non impara mai. Durante questo periodo ho lavorato come scrittore di giochi per computer.

Il risultato finale? Dopo aver conseguito la laurea (con encomio) ho iniziato un lavoro con un colloquio di lavoro con un salario più elevato rispetto a quelli che facevano l'elettronica diretta e non avevo i capelli cambiati o indossavo un abito. Che cosa? Beh, a 23 anni quella roba conta (guardando indietro ora, all'età di 44 anni mi viene da ridere, ma questa è la vapidità della giovinezza per te).

Quella compagnia è fallita e poi ho iniziato a diventare più serio. Ma probabilmente non è stato per qualche altro anno prima che improvvisamente trovassi (per caso) ciò che mi interessava davvero. Si è rivelato essere strumenti software di basso livello. Avrebbe dovuto essere ovvio - tutti i giochi per computer che ho scritto sono stati scritti in assemblea, mi è sempre piaciuta la roba di basso livello che nessun altro poteva capovolgere. Ma vederlo come un futuro, ci vuole più maturità e nessuna sorpresa che non si sia manifestato fino alla mia metà degli anni '20.

Sono spesso impressionato (e stupito) che i giovani, spesso ancora adolescenti, sembrano sapere cosa vogliono fare. Ma la vera domanda è: lo fanno ancora a 27 anni? O hanno cambiato rotta perché le loro idee iniziali non erano corrette per loro?

In termini di come faccio a fare qualcosa di così impressionante come QUELLO (qualunque cosa sia, Google, SO)? Bene, lo fai a pezzi, proprio come fai con il software e tutto il resto della vita. Inizi con le basi, fai esperienza. Se sei abbastanza bravo, vai avanti e ottieni più esperienza, ecc. O la abbandoni perché ti rendi conto che non sei abbastanza bravo o che è noioso come l'inferno (ecco perché non faccio comunicazioni anche se è sempre è stata una miniera d'oro. Per me è noiosa!).

Certamente, guarda i tuoi coetanei, guarda i tuoi anziani, esamina le loro scelte e interessi. Ma esamina anche il tuo. Spesso ciò che a prima vista sembra pazzo / disgraziato è in realtà il vero affare. Fare qualcosa che trovi interessante (e non solo pagare le bollette) è SO molto più gratificante.

Sì, lo so che a 23 anni sei focalizzato sull'Audi TT e sul cool flat e quindi sei tentato dal denaro piuttosto che da scelte di carriera sensate, ma sul serio a un certo punto ti renderai conto che la bella macchina non è tutta scoppiata essere - quella ragazza dovrebbe piacerti per quello che sei, non per quello che guidi.

Seriamente, pensaci. La soluzione non così interessante potrebbe essere la risposta giusta.


-1: Potresti approfondire un po 'e concentrarti maggiormente sulla domanda e meno su te stesso?
Jim G.

2
Non riguarda "me", riguarda come sono arrivato da qui a qui senza sapere inizialmente dove si trova "qui". Sto solo usando la mia esperienza come esempio perché conosco la mia esperienza meglio dell'esperienza di qualcun altro. Se lo leggi su di me, lo leggi dalla prospettiva sbagliata. Spesso se "stringi" le cose mentre le metti, non fornisci alcuna base per esprimere il punto di vista e lasciare il lettore confuso. Avrei potuto scrivere "Non avevo idea di cosa volessi fare quando mi sono laureato, ma ora faccio blah blah". Ciò non ispirerebbe nessuno a continuare - nessuna "vera ragione per credere" (TM).

Buona risposta, Stephen. Solo da un POV diverso rispetto alle altre risposte qui.

+1, vorrei poter aggiungere 1000 voti per renderlo la risposta migliore. Mi ha toccato!

18

Oltre ai fantastici consigli forniti da altri, aggiungerei la partecipazione agli eventi degli sviluppatori nella tua zona. Cerca incontri, gruppi di utenti, campi di bar, campi di codice, ecc. Questo ti aiuterà a fare rete con altri sviluppatori, ottenere contatti di lavoro, tenere il passo con le nuove tecnologie e fornire una visione realistica dei livelli di abilità di altri sviluppatori.


Voglio parlarci di questo. Fai questo. Ero appena uscito da una scuola di tecnologia che lavorava nella cartella clinica di un ospedale. Ho iniziato ad andare alle riunioni .NET locali. Ci è voluto un po 'di tempo, ma alla fine ha ottenuto una posizione in un'azienda di sviluppo che supportava server e applicazioni. Pur non essendo il mio obiettivo finale nella vita, batte i pantaloni della scansione delle cartelle cliniche.

17

Segui la regola delle 10.000 ore.

Per diventare un maestro di qualcosa, devi esercitarti per almeno 10.000 ore. Quindi trascorri 10.000 ore a programmare e ne diventerai un maestro. Se non hai trascorso 10.000 ore a programmare e non ti senti un maestro del mestiere, non scoraggiarti, passa solo più tempo a programmare.

Si noti inoltre che probabilmente ci vorranno circa 3 anni e mezzo per farlo se si programma per 8 ore al giorno. Se programmi solo durante l'orario di lavoro, probabilmente ti occorreranno circa 4 anni. Se non hai trascorso così tanto tempo durante la tua programmazione di laurea di 3/4 anni, probabilmente non ti sentirai un maestro.


1
e devi assicurarti di non ripetere più e più volte la stessa ora! Spingiti per continuare a imparare.
Froome,

+1 per la regola 10k. Ne ho sentito parlare per la prima volta, ma sembra fantastico dal punto di vista commerciale ed è molto reale.

14

Solo un paio di pensieri, se posso.

Wendy dice che si può laurearsi con una laurea in CS, ma non si ha ancora idea della pratica della programmazione. Non è terribilmente preoccupante, persino orribile? È inquietante quanto la frode che ha sommerso i dipartimenti inglesi negli anni '70: la letteratura non è una raccolta di idee che si possono comprendere e integrare, ma piuttosto un mucchio di "testi" che lo studente deve astrarre e "decostruire" ( http: / /www.answers.com/topic/deconstruction ). Fortunatamente, quella marea fetida sta diminuendo, forse perché gli istruttori che si sono spazzati via nella sua burrascosa onda si stanno ritirando ora.

Anni fa - decenni fa - il mio primo corso in CS mi ha insegnato il linguaggio dell'assemblaggio (prima che fosse inventata la C) usando problemi reali come l'ordinamento, l'hashing e la ricerca (e, sì, la ricorsione). Il mio secondo corso ha insegnato la progettazione e la realizzazione di un vero compilatore live. Ero uno studente part-time al MIT e quei due corsi erano tutto ciò di cui avevo bisogno per iniziare a farmi pagare come programmatore; e diventare in qualche modo produttivo due o tre mesi dopo.

Quindi stamattina, ascoltando il pianto di Wendy, sto pensando che sicuramente il MIT, tra tutti i posti, non può aver diluito le sue offerte e ingannato i suoi studenti con (nel contesto della pratica di programmazione) merda praticamente inutile. Ma quando guardo il curriculum EE / CS del MIT, vedo che è proprio quello che è successo:

http://student.mit.edu/catalog/m6a.html

Ho notato in particolare che il dipartimento utilizza Python come / la lingua di insegnamento! Voglio dire, davvero! Sembra che una laurea in CS presso il MIT significhi qualificare uno studente per diventare un insegnante di CS presso il MIT. Parla di ricorsione!

Poi ho trovato questo contributo a Coding Horror ( http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html ) e ho pensato molto al punto di questa conversazione:

"Sono un ritardatario di questa discussione [sulla previsione del successo nei candidati programmatore], ma nella mia esperienza come studente universitario CS di 30 anni in ritardo nella fioritura, ho trovato le classi di programmazione inutili e meno insegnate come non ho insegnato. Sono stato solo in un college della comunità e poi all'Università dell'Illinois a Chicago, ma le lezioni introduttive di programmazione erano:

"1. Orientato agli oggetti, che ha lasciato agli studenti una scarsa o nessuna comprensione dei metodi procedurali, e

"2. Lezioni di eliminazione. Le lezioni consistevano principalmente nella descrizione di diversi tipi di problemi e nella matematica dietro di loro, piuttosto che nell'intossicazione e nella struttura, per le quali veniva detto alle persone di leggere il libro.

"Il codice è stato riconosciuto a malapena direttamente fino al nucleo di Data Structures, e quindi è dipeso da quale istruttore hai ottenuto, alcuni sono molto chiari e alcuni sono piacevolmente pesanti. Puoi dire che è stata una grande tentazione per gli insegnanti essere chiari a questo punto, perché se si concentrassero sul codice, dovrebbero anche concentrarsi sull'insegnamento agli studenti che avevano frequentato un corso di informatica per due anni come programmare.

"Poiché la programmazione è un hobby per molti giovani, penso che le istituzioni educative abbiano fatto affidamento su questo per stabilire le curve di apprendimento previste, lasciando le persone che avevano poca o nessuna esperienza di programmazione quando sono entrati a scuola non hanno altra scelta che imbrogliare come un matto, spendere tutto del loro tempo libero studiando codice, o cambiando major. E non è necessariamente un deficit nel pensiero astratto nella mia esperienza, perché tutti quelli che conosco che hanno abbandonato CS sono finiti in Ingegneria Elettrica, il che è nulla a cui agitare sul fronte astratto. Non sanno ancora come programmare, mentre fanno matematica di cui non riesco a capire la testa e la coda. La maggior parte dei ricordi assurdi:

"1. Java come linguaggio di programmazione richiesto. Non ho intenzione di criticare Java qui, ma non sarebbe bello per gli studenti dover imparare la propria raccolta dei rifiuti? E ​​i puntatori non sarebbero una cosa carina da imparare, anche se non avessimo mai deciso di programmare di nuovo in una lingua con loro?

"2. Prendere una lezione di base sulla teoria dei sistemi operativi, dopo essere stato ingannato da Java, e aver scoperto che era in C (ovviamente) senza nemmeno una classe C nel campus?

"Certo, ho trent'anni e anche una di quelle persone che hanno sempre programmato, quindi non ho avuto problemi, ma ho visto molte persone che conoscevo meglio in astrazione di me (da Calculus, DiffEQ e lezioni di fisica prima ) e la loro totale agonia nel cercare di finire un programma che era stato impilato contro di loro ".

Solo un paio di punti dati ma, come altri hanno già detto, ossessionanti.

- Pete


Sono così stanco di questo punto di vista sfinito.
Andres Jaan Tack,

Python è una delle migliori lingue di insegnamento esistenti
Casebash,

@Icplben, Pete o Jamaal di codinghorror.com?
Zaki,

14

In primo luogo, resisti!

In secondo luogo, ecco alcune cose che mi hanno aiutato:

  1. Mantieni la tua ricerca di lavoro oltre la tua regione di interesse. Sicuramente sii ok per riposizionare. Grande possibilità di uscire e vedere un nuovo posto!
  2. Poiché l'esperienza è scarsa, penso che gli intervistatori vogliono assicurarsi che tu sia qualcuno che sarà entusiasta ed energico nel lavorare e risolvere i problemi. Quindi mi sono assicurato di essere interessato alla programmazione per l'azienda. Quale ero;)
  3. Poni domande al tuo intervistatore. Ricerca la società e prepara del materiale durante l'intervista. Quali modelli di design usi? Perché la tecnologia X invece della tecnologia Y? Sento che questo ti completa come persona durante l'intervista e ti dà la possibilità di fare una pausa.
  4. Codice per divertirsi a casa! Non deve avere successo, ma basta scrivere un codice che forse utilizza una tecnica di cui hai letto o una tecnologia come un database.

In terzo luogo, ero su una barca simile a te quando mi sono laureato di nuovo così, resisto e continua a cercare. Il tuo primo lavoro è là fuori.


14

Pochissime persone laureano qualsiasi disciplina essendo esperta in qualcosa che hanno semplicemente studiato. L'informatica non è in alcun modo speciale al riguardo. Niente batte l'esperienza empirica e lo ottieni solo dallo sviluppo di software completo per clienti reali, con tutte le esigenze, i vincoli temporali, i cambiamenti e il lavoro di squadra che ciò comporta.


1
Sfortunatamente, è vero. Un Bachelor è inutile se non come un badge che sei riuscito a superare. Detto questo, il curriculum di scienze della scienza è orribile a livello universitario. Il curriculum di CM richiede 5 matematica, ma combina linguaggio formale, automi e calcolabilità in un corso e questo è un elettivo.
MIA,

4
Accetto il 100%. Perché dovresti essere un esperto in qualcosa per cui ti sei appena qualificato ??
Alex Feinman,

13

Ho trovato questo sito malvagio l'altro giorno http://99designs.com/ Sotto la progettazione di siti Web o altri progetti probabilmente è possibile trovare alcuni progetti relativi al software.

Questo sarebbe un ottimo modo per ottenere il codice, sviluppare alcune nuove competenze, incontrare alcune nuove persone che potrebbero essere potenziali datori di lavoro e potresti anche guadagnare qualche soldo.

Ho scoperto che i datori di lavoro hanno un grande valore nel dimostrare che, anche se non avevi un lavoro, non eri seduto sul culo. Dimostra che sei uscito e fatto alcuni progetti, preferibilmente quelli che puoi sfoggiare durante un'intervista.


Ho diviso la mia giornata tra 1) invio di curriculum 2) revisione di libri ma non ho lavorato su alcun progetto. A proposito, questo è un sito molto interessante. Sembra rivolto più agli artisti e ai designer che agli sviluppatori di software, ma dovrò indagare ulteriormente.

Non mi preoccuperei così tanto dei libri. Come menzionato altrove, l'unico modo sicuro per imparare è farlo. Non scoraggiarti a prendere un po 'di tempo per trovare un lavoro. È sfortunato, ma a volte trovare quello giusto richiede molti mesi. Continua a provare :) Sono d'accordo con te, il sito è più mirato all'arte / design, anche se se sei interessato ai siti Web, ce ne sono alcuni. Il vantaggio è che puoi realizzare un progetto senza avere te stesso l'idea e potresti essere pagato, altrimenti puoi consultare sourceforge.net per altre idee di progetto

13

Non ti preoccupare. Roma non fu costruita in un giorno.

For each P in PeopleYouKnow
Try
  ask/call P for a Job apply for job;
Catch Denial As Exception
  don be worry;
  //you'll get a job later
End Try

Finally
 If you haven't found a job yet
  For each programmingJobAd in internet

 Try
    apply for job;
    Follow up;
  Catch Denial As Exception
   don be worry;
  //you'll get a job later
 End Try
end
//Keep trying.
//find a bug from this code.

MODIFICARE: #! diff A B

3c3
<   ask/call P for a Job apply for job;
---
>   ask/call P for a Job job; if job is available apply for job;
9a10
>  //(sic)
14c15
<     apply for job;
---
>     apply for programmingJobAd;
20c21
< end
---
> End

12

Innanzitutto, non preoccuparti di non poter codificare google. Google è stato creato per diversi anni da molti programmatori di grande esperienza. È come finire una laurea in arti visive e chiedersi come si possa fare The Last Supper.

Per la ricerca di lavoro, non sudare i requisiti. Chiamali e dì che non hai gli anni, ma che vorresti comunque fare domanda. Se vogliono davvero l'esperienza, chiedi se ci sono più posizioni junior disponibili: potrebbero essere in grado di creare una nuova posizione solo per te. La maggior parte dei lavori sono creati per una persona specifica. Assicurati di contattare il project manager, non il dipartimento risorse umane. Le risorse umane di solito non creano nuovi posti di lavoro, ma spesso selezionano solo i candidati per i lavori esistenti. Google è tuo amico in questo caso;)

Non tentare di codificare un'app Web (come google o stack overflow) a meno che non si desideri investire circa 6 mesi. È un'enorme curva di apprendimento. Devi imparare a gestire un VCS, eseguire un server Web, la codifica HTML JS e CSS, un sistema di database e la lingua dell'app Web. È brutale. La maggior parte di queste tecnologie non sono trasferibili a meno che non si desideri svolgere attività sul Web.

Se vuoi fare app web, potresti guardare l'installazione di una semplice app web (come questa app di ricerca IP to country basata su django - http://www.coulix.net/blog/2006/aug/17/ip- country-flags-django-commenti / ). Puoi cercare un codice sconto di $ 90 dreamhost (in modo da poter lavorare su un vero server Web) e provare a configurare le cose. Non preoccupatevi troppo di sicurezza o le prestazioni (ma fare uso ssh) - è solo un progetto di apprendimento.

Se vuoi fare cose sul desktop, puoi dare un'occhiata a pygame.


Pensavo che la prima versione di google fosse stata realizzata in poco tempo? Come durante un'estate o qualcosa del genere
Earlz,

Apache in esecuzione su Linux sul desktop è un "vero web server", non c'è bisogno di spendere soldi. Cosa pensi che siano in esecuzione le società di hosting?
TMN,

@TMN, per web server, intendevo uno stack hardware e software di produzione. So che DH utilizza Apache e MySQL, ma lo sviluppo su un server di produzione ha vantaggi (tutto è configurato, incluse cose difficili come la posta e fanno la registrazione del dominio per te) e svantaggi (come nessun root, e devi ottenere abituato allo sviluppo remoto). L'uso di un server di produzione ti consente di immergerti nel lavoro web.

11

Puoi leggere tutto sulla programmazione, ma non imparerai come programmare veramente fino a quando non inizierai bene ... inizia a programmare!

Ti consiglierei di iniziare un progetto personale. Che cosa vuoi creare? un gioco? Un blog? Non importa Basta fare qualcosa!

Quindi, dopo aver fatto un po 'di vera programmazione per un po' (poche settimane o mesi), consiglio di provare a contribuire a progetti open source. Il progetto personale ti aiuta a capire come programmare quando l'obiettivo non è già stato definito per te (sapere come progettare effettivamente qualcosa non viene spesso insegnato a scuola). Contribuire a progetti esistenti ti insegna a lavorare in gruppo e a seguire gli standard del codice.

Non perderei tempo a leggere molto altro. Direi al massimo che dovresti probabilmente leggere circa il 20% delle volte e scrivere il codice sull'altro 80%. (ovviamente, per tempo, intendo il tuo tempo dedicato alla programmazione di cose correlate)


9

Bene, ecco i MIEI due centesimi ... insieme alle citazioni di alcune altre fonti.

Una parte sorprendentemente ampia di candidati, anche quelli con master e dottorati in informatica, falliscono durante le interviste quando viene loro chiesto di svolgere compiti di programmazione di base.

- Dan Kegel via Jeff Atwood

http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

Questo è un problema di cui ho visto molti, anche fino al punto in cui le persone con anni di "esperienza" sul loro curriculum non riescono a svolgere compiti semplici. Personalmente, penso che gli istituti di istruzione ne siano ampiamente responsabili, dalla facoltà che non conosce la materia o non può insegnarla ai consiglieri che dovrebbero guidare gli studenti che vogliono solo entrare in un particolare per i soldi senza un ragionevole interesse nel campo stesso.

Dal suono della tua domanda, stai uscendo dal college sentendoti come se fossi appena stato fregato da alcuni anni della tua vita per ottenere un pezzo di carta. Questo è il modo in cui molte agenzie di collocamento vedono una laurea in questi giorni per i programmatori. Vogliono persone che hanno dimostrato di poter programmare, non solo qualcuno che ha un pezzo di carta. Ma il fatto che tu stia ponendo questa domanda in primo luogo mi mostra il desiderio di imparare davvero a programmare.

Una delle cose migliori che puoi fare per imparare è già stata segnalata più volte, ovvero programmare cose. Sfortunatamente, mentre ciò aumenterà assolutamente la tua conoscenza e comprensione della tecnologia, non è incredibilmente probabile che ti aiuti a trovare lavoro a meno che non sia qualcosa che puoi mettere sul tuo curriculum.

Ti suggerisco di iniziare costruendo te stesso alcune applicazioni con uno scopo specifico, capire cosa puoi fare e cosa ti sfiderà ad andare avanti, quindi vai in alcuni posti dove puoi raccogliere lavoro freelance. Non aspettarti di essere pagato un importo enorme per il lavoro freelance che raccogli sul web, stai cercando di aggiungerlo al tuo curriculum, non al tuo portafoglio. Una volta che hai 3-5 articoli che puoi indicare e dire "L'ho costruito io" o "Ho progettato quella funzionalità per loro", quindi elenca tutte quelle cose e trova un'agenzia di assunzione (sono OVUNQUE .. . i cacciatori di teste) e lavorano con alcune delle loro persone per semplificare il tuo curriculum in modo da evidenziare la tua educazione e intraprendenza nel trovare lavoro da fare e minimizzare l'aspetto della tua mancanza di esperienza.

La cosa più grande da ricordare quando parli con potenziali datori di lavoro (che vedo sempre gente incasinata), e qualcosa a cui TUTTI IN QUALUNQUE CAMPO dovrebbe prestare attenzione, è che mentre non vuoi assolutamente venderti a corto o minimizza ciò che PUOI fare, non VENDERSI e falli credere di poter fare cose che non hai idea di come. I datori di lavoro hanno sempre un talento per chiederti di fare cose che non sai come fare, ed è il tuo lavoro a quel punto a capirlo, ma se dici loro che già puoi, inevitabilmente mangerai le tue parole in seguito .

Buona fortuna a te!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.