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


21

Ti taglio all'inseguimento. Sto cercando consigli su come uno sviluppatore esperto convincerebbe un potenziale datore di lavoro che dovrebbero essere considerati per una posizione che utilizza un'altra lingua. Ciò avviene con altri requisiti specifici non linguistici (conoscenza controllo versione, OO, laurea, ecc ...). Ad esempio uno sviluppatore PHP con esperienza che cerca di passare a una posizione Perl. È anche possibile? Quanto sarebbe difficile? Dipende dalla lingua?

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


7
lingua! = carriera; developer == developer
Steven A. Lowe

Risposte:


18

Parlando come qualcuno che ha rilasciato interviste.

Essere onesti

Fai sapere loro che stai cambiando traccia e di 'anche loro quanto tempo pensi che ci vorrà per accelerare.

Essere entusiasta

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

Comprendere i concetti di CS

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

Dimostra di conoscere una lingua correlata

Imparare Ruby una volta che conosci Perl non è un grande salto. Schema di apprendimento quando sai solo che C è un grande salto.

Mostra che conosci già 3 lingue

Più lingue conosci e più sono facili da imparare fino a quando non diventa un caso di apprendimento degli idiomi più della sintassi.


Questa è un'ottima informazione da ottenere, vedendo un potenziale candidato dal lato dei responsabili delle assunzioni.
canadese

20

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


4
Non lo sto comprando. Ci vuole tempo per imparare le biblioteche fornite con una lingua. Un principiante c ++ pro / php sarà bravo come un veterinario php di 10 anni? Inoltre, passare da un linguaggio gestito dalla memoria a uno che non lo è è molto più difficile del contrario.
Neil McGuigan,

9
@NRM, perché vuoi " imparare " le librerie? C'è sempre un riferimento disponibile, non dovresti ingombrare il tuo cervello con cose così non importanti come le API.
Logica SK

4
@NRM Esempio non valido. C ++ => PHP dovrebbe essere una transizione quasi banale. Ora, provarlo dall'altra parte è difficile.
Konrad Rudolph,

1
@NRM - ovviamente un "principiante" non sarà buono come un "veterinario" di 10 anni. Tuttavia, ci sono molti lavori per i "principianti". Ecco da dove provengono i veterinari.
davidhaskins,

1
Il problema in questo caso è convincere il potenziale datore di lavoro che è possibile cambiare lingua, in particolare per le risorse umane, che ha solo una richiesta che dice "minimo 37 anni di esperienza Java" o qualcosa di altrettanto stupido.
Fred Larson,

8

Divulgazione completa: non ho provato questo da solo

Mi sembra che avresti bisogno di una strategia in due parti per farlo funzionare. Per prima cosa, devi mettere il piede nella porta per un'intervista. Ciò significa superare qualsiasi curriculum e filtri delle risorse umane. In qualsiasi modo puoi inserire la nuova parola chiave della lingua nel tuo curriculum senza mentire (ad esempio, contribuendo a un progetto open source). Dopo aver ottenuto un colloquio, devi dimostrare al responsabile delle assunzioni che ...

  • puoi parlare in modo intelligente sulla nuova lingua (soprattutto se non sei ancora un esperto)
  • sei in grado di accelerare rapidamente in modo da non essere in ritardo con i tuoi colleghi

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


7

In circa 25 o forse anche 30 anni ho dovuto imparare molte nuove lingue. Così tanti ora ho perso il conto. Ecco un elenco approssimativo.

SE vado molto indietro ...

Assemblatore 8080, Z80, 6502, 8086, 80286.

BASIC (circa 6 varietà).

APL (yay)

PL / 1

FORTRAN 4 e 77

COBOL (che ci crediate o no)

PASCAL (diverse varietà tra cui Delphi)

OCCAM2 (un sacco di divertimento - creazione istantanea del processo)

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

C ++

Ada (grandi sistemi e anche sistemi integrati)

Un piccolo Perl solo per divertimento

PHP

Questi sono stati utilizzati su tutti i tipi di macchine: piccoli sistemi integrati, schede di sviluppo, mainframe IBM che eseguono TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, sistemi integrati senza sistema operativo, ambienti di sviluppo ospitati in remoto, su e sulla lista va.

E ci sono alcune altre cose 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 ho avuto esperienza in anticipo, solo un manager tollerante e la volontà di saltare e fare il lavoro.

Se imparare qualcosa di nuovo ti interessa, allora acquista un libro, gioca, fai le cose a tuo tempo. Se andare per una posizione sembra buono su un curriculum che hai fatto perché sei interessato.

Come ha sottolineato una delle altre risposte, il più delle volte i concetti per fare cose tradizionali non cambiano molto, ma solo i mezzi per esprimerla. (O ovviamente puoi entrare in alcuni linguaggi molto insoliti 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 cogli l'opportunità mentre puoi. La maggior parte delle cose sopra elencate non le uso da anni e probabilmente non le userò più, ma non lo saprai mai. Un giorno mi piacerebbe davvero costruire una macchina APL microcodificata :)


4

Come aneddoto personale, sono stato assunto per una posizione Java mostrando una demo basata su PHP. Penso di averlo ottenuto perché conoscevo una lingua di un certo dominio (se potesse essere chiamato in quel modo), quindi non sarei ri -imparare i concetti completi, sarebbe come usare una penna invece di una matita (hai capito bene?).

Credo che ciò che è veramente importante sia dimostrare di avere un buon sviluppo software, concetti CS e capacità comunicative, che cerchi soluzioni ai problemi anche a quelli più difficili, che desideri essere utile ai tuoi colleghi, automatizzare e semplificano il loro lavoro e soprattutto (almeno per me) che sei umile e ammetti di non sapere tutto e che sei disposto a saperne di più.

(Totalmente abusato della "quella" parola ...)


3

Ho sempre preso 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 in 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, fondamentalmente funzionano 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 insieme. Alcune di queste abilità sono argomenti enormi di per sé e molto più difficili da imparare di una nuova lingua.

Il punto è, concentrarsi sulle competenze. 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 conosci.


1

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


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 stata 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 il codice del mondo reale. Penso che abbia anche aiutato il fatto di conoscere Python e C che sono abbastanza simili a ruby ​​and go.


1

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

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


0

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

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

Quindi consiglierei di non comandare un programmatore alla pari in un'altra lingua. Invece, chiacchiera sulle preferenze linguistiche durante il periodo della birra del venerdì sera, per scoprire il suo amore o odio.

  • Lascio intenzionalmente i nomi delle lingue in questa risposta ;-)
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.