Spostando la tua carriera in un altro linguaggio di programmazione [chiuso]

20

Ci metterò al sodo. Sto cercando consigli su come uno sviluppatore esperto possa convincere un potenziale datore di lavoro che dovrebbero essere considerati per una posizione che utilizza un'altra lingua. Ciò si verifica quando vengono soddisfatti altri requisiti specifici non linguistici (conoscenza del controllo della versione, OO, grado, ecc.). Ad esempio, uno sviluppatore PHP con esperienza che desidera passare a una posizione Perl. È possibile? Quanto sarebbe difficile? È dipendente dalla lingua?

EDIT: Le risposte che ho ottenuto sono la prova che questo futuro della comunità è davvero brillante, ma purtroppo mi consente solo di selezionare una risposta. Grazie a tutto ciò che ha risposto.

    
posta canadiancreed 25.03.2011 - 04:16
fonte

10 risposte

17

Parlare come qualcuno che ha rilasciato interviste.

Sii onesto

Fai sapere loro che stai cambiando traccia e di dire loro quanto a lungo pensi che ti porterà ad aumentare.

Sii entusiasta

Mostra loro che sei entusiasta dell'apprendimento della nuova lingua. L'entusiasmo può compensare l'esperienza quando sai che lo sviluppatore tornerà a casa e continuerà a programmare nella stessa lingua.

Comprensione dei concetti CS

Avere una comprensione più profonda faciliterà la raccolta di una nuova lingua (tra le altre cose).

Mostra che conosci una lingua correlata

Imparare Ruby una volta che conosci Perl non è un grande salto. Learning Scheme quando conosci solo C è un enorme salto.

Mostra che conosci già 3 lingue

Più lingue conosci e più è facile raccogliere fino a quando non diventa un caso di apprendimento degli idiomi più della sintassi.

    
risposta data 25.03.2011 - 06:30
fonte
20

Un programmatore esperto dovrebbe essere in grado di imparare praticamente qualsiasi linguaggio di programmazione, oltre a qualsiasi ragionevole strumento di programmazione. Se vuoi passare a una nuova lingua, leggi un libro o due nel tuo tempo libero, esercitatelo a casa e invia un curriculum come tutti gli altri.

    
risposta data 25.03.2011 - 04:22
fonte
8

Full disclosure: non l'ho provato io stesso

Mi sembra che tu abbia bisogno di una strategia in due parti per farlo funzionare. In primo luogo, è necessario mettere il piede nella porta per un colloquio. Ciò significa superare i filtri di curriculum e risorse umane. Qualsiasi modo in cui puoi utilizzare la nuova parola chiave della lingua nel tuo curriculum senza mentire (ad es., Contribuire con un progetto open-source). Una volta ottenuto un colloquio, è necessario dimostrare al gestore assumente che ...

  • puoi parlare in modo intelligente sulla nuova lingua (specialmente se non sei ancora un esperto)
  • sei in grado di raggiungere velocemente la velocità in modo da non restare indietro ai tuoi colleghi

Penso che qualsiasi programmatore di talento in qualsiasi lingua dovrebbe essere in grado di farlo con sufficiente pazienza. Avrai bisogno delle giuste opportunità presso l'azienda giusta con le giuste circostanze per essere assunto per una nuova lingua. Quindi, in breve, proprio come essere assunti per un lavoro normale. : -)

    
risposta data 25.03.2011 - 04:33
fonte
7

Più di 25 o forse anche 30 anni ho dovuto imparare molte nuove lingue. Così tanti ora ho perso il conto. Ecco una lista approssimativa.

Se vado via, via del ritorno ...

8080, Z80, 6502, 8086, 80286 assemblatore.

BASIC (circa 6 varietà).

APL (yay)

PL / 1

FORTRAN 4 e 77

COBOL (credici o no)

PASCAL (diverse varietà tra cui Delphi)

OCCAM2 (un sacco di divertimento - creazione di processi istantanei)

C (molti compilatori, molti processori, molte varianti strane)

C ++

Ada (grandi sistemi e anche sistemi embedded)

Un piccolo Perl solo per divertimento

PHP

Sono stati utilizzati su tutti i tipi di macchine: piccoli sistemi integrati, schede di sviluppo, mainframe IBM con TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, sistemi embedded senza SO, sviluppo hosted remoto ambienti, in e sulla lista va.

E ci sono alcune cose più oscure gettate nel modo in cui non riesco a ricordare (o non voglio ... PL / M).

Ognuno di questi ha dovuto essere appreso perché faceva parte del lavoro svolto. Nella maggior parte dei casi non avevo esperienza in anticipo, solo un manager tollerante e la volontà di fare il salto e portare a termine il lavoro.

Se imparare qualcosa di nuovo ti interessa, compra un libro, gioca, fai le cose nel tuo tempo libero. Se vai per una posizione, sembra buono su un curriculum che hai fatto perché ti interessa.

