it-swarm.it

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

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ù riunendo 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. Ciò non significa che 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 da applicare 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.

1050
wp123

Wow ... molti commenti interessanti la maggior parte sono buoni.

Ho imparato a programmare tutto da solo, questo non significa che devi farlo. Mio figlio sta andando al college e sta per finire. Trovare un lavoro è sempre difficile alla prima laurea.

Quando hai fatto i semplici programmi durante le lezioni ti sono piaciuti? Se lo hai fatto all'inizio, allora potresti essere nel posto giusto, se non cercare i requisiti se ti piace scrivere documenti.

Sembra che tu voglia saperne di più dal momento che non ti è piaciuta l'esperienza iPhone di incollare le cose insieme. Questo è un buon segno, non un brutto segno.

La successiva ricerca di un lavoro dipende se ti trovi in ​​una grande città o se vivi in ​​campagna.

Impara l'HTML creando il tuo piccolo sito. Scegli una lingua web ... (PHP, ColdFusion, DotNet) Costruisci alcuni siti semplici.

Accetta QUALSIASI lavoro di sviluppo web o lavoro di programmazione che ti offrirà un lavoro. Non preoccuparti di $$ all'inizio. Il tuo obiettivo è la programmazione del lavoro. È difficile programmare a casa sul proprio progetto. Tuttavia, al lavoro quando ti viene richiesto di fare qualcosa, tendi a lavorare molto più duramente e se trovi che non è divertente scegli un operatore IT diverso. Succede.

Prendi QUALSIASI lavoro ... imparerai ... se ti piace lo supererai.

Non mi sono mai sentito come se sapessi programmare, è un ottimo segno. Odio lavorare con coloro che si sentono come se sapessero tutto ciò che tendono a programmare molto male e non documentano nulla di ciò che fanno.

Spero che i miei commenti ti aiutino con tutti questi altri grandi commenti.

1
Nathan Stanford

Inizi la tua carriera nello sviluppo di software con una fondazione in informatica e una laurea da dimostrare per questo ?! Che meraviglia!

Mentre potresti essere preoccupato di trovare un lavoro e non avere le competenze necessarie per l'ingegneria del software con una laurea in CS, immagina di essere nello stesso posto senza un CS grado. È esattamente dove ero un anno fa.

Mi sono tagliato i denti nella programmazione creando macro monolitiche in Excel e Access utilizzando VBA e sono riuscito a raccogliere un po 'di SQL lungo la strada. Circa un anno fa, ho deciso che volevo iniziare una carriera nello sviluppo di software, ma non potevo immaginare come avrei trovato un lavoro senza una laurea in CS (ho una laurea in filosofia, di tutte le cose) e con zero "professionale "esperienza di sviluppo. Chi nella loro mente giusta mi assumerebbe?

Ho deciso di concentrarmi sulla ricerca di un lavoro il cui obiettivo sarebbe quello di scrivere applicazioni aziendali, quindi ho deciso di affinare le mie competenze in .NET e C #. Prima di 9 mesi fa, non avevo mai scritto una sola riga di codice .NET. Ma mi sono tuffato; e sono entrato sopra la mia testa; Ho lottato; Sono andato a tutti i gruppi di utenti che sono riuscito a trovare; Ho letto blog sulla codifica; Mi sono imbarazzato (e lo faccio ancora) su Stack Overflow; Ho ascoltato tonnellate di podcast solo per familiarizzare con ciò che è là fuori. Tuttavia, mi sono sentito indietro, ma avevo finalmente superato la mia paura di non essere in grado di fare qualcosa.

2,5 mesi fa, ho ottenuto il mio primo lavoro come sviluppatore professionista ( ho scritto su come ho trovato il lavoro sul mio blog , nel caso tu sia interessato). Ora sto programmando in VB.NET, VB6 e javascript e continuo a imparare tonnellate di programmazione ogni singolo giorno. Ma se riesco a trovare un lavoro senza una laurea in CS , sono sicuro che puoi sviluppare le tue abilità e trovarne anche una.

1
Ben McCormack

Non so se questo verrà effettivamente letto, ma sento il bisogno di farlo uscire.

