2010-03-25 10 views
7

Sono stato uno sviluppatore C++/Linux fino ad ora e sono esperto in questo stack. Ultimamente ho avuto opportunità che richiedono competenze Perl, Unix (con conoscenza di C++, shell scripting). Le organizzazioni stanno mostrando interesse anche se non ho molta esperienza di scripting per vantarmi. Il ruolo è più in un supporto, progetto di manutenzione che coinvolge anche SQL. Off late sono in una correzione se rinunciare a queste offerte o no.Hopping da un lavoro C++ a un lavoro Perl/Unix

Non conosco le dinamiche di un'organizzazione IT e quindi da un lato temo che la mia esperienza C++ venga annullata e sul lato positivo sto lavorando a un nuovo stack tecnologico che aggiungerà solo al mio insieme di abilità.

Sono sicuro che la maggior parte di voi a un certo punto del tempo ha incontrato tali dilemmi e avrebbe preso una decisione.

  • voglio di condividere i punti di vista su un tale scenario in cui una persona è necessario per modificare il suo/la sua tecnologia stack quando si cambia la sua/il suo lavoro.

  • Quali sono i pregi e i demerit in andando con una delle opzioni?

  • Inoltre so che il C++ non sta andando ovunque nel prossimo futuro. Cosa su perl? Non ho idea di cosa sia lo futuro per lo sviluppatore di perl? Se ci sono abbastanza opportunità per uno sviluppatore perl?

    Sto facendo questa domanda qui perché la maggior parte dei miei colleghi programmatori affrontano questo dilemma di scelta professionale.

EDIT: Dal momento che l'ultima volta che ho fatto questa domanda, ho fatto la mia mente per passare. Stavo per firmare sulla linea tratteggiata, ma qualche intervento divino mi ha spinto a chiedere un chiarimento sull'orario di lavoro e, con mio orrore, il profilo mi ha richiesto di lavorare in turni con cui non mi trovo mai a mio agio. Ero molto più livido perché non avevano chiarito questo punto prima. Era un'organizzazione rinomata, ma comunque ho dato loro il mio pensiero e ho detto grazie mille.

Grazie.

risposta

5
  • Per quanto riguarda cambio della pila, che sicuramente aiuta a lungo termine nella tua carriera, sia per esperienza in più a disposizione per offrire al prossimo datore di lavoro di lavoro ampliato set che si può beneficiare di un aumento della IQ di programmazione a causa di conoscere diversi punti di vista (es. Perl, per tutte le sue origini di scripting, se usato correttamente, ha sia OO che paradigmi funzionali molto belli disponibili, ma questo punto si applica a qualsiasi nuova tecnologia).

    Tuttavia, devi essere disposto a fare uno sforzo extra per imparare effettivamente nuovo stack/ambiente/lingua e imparare a fare cose in modo nuovo (ad esempio non scrivere codice C++ in Perl :) - specialmente per quest'ultimo beneficio per iniziare. Si prega di notare "ambiente" lì - il salto comporta ad esempio l'apprendimento di nuovi debugger e tecniche di debug (per me la cosa più difficile dello sviluppo del C++ dopo il passaggio da Perl finora è probabilmente fare un debugging efficace con gdb dopo essere stato utilizzato per la flessibilità/potenza del debugger perl).

    Personalmente ho dovuto fare questo salto due volte, dallo sviluppatore C al Perl e 10 anni dopo, dal Perl al C++.Ho imparato molto entrambe le volte e non mi dispiace di aver fatto il salto. Il primo salto è stato dal ruolo IT (Junior SA/Produzione con qualche codifica C) a uno sviluppatore full-on, il secondo è stato solo un salto tra diversi team di business.

  • Per quanto riguarda i demeriti, si prega di essere consapevoli del fatto che si perderà il vantaggio in qualsiasi stack non si sta attualmente utilizzando per un po '. Non dimenticare completamente, ma da nessuna parte vicino a dove eri rimasto - e questo non conta nemmeno il fatto che la pila potrebbe essersi evoluta naturalmente nel tempo trascorso. Inoltre, come ho detto, DEVI aspettarti che per essere efficace, devi impegnarti molto per diventare fluente in idiomatica, filosofia ed ecosistema del nuovo stack. Per esempio. semplicemente imparare Perl è un piccolo tassello del puzzle - devi familiarizzare con una grossa porzione di CPAN, proprio come dovevi sapere STL ecc ... Non è un vero demerito per quanto mi riguarda, ma un punto che deve essere tenuto presente.

  • Per quanto riguarda le opportunità per sviluppatore Perl, this was extensively covered on SO before. Mentre il numero assoluto di posti di lavoro è probabilmente inferiore a quello di Java o C++, uno sviluppatore di alta qualità sarà sempre richiesto, e ci sono un sacco di aziende (incluso, o potrebbero essere soprattutto, nel settore finanziario) che usano seriamente lo sviluppo di Perl (al contrario di semplici script amministrativi). Il linguaggio stesso si sta sviluppando e sta andando avanti.

