consigli di carriera per dottorandi che cercano di programmare? [chiuso]

13

Sono in gran parte un programmatore autodidatta. In effetti, ho iniziato a programmare circa a metà della scuola di biofisica e, anche se penso di aver fatto un lavoro molto carino, non ho mai lavorato come parte di un team di sviluppo "serio" che aveva più di uno o due altri sviluppatori (e non esiterei a chiamarli altrettanto inesperti nello sviluppo del software come professione).

Dopo aver terminato il mio dottorato di ricerca, mi sono concentrato sulla programmazione, ufficialmente come postdoc, ma in modo non ufficiale come programmatore di ricerca dello staff. In quel periodo ho anche avuto due interviste a Google, ma non un'offerta vera e propria. Così come sono ho messo radici e probabilmente non avrei potuto comunque fare il lavoro. Casa + moglie con un lavoro molto ben pagato, ecc. Sono passati circa tre anni e la mia onesta valutazione è che ho imparato un sacco di più, ma ho davvero bisogno di più di un gruppo di pari per mantenere o accelerare la mia crescita. Il problema è che, ogni volta che guardo, la maggior parte degli annunci di lavoro ha requisiti che sembrano incredibilmente grandiosi e io esito ad applicare. Quello, o il lavoro / progetto sembra incredibilmente noioso.

Ho il sospetto che la maggior parte delle persone sia molto meno realistica di me quando si tratta di valutare quanto tempo impiegheranno ad accelerare, o se non gli interessa; la mia paura è che sono solo tristemente non qualificato per qualsiasi lavoro di sviluppo interessante e ben pagato. IE: Sono fiducioso di poter tornare completamente in modalità C ++ con un paio di settimane di lavoro (uso principalmente C, Python, C # al giorno) ma non mi elenco come "abile" in C ++ sul mio CV, o di applicare per lavori che "richiedono" tale conoscenza. Le poche applicazioni per le quali ho avuto la sensazione di essere una coppia legittimamente buona non hanno suscitato una risposta.

Sospetto che le seguenti cose siano potenziali problemi con la mia domanda / CV e vorrei un feedback:

Non ho una laurea in CS. La mia laurea in biochimica e biologia molecolare, il mio dottorato in biofisica. Ho seguito corsi di laurea e algoritmi di livello grad e li ho completamente uccisi, ma non so come tradurre ciò nel mio CV in modo efficace (la differenza tra ottenere un A + e fumare tutti nella classe).

Ho un dottorato di ricerca, ma non è in CS ... Ho discusso se dovrei rimuoverlo dal mio CV, e anche se sarebbe fuorviante elencare almeno alcuni di quegli anni come una specie di lavoro "di programmazione" (per molti aspetti lo era).

Penso che a volte ci siano forti stimmi associati ai programmatori "autodidatti". Sono certamente uno di quelli. Riconosco persino che alcuni di questi stimmi hanno un tocco di verità, ma voglio davvero essere un vantaggio per una squadra. Come posso comunicare che, anche se sono stato in gran parte autodiretto per circa 8 anni, posso ancora prendere ordini di marcia quando necessario? Lo dico solo apertamente?

Dovrei diventare molto meno scrupoloso sull'intero processo? aneddoto: ho un amico che ha fatto domanda per le posizioni in cui ha completamente modificato le sue qualifiche per superare il primo abbattimento. Era molto più onesto e disponibile riguardo alle sue effettive qualifiche quando veniva contattato e riusciva comunque a essere invitato a un paio di interviste e persino a ricevere alcune offerte. Le sue palle sono più grandi delle mie però.

    
posta C SD 17.02.2011 - 11:43
fonte

6 risposte

12

Come posso dire questo: i programmatori arrivano a una decina di dozzina, ma i programmatori con esperienza biofisica sono probabilmente molto rari. Quindi se fossi in te, prima tenterei di ottenere un lavoro nel tuo campo, un lavoro in cui la programmazione è parte della descrizione del lavoro (o ne fa parte della descrizione del lavoro). In questo modo svilupperai competenze molto più competitive e uniche rispetto a quello che ha lo sviluppatore medio che potrebbe alla fine farti un ottimo lavoro.

Quando pianifichi la tua carriera, non devi pensare solo al prossimo anno o giù di lì, pensa a cinque-dieci anni a lungo termine. Se la programmazione è qualcosa che ami ma forse non hai alcuna istruzione formale, allora devi sfruttare le tue altre competenze per ottenere il lavoro che desideri.

    
risposta data 17.02.2011 - 15:46
fonte
2

In primo luogo, impara a concentrarti. Sul serio. È necessario modificare le backstories complesse lunghe.

I don't have a CS degree.

Neanche una parte sostanziale dei programmatori funzionanti. Nei grandi negozi IT, esiste un buon numero di gradi associati.

I have a PhD, but it's not in CS... I've been debating if I should remove it from my CV,

No. Nell'industria, qualsiasi grado è ciò che è importante. Anche in questo caso, per i lavori entry-level in cui è possibile acquisire esperienza, ovvero il negozio IT presso una compagnia assicurativa, competi con i bambini con lauree associate.

I think there are sometimes strong stigmas associated with 'self-taught' programmers.

Che cosa? La maggior parte delle persone IT con cui ho lavorato sono autodidatta perché le loro aziende sono troppo economiche per portare istruttori per nuove tecnologie.

Basta applicare per ogni lavoro di programmazione che ci sia. Più si applica, più capirai cosa stanno cercando.

Alcuni grandi negozi di informatica in alcune assicurazioni sanitarie casuali saranno perfettamente felici di avere qualcuno che sia ragionevolmente intelligente e che conosca la tecnologia anche se è autodidatta.

Poiché la maggior parte (più della metà) dei programmatori che lavorano non ha (a) un grado utile e (b) è autodidatta in una o più delle tecnologie che si prevede di utilizzare, le sue preoccupazioni sono interamente sprecate strizzare.

Se vuoi apparire più professionale, inizia leggendo altro codice. Inizia con progetti open source che ti interessano e decodifica completamente il codice di base in modo da poter vedere quali sono le migliori pratiche.

Inoltre, data la scelta, alla maggior parte dei negozi IT viene detto di assumere persone con "conoscenza del business" invece di competenze tecnologiche. Quindi, se hai una gran parte del dottorato in un argomento casuale (seriamente, la tua domanda è stata così lunga e sconclusionata ...) quindi concentrati su quel settore.

    
risposta data 17.02.2011 - 12:10
fonte
1

La verità è che probabilmente dovrai affrontare uno di quei lavori "incredibilmente noiosi" per avere un piede nella porta. Ma una volta che hai 6-12 mesi come programmatore funzionante sul tuo CV, dovresti essere in grado di andare avanti e indietro abbastanza rapidamente.

    
risposta data 18.02.2011 - 04:05
fonte
0

Credo fermamente che la programmazione sia un'arte e provenga dalla pratica piuttosto che dai gradi.
Sì, è piuttosto scoraggiante che spesso le organizzazioni particolarmente grandi (come Google) sottovalutano i programmatori autodidatti perché non hanno gradi più alti. Sembri una persona con un strong livello di pazienza e non mi considero abbastanza qualificato per consigliarti ma vorrei menzionare alcuni punti che potrebbero aiutarti:
1. Provare in piccole organizzazioni in cui preferiscono il talento.
2. Open Source è la piattaforma per mostrare il tuo talento, acquisire conoscenze di sviluppo reali. Pagina 3. Certificazioni: ci sono diverse certificazioni di programmazione offerte da giganti come MS, Oracle, ecc. Sicuramente aggiungendo questi nel tuo curriculum darà un vantaggio alla tua programmazione.
buona fortuna! :)

    
risposta data 17.02.2011 - 12:14
fonte
0