Il college non mi ha insegnato molto. Alcune strutture di programmazione e dati di base. Niente di strabiliante. Tuttavia mi ha mostrato come imparo meglio. Imparo facendo ciò che è in linea con molti post qui. Ho anche imparato che mi piace creare cose tramite il codice proprio come piace a un operaio del legno per creare cose dal legno. Quindi tra queste due cose, mi sono preso il tempo di fare qualcosa per impararlo.

Un datore di lavoro sa cosa ottengono da un laureato. Sanno che il laureato non sa molto. Tuttavia, alcuni datori di lavoro lo adorano perché, in seguito, riescono a plasmare la nuova persona alla propria cultura e mentalità. Ti insegneranno le corde per farti rotolare. Sii pronto per imparare. Questo ha i suoi alti e bassi.

Non sudare. Il settore IT è stato uno dei meno colpiti dalla recente recessione. Ci sono lavori La compagnia per cui lavoro ha appena assunto un gruppo di neolaureati. Il trucco è trovarli.

In bocca al lupo.

1
Tony

Hai appena espresso ciò che provo per me stesso. Mi sto quasi laureando in Informatica e come molti di noi ho appena imparato algoritmi teorici e sviluppato pochissimi progetti interessanti. Ma come ha detto Keith Nicholas

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.

Ho perso questo punto importante e ho appena fatto ciò che mi hanno chiesto di fare all'Università. Sarà il primo passo in cui mi sposterò.

Per il momento in cui provo a fare qualcosa di più, mi sento di nuovo così come hai detto:

Mi sembrava di stare per lo più incollando librerie che altre persone avevano scritto con scarsa comprensione della meccanica.

Sono grato per il tuo post e per molte risposte, consigli e link che hanno scritto a "noi".

1
soneangel

Controlla http://greatmaps.codeplex.com/ . All'inizio non avevo idea di come farlo;} Quindi lo fai semplicemente facendolo.

PS. Non ho un titolo "ufficiale", perdita di tempo.

1
radioman

+1. L'interesse è molto importante e la programmazione a volte richiede più pazienza!

1
Fisher

Tieni a mente due cose:

  1. Non impari come programmare (applicazioni) in un programma di Informatica. Le applicazioni della vita reale non sono problemi di compiti a casa di una o due settimane. Ci vuole molta pianificazione e coordinamento per rendere operativa un'applicazione reale. È una mentalità diversa da quella a cui sei abituato, ma fidati di me ci arriverai.

  2. Forse le cose adesso sono diverse; ma quando sono andato all'università solo due o tre dei miei professori hanno effettivamente lavorato come programmatori (laureandi E laureati). Quindi forse ti senti impreparato alla programmazione delle applicazioni perché ti è stato insegnato essere persone che non hanno mai lavorato su applicazioni reali. Questo non vuol dire che ciò che hai imparato sia inutile ... c'è molto di più nella creazione di applicazioni che nella programmazione. Significa solo che hai ancora molto da imparare. E va bene, stai entrando in un campo in cui non smetti mai di imparare.

1
Giovanni Galbo

Continua ad imparare e otterrai la tua fiducia :)

1
joven

