Come posso compensare per essere passato a una JavaSchool? [chiuso]

17

In una domanda precedente , ho chiesto consigli di carriera per i nuovi ingegneri del software che hanno fatto molto prima e durante il college. Ma che dire delle persone che non erano abbastanza fortunate da andare al MIT o a Yale, per qualsiasi motivo? Che cosa succede se sei andato su ciò che Joel Spolsky chiama a JavaSchool ?

Che cosa possono / dovrebbero gli alunni di JavaSchool fare per sviluppare le loro capacità e compensare ciò che mancavano all'università? (Oppure, Joel si sbagliava sul fatto che quelle scuole fossero svantaggiose?)

    
posta Pops 09.09.2010 - 23:47
fonte

5 risposte

12

Nonostante le affermazioni fatte da Joel in quell'articolo - e concede il punto lui stesso - molte delle aree tematiche che potrebbero mancare a una "JavaSchool" non sono necessarie per molti lavori.

Ho partecipato a qualcosa che suppongo che assomigli a una JavaSchool in cui trascorriamo la maggior parte del nostro tempo concentrandoci su linguaggi di alto livello come C # e Java, ma ciò non cambia il fatto che "Algoritmi e strutture di dati" fa ancora parte dell'elenco di classi richiesto, per non parlare di tutte le altre classi orientate alla teoria. Certo, non tutti i "JavaSchools" sono uguali, ma non è questo il punto.

Secondo me, più importante della comprensione di alcuni degli argomenti di sviluppo più grigi è la capacità di risolvere efficacemente i problemi quando sorgono sfide uniche. Come ingegneri del software, facciamo la maggior parte del nostro apprendimento sul lavoro e in quanto tali, due dei più grandi aspetti della nostra descrizione del lavoro sono in grado di risolvere i problemi e di essere in grado di raccogliere concetti non familiari. Se, durante un'intervista, uno non è in grado di fare un tentativo comprensibile e logico per risolvere un problema che è nuovo per loro, allora la loro incompatibilità per una determinata posizione probabilmente si rivelerà.

Ovviamente, quando assumi qualcuno per una posizione che richiede una costante esposizione e l'uso di qualche argomento intricato che potrebbe essere sfuggito a una JavaSchool, è spesso la scelta logica per andare con qualcuno che ha una comprensione precedente, ma la mancanza di esperienza non dovrebbe sempre precludere l'idoneità al lavoro .

Più che probabile, il ragazzo di 50 anni della tua compagnia che è stato lì per tutto il tempo che qualcuno può ricordare non ha avuto alcuna comprensione di Java fino a quando il suo lavoro (attuale o precedente) gli ha chiesto di impararlo - e lui fatto così. A rigor di termini, è una cattiva pratica licenziare "il vecchio" in modo che un candidato più giovane e più "aggiornato" possa prendere il suo posto; Detto questo, se la descrizione del lavoro di qualsiasi dipendente giovane o vecchio cambia, è responsabilità di quel dipendente farsi prendere o trovare un nuovo lavoro. Solo perché un individuo (specialmente un programmatore con esperienza passata) non capisce un concetto, non significa che non è disposto o incapace di apprenderlo. Infatti, se non sono disposti a imparare, probabilmente non appartengono a nessun lavoro - molto meno ai tuoi.

È giusto dire che alcuni "JavaSchools" sono migliori di altri, e questo fatto dovrebbe certamente essere preso in considerazione quando si seleziona un candidato per una posizione, ma ci sono caratteristiche personali molto più importanti del solo dove qualcuno andava a scuola.

È nostra attitudine affrontare un problema e trovare una soluzione che ci definisce come ingegneri, la maggior parte di tutto il resto è secondario.

    
risposta data 10.09.2010 - 00:58
fonte
1

Perché non utilizzare un libro di testo che introduce la programmazione in modo diverso da come l'hai imparato? Ad esempio, ci sono molti buoni libri gratuiti che usano il paradigma funzionale. Come progettare programmi è molto accessibile. Il classico Structure and Interpretation of Computer Programs (http://mitpress.mit.edu/sicp/) è meno vero, ma fornisce un profondo senso di illuminazione.

Raccomando vivamente di osservare la prima coppia di conferenze di SICEL di Abelson per una prospettiva diversa su cosa sia l'informatica. Sono più vecchi ma sono invecchiati molto bene (http://video.google.com/videoplay?docid=5546836985338782440#).

    
risposta data 10.09.2010 - 01:18
fonte
1

Sento il tuo dolore, come sono andato anche a una JavaSchool. In realtà, il mio è classificato alquanto alto nel Regno Unito per quello che è, anche se gli studenti del mio anno non hanno ottenuto una singola classe Data Structures. Ho avuto la fortuna di essere in grado di prendere il DSA come corso opzionale a causa di errori amministrativi con il mio corso, ma questa è un'altra storia straziante ...

Nella mia esperienza sperimenterai qualcosa in una JavaSchool che non sperimenterai nelle migliori università e questo è lo studente che vuole dimostrare il proprio valore . Proprio come con qualsiasi altra università antica o in mattoni rossi nel mio paese abbiamo avuto i tipici scansafatiche e gli artisti decenti, ma c'era un piccolo gruppo di studenti che erano a conoscenza di ciò che li circondava e di ciò che mancavano nella loro istruzione. Inevitabilmente, queste persone non hanno necessariamente fatto brillantemente nel loro corso, ma hanno lasciato l'università sapendo più di chiunque altro. Siamo stati internati in qualsiasi azienda di software ci portasse durante le pause che avevamo, abbiamo imparato le lingue che non dovevamo mai insegnare e abbiamo studiato le materie che gli altri evitavano perché erano difficili.

Dai miei amici, due di noi stanno portando avanti i nostri studi a livello di Master, raccogliendo tutti i corsi avanzati su dove sentivamo di aver del tutto perso le fondamenta, e un ragazzo spera che la sua recente intervista a Microsoft si tradurrà in un lavoro a tempo pieno. Sto per iniziare presto il mio master, principalmente per colmare le lacune nella mia formazione e passare un altro anno a sviluppare le competenze di cui ho bisogno per massimizzare il mio potenziale in questo settore.

Nel mondo reale la gente manterrà sempre questi pregiudizi, e il più delle volte sono completamente fondati sulla verità. Se ritieni che la tua scuola sia inadeguata, dillo a loro e utilizza siti come questo per costruire il tuo livello di istruzione.

    
risposta data 14.09.2010 - 11:50
fonte
0

Bene, puoi ottenere un lavoro scrivendo un software in Java. Finché sei bravo in quello che fai, la scuola che hai frequentato e / o il tuo maggiore non è particolarmente rilevante dopo il primo lavoro, se anche allora .

    
risposta data 10.09.2010 - 00:02
fonte
0

La cosa migliore che posso pensare è di andare e (ri) apprendere la programmazione in un paradigma completamente diverso, al fine di liberarmi del modo di pensare orientato agli oggetti.

Suggerirei almeno:

  • Lingua assembly , per ottenere un apprezzamento reale su come funziona la macchina
  • Haskell , per una visualizzazione molto pura sulla programmazione funzionale
  • Lisp , per programmazione funzionale impura e metaprogrammazione (Clojure sarebbe la mia prima scelta, ma anche Scheme o Common Lisp sono fantastici)
risposta data 02.10.2011 - 12:08
fonte

Leggi altre domande sui tag