Anch'io lavoravo come postdoc. Se puoi, prendi alcune lezioni di CS nella tua università. Molto probabilmente non puoi prendere ufficialmente le lezioni poiché non sei uno studente pagante, ma puoi chiedere all'istruttore di classe e agli AT se puoi partecipare al corso e fare i progetti. Non otterrai i tuoi compiti a casa, ma vai in ufficio e usa le risorse.

Perché vorresti farlo? Ci sono alcune classi che non si possono imparare da soli senza seguire una buona lezione e porre domande in modo interattivo. Suggerirei di prendere lezioni per:

  • algoritmi
  • strutture di dati (a volte combinate con una classe di algoritmi, se no, di solito la seconda classe di programmazione offerta dall'università) *
  • networking (in particolare programmazione socket TCP / IP) *
  • database (utilizzo SQL, in particolare)
  • sistemi operativi *
  • linguaggi di programmazione (di solito un'indagine sui linguaggi di programmazione)

L'asterisco * indica che si tratta di classi solitamente pesanti per la programmazione, quindi aiuteranno la tua capacità di programmazione complessiva.

    
risposta data 18.02.2011 - 02:08
fonte
0

Rilassati! I nostri lavori pubblicati più popolari sono scritti in narrativa. Non giudichiamo in base ai meriti accademici o alla loro mancanza. Siamo circa il gruppo scientifico più aperto e indiscriminato là fuori. Essere in grado di contribuire con qualcosa di utile è tutto ciò che è importante.

Prendi il punto # 2 di Ranger. Non devi essere coinvolto in un grande progetto open source se non hai tempo. Potresti semplicemente scrivere una piccola biblioteca. I datori di lavoro amano quando ti avvicini a loro con un repository pubblico dove possono rivedere alcuni dei tuoi lavori - possono immediatamente valutare che puoi seguire le linee guida di stile della comunità, che puoi leggere il codice di altre persone e che puoi scrivere il codice che è isolato, impacchettabile , distribuito e sotto controllo di revisione. La maggior parte degli studenti CS non è nemmeno in grado di farlo, quindi parla di lacune nella loro conoscenza.

Alla fine, sei già un appassionato di programmazione. Chi o cosa è lì per fermarti?

    
risposta data 18.02.2011 - 03:23
fonte

Leggi altre domande sui tag