Sarò nella tua stessa barca, amico mio, tra circa un anno (diplomandomi all'incirca nel 2011/2012). Mentre la nostra scuola insegna sviluppo in Java, trascorro molto del mio tempo libero leggendo su altre lingue come ASP.NET, PHP, Ruby, TDD, MVC, DDD ecc ... perché lo adoro. C'è qualcosa nella capacità di prendere il codice e trasformarlo in qualcosa che può potenzialmente aiutare milioni di utenti, mentre ti fa soldi. È come un'arte se me lo chiedi.

Puoi solo migliorare con la pratica. In qualsiasi momento ho progetti web, progetti winform, WPF e altri progetti che vanno tutti in una volta, quindi non mi annoio. Questi progetti non devono nemmeno essere commercializzati prodotti (ma potenzialmente potrebbero essere). Sono principalmente per aiutarmi a imparare diverse tecnologie.

Buona fortuna a te!

1
Jack

Sono un altro che consiglierà di rimanere bloccato in un progetto o due personali.

Personalmente non ho qualifiche ufficiali di programmazione, a parte un paio di corsi di programmazione per studenti non informatici - la mia area di competenza è in realtà in ingegneria meccanica.

Il motivo per cui lo dico è perché attualmente sto lavorando come ingegnere del software per una grande organizzazione di ricerca, in cui la programmazione è la mia unica e sola responsabilità. Come? Perché ho acquisito una quantità fenomenale di esperienza semplicemente programmando come un hobby. Non posso sottolineare abbastanza quanto armeggiare nel mio tempo libero mi abbia aiutato ad ottenere il mio lavoro.

Quello che sto cercando di capire è che ciò che imparerai facendo la vera programmazione è una delle esperienze più preziose che puoi fare - e non importa se fa parte di un corso ufficiale o semplicemente scherzi nella tua riserva tempo.

Questo non vuol dire anche che ciò che hai imparato come parte del tuo corso non è importante, ma costituisce un valido quadro su cui costruire la tua esperienza. Sicuramente so che starei molto meglio con un background formale di informatica: ho perso il conto di quante volte sono stato bloccato su qualcosa di semplice o ho perso la traccia di ciò di cui parla il mio capo, semplicemente perché tutto quello mancava.

Penso che farai bene nel mondo "reale". Acquisirai esperienza semplicemente lavorando e qualsiasi datore di lavoro dignitoso lo sa e non si aspetta da te il massimo del tuo impegno e l'impegno a imparare dalla tua esperienza. Molti datori di lavoro (incluso il mio) si occupano specificamente delle loro assunzioni laureate, utilizzando mentori e programmi di formazione per migliorare tale esperienza. E se ritieni di poter utilizzare più esperienza, ti consiglio vivamente di fare qualche armeggiamento nel tuo tempo libero.

Concluderò sottolineando che non smettiamo mai veramente di imparare. Potresti essere all'inizio della tua carriera, ma continuerai a imparare e acquisire esperienza attraverso il tuo lavoro, il tuo datore di lavoro, i tuoi tutor e da solo. Non temere di non aver ancora imparato tutto: c'è ancora tempo per raccogliere esperienza.

Tutto il meglio con la tua carriera futura! Spero di trovarti palude SO con domande relative al lavoro presto!

1
Mac

Solo una breve nota, qualcosa che mi manca nelle altre sagge risposte che hai già ricevuto. Se segui l'utile consiglio "fai qualcosa", ti suggerirei di semplificarti le cose. Mi piace usare la battuta "camminare sull'acqua e sviluppare software da una specifica è facile se entrambi sono congelati" ...

Quindi, se decidi di "fare qualcosa",

  • decidi cosa farà il tuo programma (requisiti)
  • in che modo si comporterà (funzionale)
  • come lo implementerai (tecnico)

e scrivilo!

Se cambi i fogli durante il gioco, non dimenticare di controllare le conseguenze a cascata.

Divertiti e preparati a essere (molto) paziente.

1
mariotomo

In primo luogo, se ti senti come se non fossi pronto per essere un programmatore professionista, è la sensazione giusta. È così che mi sono sentito quando ero a metà del mio corso di laurea in CS, e se non avessi attraversato l'università, avrei attraversato il palco senza qualificarmi per uscire da un sacco di carta.

Ma migliorerai le tue abilità abbastanza rapidamente e anche un po 'prevedibilmente man mano che otterrai quel primo lavoro e inizierai ad imparare dagli altri come viene fatta questa "ingegneria del software". La chiave del successo è capire che imparerai dagli altri, compresi gli altri con cui potresti non essere d'accordo o non andare d'accordo così bene. Al culmine della mia carriera in CS (da allora sono passato ad altre cose), ho guidato un team di 12 sviluppatori per un importante fornitore di software. Tutti i nuovi assunti pensavano che fossero davvero intelligenti. Quelli che hanno ascoltato sono avanzati piuttosto bene e quelli che hanno continuato a pensare di essere davvero intelligenti no.

Ma abbastanza di quello. Vorrei condividere con voi le mie osservazioni dopo 31 anni nel settore del software.

Quando ho iniziato, ho lanciato il codice. Ed è abbastanza normale - la maggior parte dei tuoi incarichi in uni erano probabilmente molto piccoli ed è quello che fanno molte persone con piccoli progetti di codifica. Si siedono al computer e continuano a digitare fino a quando il problema non viene risolto. Non c'è nulla di sbagliato in questo e se sviluppi alcune buone capacità di prototipazione rapida, la capacità di imbracciare il codice pagherà bene in futuro.

Dopo circa cinque anni ho svolto un lavoro abbastanza ampio - in parte era di provenienza aperta (lo chiamavamo "dominio pubblico") e ho inserito un avviso nel codice sorgente che dice "questo software è di dominio pubblico "), in parte era" Nessun uso commerciale "o" Non puoi fare altro che venderlo ". Non c'era GPL. Ma quello che ho imparato dopo circa cinque anni è che il mio codice puzzava perché non riuscivo a dare un senso a qualcosa che avevo fatto più di qualche anno fa. E da questo imparerai che i commenti sono i tuoi amici - il codice che ho scritto alla fine degli anni '80 aveva un bel rapporto codice-commento. Codice dei primi anni '80 - non tanto. Ma questo ti dà un'idea del problema: una laurea di quattro anni non è abbastanza per imparare cosa stai sbagliando.