Come una delle altre risposte ha sottolineato, il più delle volte i concetti per fare roba mainstream non cambiano molto, solo i mezzi per esprimerlo. (Ovviamente puoi entrare in alcune lingue molto insolite che non sono OO o procedurali e questo richiede un cambiamento di mentalità.)

Se hai la possibilità di fare qualcosa di un po 'fuori dall'ordinario come parte del tuo lavoro, allora afferra le possibilità finché puoi. La maggior parte delle cose sopra elencate non ho usato per anni e non è probabile che la usiate di nuovo, ma non si sa mai. Un giorno mi piacerebbe davvero costruire una macchina APL microcodificata:)

    
risposta data 25.03.2011 - 07:00
fonte
4

Come aneddoto personale, sono stato assunto per una posizione Java mostrando una demo basata su PHP. Penso di averlo capito perché conoscevo una lingua da un certo dominio (se può essere chiamata in quel modo), quindi non lo farei t re-imparare i concetti completi, sarebbe come usare una penna invece di una matita (hai capito bene?).

Credo che ciò che è veramente importante è dimostrare di avere un buon sviluppo del software, concetti CS e capacità comunicative, che tu cerchi soluzioni ai problemi anche a quelli più difficili, che tu voglia essere utile al tuo lavoratori, automatizzare e semplificare il loro lavoro e, cosa più importante (almeno per me) che sei umile e ammetti che non sai tutto e che sei disposto a saperne di più.

(Totalmente abusato della parola "that" ..)

    
risposta data 25.03.2011 - 07:32
fonte
3

Ho sempre preso solo un lavoro in cui conoscevo già il linguaggio di sviluppo primario, quindi sì, non solo è possibile, ho sempre pensato che fosse comune.

La cosa da ricordare è che è l'unica lingua fuori da molte lingue e tecnologie che probabilmente usano. SQL è SQL. Non importa se lo fai in Python o Perl. E la configurazione del server DB non è nemmeno legata alla lingua. HTML è HTML, non importa se è generato da PHP o ASP. Lo stesso con XML. Le prese sono prese, funzionano praticamente allo stesso modo in tutte le lingue. OpenGL funziona allo stesso modo in Delphi come in C ++. La sintassi specifica è una piccola parte dell'immagine quando si guarda allo sviluppo nel suo complesso. Alcune di queste abilità sono enormi argomenti di per sé e molto più difficili da imparare rispetto a una nuova lingua.

Il punto è, concentrati sulle abilità. Certo, potresti non conoscere la loro principale tecnologia di sviluppo, ma questo è solo un pezzo del puzzle. Ma è probabile che utilizzino anche altre tecnologie e sistemi operativi che tu conosci.

    
risposta data 25.03.2011 - 05:27
fonte
1

Farai fatica ad entrare nella porta se non hai gli acronimi di scrittura sul tuo curriculum. Se vuoi cambiare, dedica un po 'di tempo ai progetti personali per impararlo abbastanza bene e poi evidenziarlo.

    
risposta data 25.03.2011 - 04:31
fonte
1

È certamente possibile. Ho appena iniziato un lavoro in cui sto lavorando in ruby, javascript e via. Prima di iniziare non avevo molta esperienza con nessuna di quelle lingue.

Penso che la chiave del mio successo qui sia che nel tempo tra la risposta iniziale e l'intervista, mi sono assicurato di conoscere abbastanza ruby (la loro lingua principale) per capire e scrivere codice del mondo reale. Penso anche che abbia aiutato a conoscere Python e C che sono abbastanza simili a ruby e go.

    
risposta data 17.05.2011 - 07:16
fonte
1

La società per cui lavoro non ha cercato "programmatori C #". Qualsiasi buon programmatore farebbe come può prendere una lingua in poco tempo.

Se assumi programmatori con l'idea che restino per alcuni anni, non riesco davvero a vederlo come un problema, hanno tutto il tempo per imparare i dettagli e uscire dalla lingua. Se se ne vanno dopo un anno, probabilmente è una perdita di tempo.

    
risposta data 17.05.2011 - 09:28
fonte
0

IMHO, non tutti i programmatori reagiscono in modo simile. La lingua è religione; -)

Nella mia esperienza personale, amo imparare una nuova lingua ma si tratta di amare o odiare molto rapidamente. Posso innamorarmi di una nuova lingua il primo giorno lo sa e lo uso per gli anni a venire. Ho anche odiato le lingue dall'inizio fino ad ora, anche centinaia di migliaia se non milioni di programmatori li stanno usando.

Quindi consiglierei di non comandare un programmatore peer in un'altra lingua. Invece, chiacchiera sulla preferenza della lingua durante l'ora della birra del venerdì sera, per scoprire il suo amore o odio.

  • Lascio intenzionalmente i nomi di lingua in questa risposta ; -)
risposta data 25.03.2011 - 04:57
fonte

Leggi altre domande sui tag