3

Questa è una domanda molto soggettiva. Se C++ è "andare in posti" dipende da dove si guarda e da chi chiedi. Ad esempio, il C++ è il linguaggio di sviluppo per i videogiochi e l'elaborazione grafica, ed è anche usato molto nei driver di dispositivo insieme a C (di solito vedo un ibrido "C + -", dove alcune funzioni sono usate da C++ in congiunzione con più architettura in stile C).

Mi sono spostato da un ambiente C/C++ in uno prevalentemente Perl, con un forte Unix per tutto il tempo (in realtà non conosco la programmazione API di Windows, .NET, VB-Basic ecc.).

Fondamentalmente ciò che suggerirei è attenersi a ciò che ti piace di più. Questo potrebbe non essere lo stesso di quello che attualmente conosci o meglio. Ci sono opportunità in un insieme diversificato di tecnologie. Non dare per scontato che dovresti legarti a un unico ambiente: dilettarti un po 'e divertirti. Molte sfaccettature della programmazione sono costanti attraverso linguaggi e ambienti. Sii bravo a risolvere i problemi, a scrivere test unitari, a refactoring e a pianificare un progetto, e farai bene indipendentemente dal set di tecnologie con cui stai lavorando.

+1

@Ether, qual è stato l'unico fattore che ti ha spinto a passare a Perl? Inoltre quali sono state le sfide che hai affrontato quando hai fatto il passaggio? Per quello che mi piace di più. Sta lavorando su una piattaforma Unix/Linux (facendo un po 'di interfaccia con l'elettronica), mi dà un alto equivalente a un peg di vodka. Saluti!!! – rocknroll

+0

Perl's innate awsomness ... quella o un'offerta di lavoro :) – DVK

1

Perché non utilizzare la competenza C++ quando si lavora con Perl (se del caso)? È abbastanza possibile estendere Perl con C e C++. Non sto suggerendo di scrivere tutto il codice in C++ solo perché lo conosci e piuttosto di mettere un sottile strato Perl in cima, naturalmente.

Essere esperti nelle tecnologie correlate è un grande vantaggio, non una qualifica errata per un lavoro tecnico. Ti suggerirei di cogliere l'opportunità per imparare una nuova tecnologia. Tornare da "esperto ma arrugginito" a "sopra di esso" nella tua disciplina del pane e burro dovrebbe essere un gioco da ragazzi se devi farlo in un secondo momento.

+1

@tsee - è un buon punto, ma lo sviluppo di XS è una nicchia piuttosto piccola e non c'è QUELLO che molti lavori probabilmente ne hanno bisogno ... anche se l'offerta che OP ha sul tavolo è uno di loro sarebbe davvero una grande sinergia per lui.Ora andrò a ubriacarmi perché ho usato la parola "sinergia" nella gentile compagnia :) – DVK

+1

Concordo sul fatto che lo sviluppo di XS sia una nicchia, ma è un'abilità che viene utilizzata e necessaria più spesso di quanto molti programmatori Perl desidererebbero. –

Problemi correlati