Dopo dieci anni ho iniziato a dover riutilizzare il mio codice in un modo che non avrei mai immaginato. Parte del codice ha funzionato, altre no, e nei prossimi anni mi sono stancato di rielaborare il mio codice e ho imparato a diventare un architetto del software. Ho un codice nel mondo open source che ora ha 23 anni e parte della struttura originale è ancora lì. Ecco come si presenta un buon design e una solida architettura: un vecchio codice che ha superato la prova del tempo, perché i computer oggi non sono come i computer 23 anni fa. Il mio telefono è più un computer rispetto ai PC che avevo 20 anni fa. Quindi, inizierai a imparare come effettivamente design software, e questo non è davvero qualcosa che puoi imparare in una lezione CS da 14 a 18 settimane che si incontra 3 ore a settimana. Giusto? Quando ero un architetto avrei impiegato mesi per progettare il software che sarebbe stato sviluppato nella prossima versione. Quindi, inizia a cercare modelli - e questa è una delle cose sui linguaggi orientati agli oggetti che li rende attraenti (se usati correttamente). Ti fanno pensare di più. Ogni volta che scrivi qualcosa, pensa al futuro.

Dai 15 ai 25 anni, guido un team di sviluppatori. Alcuni erano nuovi assunti, alcuni erano esperti e ho dovuto fare i conti con quello che avevo perché non ero un manager che poteva assumere solo le persone che desideravo. Da qualche parte lungo la linea è quello che dovrai imparare a gestire: persone diverse nella tua squadra avranno abilità e capacità diverse. Avevo ragazzi con buone capacità di networking, ragazzi con buone abilità multi-threading e ragazzi che erano solo sviluppatori generici. Le persone che andarono avanti nella loro carriera erano quelle che andavano d'accordo con gli altri e che potevano imparare da loro. Quando ottieni quel primo lavoro, trova un mentore. Non andare per il più brillante o altro, trova qualcuno che è abbastanza anziano per te da poter almeno capire ciò che ti viene insegnato. Ma qualunque cosa tu faccia, impara dagli altri intorno a te.

Negli ultimi anni mi sono stancato di lavorare nel settore del software come impresa. Sviluppo ancora software (la mia attuale applicazione è circa 100KLOC di Java - tutto scritto da me stesso), ma sto lavorando principalmente al di fuori del settore del software. È un grande campo di carriera, e 30 anni è stato un bel giro.

1
Julie in Austin

Una domanda fantastica Ad un certo livello la tua domanda mi ha fatto pensare a come stavo pensando quando mi sono laureato al college.

Dato che hai detto di conoscere C e Python, il mio suggerimento sarà di iniziare a partecipare a qualsiasi progetto open source che utilizza queste lingue. Vai a sourceforge.net o code.google.com e cerca progetti che utilizzano C o Python. Alcuni progetti avranno anche mentori. Il bello dei progetti open source è che puoi iniziare a contribuire in qualunque parte ti senti a tuo agio e crescere da lì. Man mano che acquisisci dimestichezza con il codice, puoi svolgere più attività.

Buona fortuna con le tue imprese. Sono sicuro che troverai alcuni progetti di Nizza che potrebbero aver bisogno del tuo aiuto. La parte migliore è che ottieni la tua esperienza e puoi mostrarla come prova nella tua caccia al lavoro.

1
yasouser

La programmazione è uno strumento. La maggior parte dei gradi CS ti insegnano solo come programmare. È come imparare a usare un martello senza imparare a costruire nulla. Se hai poca conoscenza del dominio di un problema, avrai difficoltà a scrivere un programma per risolverlo. Il vero valore che fornirai sarà nel risolvere i problemi, non essendo un programmatore.

Dopo aver ottenuto un lavoro al college, ho comprato molti libri relativi allo spazio problematico in cui lavorava la società. Ora sono considerato un "esperto" in un'area per lo più estranea alla mia laurea in informatica.

1
dwayne963

Penso che dovresti continuare a impegnarti. Tutte le persone di successo hanno attraversato questo processo, intendo quello che ti senti giusto ma gli sforzi persistenti portano sicuramente la bellezza della mente. Concentrati su un particolare problema alla volta, cerca la soluzione con la pianificazione di utilizzare in modo efficiente il tuo tempo.

1
Subodh

Sono d'accordo con timothyawiseman. Ottieni la certificazione!

Consiglio [testo link] [1]. Le competenze di Internet sono assolutamente necessarie e il loro esame di base ti mette alla prova sui fondamenti. Gli esami Javascript e Perl ti daranno quindi il loro certificato professionale.

Inoltre, scarica le edizioni express gratuite per sviluppatori web e sql server di Microsoft e crea siti web. Esercitati ed esercitati, quindi procurati i libri di testo MS e sostieni gli esami 70-536 e 70-562 per ottenere il certificato MCTS (MS Certified Technical Specialist).

In bocca al lupo.

[1]: http://ciwcertified.com/certifications/program.asp CIW

1
Hal Noyes

In primo luogo, penso che ci sentiamo tutti così quando ci diplomiamo al college o cerchiamo lavoro. L'esperienza non avviene dall'oggi al domani.

Ma ciò che può aiutarti a fare esperienza rapidamente è essere naturalmente curioso ed essere un auto-avviatore disposto. Imparerai molto rapidamente quando ti prendi il tempo di imparare da solo e trovare hobby personali che affinano le tue abilità. Sii sempre disposto a imparare e farai molta strada.

Se stai attualmente cercando lavoro, ti consiglio di creare un sito web personale con un portfolio. Carica progetti realizzati in base a ciò che hai appreso. Renderlo davvero bello. Consiglierei anche Indeed.com nella tua ricerca.

1
MattB

Ho trascorso un mese in cerca di lavoro, ma le mie capacità (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ù richiesti.

Le tue abilità potrebbero essere più preziose di quanto pensi. Guarda nel framework web Django. È un framework per lo sviluppo web basato su CPython. È abbastanza facile da usare ed è straordinariamente potente ed è utilizzato da molte grandi aziende per lo sviluppo rapido.

1
SC Ghost

Se vuoi sviluppare la logica e il pensiero per la programmazione, impara a programmare usando linguaggi come C.

Leggi e capisci gli esempi nel libro C di Kernighan & Ritchie. Cerca su Google, troverai l'ebook.

quando ti senti a tuo agio a pensare a soluzioni ai problemi (piccoli problemi di programmazione), puoi provare a imparare diversi strumenti, framework o altro.

Puoi anche provare a prepararti all'esame SCJP e leggere tutti gli argomenti. Prova tutti i piccoli programmi che incontri e sperimentali. Se leggi il sito Sun sulle risorse SCJP troverai molti piccoli programmi, prova a capirli, prova a scrivere simili da solo. Quindi, quando ti senti a tuo agio, passa a swing, JSP, Servlet, Struts o Spring o altro. Per prima cosa hai bisogno di un'ottima base.

È possibile consultare i problemi di programmazione relativi al concorso di programmazione ACM e provare a risolverli. se non puoi, controlla le soluzioni da altri. In questo modo costruirai una logica e un pensiero forti.

Quando ti senti a tuo agio, allora puoi provare a memorizzare la biblioteca e fare pratica su questo.

http://justetc.net/knowledge/index.php?table=Articles&categoryID=32&category=Java

Prova a creare un'applicazione. Pensa a un piccolo problema personale o aziendale e prova a scrivere una domanda completa per questo.

Forse potresti investire in un programma CS migliore

1
Sayed

Solo perché ti laurei in informatica non significa che devi programmare per il resto della tua carriera. Hai mai preso lezioni di analisi e progettazione dei sistemi?

1
Dan

Quando ho intervistato programmatori junior (ovvero neolaureati), chiedo sempre a quali progetti hanno lavorato, in particolare i progetti di classe che coinvolgono team di più persone. Dopotutto, è il tipo di lavoro che in genere svolgono in un vero lavoro.

Se una persona non ha mai lavorato con altri programmatori su un progetto, ciò potrebbe richiedere una curva di apprendimento ripida.

Il modo di imparare a programmare è il modo di imparare qualsiasi cosa: esercitati a farlo. Un sacco.

1
David R Tribble

Ricorda che, un migliaio di miglia inizia dal primo passo. Tutto inizia dall'inizio della laurea è solo un ponte che ti porta al primo passo della vita. Quindi hai appena iniziato, metti tutte le azioni in ogni piano che hai, un giorno sarai nel posto che vuoi essere. Buona fortuna amico mio.

1
Vicheanak

Ho avuto la stessa sensazione quando mi sono laureato in informatica ma ho continuato a leggere libri (hs, iniziato da Visual Basic 6) e poi Oracle e Java. Più leggi, più puoi conoscere per provare. Dopo quattro mesi di lettura e di pratica, ho risolto quegli alogritmi con i quali ero così povero nella laurea.

1
pakhtana

Hey!
La tua domanda è molto buona, ed è lo scenario di vita reale per molti studenti appena esaminati. Mi sono anche appena laureato e durante tutto il mio periodo di istruzione, ho sentito che la scuola mi dava poche conoscenze preziose e molte informazioni inutili.

Il fatto con il college è che non ha tempo di darti una conoscenza molto profonda. Nella maggior parte dei corsi, hai solo il tempo di concentrarti sulle basi di un'area specifica all'interno della zona (sì, è così soffice). L'approccio è quello o semplicemente cerca di dare agli studenti una conoscenza generale dell'area (questo ovviamente è diverso a seconda del grado di difficoltà del corso).

Ho avuto la fortuna di ottenere un lavoro di sviluppo subito dopo la laurea. Molti pensavano che ciò fosse ingiusto, perché non sono un programmatore incredibile. Conosco le basi e conosco un'area un po 'più profonda. Ciò in cui penso generalmente di essere bravo e che le persone dovrebbero essere è COME ottenere la conoscenza. Secondo me, questa è la più importante conoscenza che la scuola mi ha dato. Come molti dicono, non puoi sapere tutto. Ciò che conta è che alla fine tu sappia cosa dovresti sapere. Pertanto, sapere come ottenere la conoscenza richiesta è molto più importante, che in effetti conoscerla dall'inizio.

Una cosa da non sottovalutare è il valore delle abilità sociali. Puoi essere un programmatore davvero bravo, ma socialmente handicappato. Non sai come promuoverti o lavorare insieme alle persone. In particolare l'ultima cosa, lavorare insieme alle persone. In un progetto, sei (la maggior parte delle volte) costretto a lavorare con le persone. Se hai grossi problemi con questo e hai effettivamente ottenuto il lavoro, probabilmente avrai difficoltà a rimanere lì.

Soggetto molto interessante!

1
user373455

Spara alla luna e atterrerai tra le stelle. Non esitare a fare domanda per le grandi aziende, non sai mai cosa stanno cercando e credo che quando ti laurei davvero non sai molto di niente, otterrai la maggior parte della tua esperienza sul posto di lavoro. Basta entrare e col tempo sarai un grande programmatore.

1
Harry

user30997:

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.

Non so se posso essere completamente d'accordo con te su questo argomento. Lo so dalle mie esperienze personali nelle mie lezioni di ingegneria del software che non era il caso per noi. In quelle classi, si è visto che l'aspettativa era che avremmo insegnato a noi stessi tutto ciò che avremmo bisogno di sapere per i nostri progetti, mentre i nostri professori hanno continuato a insegnare diagrammi UML che di solito finivano per buttare via una volta che siamo effettivamente arrivati ​​alla programmazione.

Ma immagino che la tua scuola fosse probabilmente diversa dalla mia. Volevo solo sottolineare che i progetti scolastici non sono sempre così facili come potresti pensare. Dipende solo dai professori e dal loro stile di insegnamento.

1
Liars_Paradox

Ma capisco perché OP vuole studiare algoritmi. Per il neolaureato in informatica, non siamo solo in competizione tra loro ma anche con coloro che non hanno preso l'informatica ma hanno preso la programmazione al college o sono autodidatti. Per noi, i nostri punti di forza non sarebbero quante lingue conosciamo o se conosciamo bene anche queste lingue. Per lo scienziato informatico, la sua più grande forza sarebbe la sua capacità generale di risolvere i problemi. Puoi sempre cercare una determinata classe o un determinato metodo in un secondo momento, se necessario. Non importa davvero se ricordi tutto quello che c'è da sapere in una lingua, perché se non sai come usarlo, non riuscirai a fare il lavoro.

Vengono creati nuovi linguaggi e quelli vecchi cambiano, ma i principi generali alla base della programmazione, ovvero i principi alla base della risoluzione di un problema in generale, rimangono gli stessi.

1
Liars_Paradox

Ho notato che le tue abilità includono Objective-C per iPhone e lo sviluppo di iPAD è di gran moda in questo momento. Acquista un Mac o ottieni un'immagine VM di Mac OS X e inizia a creare. Pensa a un gioco o qualcosa che ti piacerebbe avere su iPhone e prendilo come un progetto hobby. Uno degli sviluppatori laureati in cui lavoro ha creato alcuni giochi per iPhone e ha ottenuto il lavoro qui. Ora è un membro prezioso del nostro team di sviluppo .NET, Java, PHP, Objective-C.

Come tutti hanno detto, non arrenderti, continua a fare domanda per tutti i lavori.

1
Nickz

La cosa più importante da tenere a mente è che sei andato a scuola per ottenere una laurea, non solo per insegnarti come programmare. A scuola ti insegnano come pensare e come risolvere i problemi. Essere un grande programmatore dipende da te :) e ci vuole molta pratica.

1
damstr8

Prima di tutto, tamponati sulla schiena perché il tuo non è un caso singolare. Questa realizzazione avviene per molti laureati CS. Tuttavia, ci sono alcuni punti in te che sono degni di valutazione:

  1. guardi siti come Google e pensi alla sua implementazione
  2. sei onesto

La curiosità deve essere la tua forza trainante e soprattutto in un campo che necessita di apprendimento continuo, la curiosità può essere considerata una risorsa.

L'onestà deve essere molto utile. Quando lavori in gruppo, l'onestà è essenziale per il successo del gruppo.

Per quanto riguarda l'apprendimento della programmazione, non tentare di assimilare tutti i dettagli degli algoritmi alla volta. Sembrerà un compito erculeo. Scegli invece un'attività che ti piace e migliora gradualmente il tuo codice.

Sei abile in due belle lingue: C e Python. Puoi scegliere progetti che coinvolgono entrambi, leggere il codice dei progetti open source e provare a modificarli a tuo vantaggio. Leggere le API e combinare insieme le librerie per farle funzionare è facile; ma cerca di comprendere i principi di progettazione alla base dell'API.

Di recente, quando ho iniziato un nuovo progetto, ho iniziato a leggere in background. Ho dovuto salvare importanti URL in un file in modo da poterli riferire ai miei amici. Poi mi è venuto in mente di avere un pulsante, nel mio browser, che quando cliccato aggiungeva l'URL della scheda corrente a un file pre-assegnato con un commento opzionale. Non è un compito molto grande; ma sarà utile a me e ai miei amici. Non l'ho ancora fatto; ma ne ho parlato con un amico e lo farà presto.

1
dknight