Consulenza sulla carriera: rimanere con PHP o iniziare una nuova carriera in qualcos'altro (.Net?) [Chiuso]


34

Sto programmando di trasferirmi a New York tra 6-12 mesi, quindi sono costretto a trovare un nuovo lavoro. Quando sto programmando di iniziare la mia vita in un'altra città, probabilmente è anche un buon momento per pensare ai cambiamenti di carriera.

Ho trovato molte opinioni diverse su PHP vs .Net vs Java e questo non è l'argomento qui. Non voglio iniziare una nuova lotta su quale lingua è migliore. Conoscere un linguaggio di programmazione non è la cosa più importante per essere uno sviluppatore di software. Per essere uno sviluppatore davvero bravo devi conoscere OOP, modelli di progettazione, test ... e una lingua è solo uno strumento per far accadere le cose.

Quindi torna alla mia domanda. Ho un'esperienza mista nell'IT - 1 anno come addetto al supporto IT (amministrazione e supporto di Windows), circa 2 anni di esperienza nella programmazione integrata (VB.Net 2005) e negli ultimi 2 anni lavoro con PHP / MySQL. Ho lavorato con il web shop Magento, collaborato ad alcuni progetti in Symfony, modificato alcuni siti Drupal.

Le mie principali preoccupazioni sono le seguenti:

  1. Continuo a migliorare le mie competenze in PHP, ad esempio per iniziare ad apprendere alcuni dei principali framework PHP come Zend, Symfony potrebbe ottenere una certificazione PHP.
  2. O inizio a imparare .NET o Java. Ho più familiarità con .NET, quindi probabilmente lo sceglierò se la scelta cade tra .NET e Java (o potresti convincermi a scegliere Java :).

Per quanto riguarda la carriera, non so quale sia la scelta migliore. Imparare un nuovo framework e una nuova lingua richiede più tempo che migliorare le mie competenze esistenti in PHP. Ma con .NET hai molte possibilità (sviluppo di Windows 7 Phone, Silverlight, WPF) e possibilmente maggiori possibilità di trovare lavori migliori.

I lavori PHP sono meno pagati di .NET, almeno, secondo la mia ricerca (correggimi se sbaglio). Ma se inizio ora con .NET sono solo un principiante e il mio stipendio sarà basso. Ho bisogno di almeno 2+ anni di esperienza in alcune lingue per cercare anche di trovare un lavoro che paghi più di $ 50-60.000 a New York. Il mio obiettivo principale nei prossimi 2-3 anni è cercare di trovare un lavoro nella categoria $ 60-80.000. Non fraintendermi, non sto solo inseguendo i soldi, ma i soldi sono un fattore importante quando stai cercando di creare una famiglia.

Ho 27 anni e sento che non c'è molto spazio per decisioni sbagliate sulla mia carriera, quindi qualsiasi consiglio sarà molto gradito.

Aggiornare

Grazie a tutti per aver dedicato del tempo ad aiutarmi con il mio problema. Tutte le risposte e i commenti sono stati molto utili. Ho deciso di rimanere con PHP ma anche di imparare C # e Silverlight 4. Vedremo dove mi porterà la vita.


Impara entrambi. Inizia un progetto in ciascuno. non ci vuole molto tempo.
systemovich

Prova Code Igniter. È super facile da imparare e ben documentato.
B Sette,

2
Non ci sono danni per imparare 2-3 lingue.
Rudy,

Dal momento che questo è stato urtato da qualcuno che devo chiedere: incorporato VB.NET? ..
Simon Whitehead,

@SimonWhitehead non è esattamente incorporato ma non sono riuscito a trovare una parola migliore per spiegarlo. Era un'applicazione scritta in VB.NET per un pezzo di hardware industriale (realizzato dai miei colleghi e da me) che stava comunicando con due DAC (schede di acquisizione dati).
Christian P

Risposte:


64

Ho 51 anni e ho usato almeno 15 lingue e / o framework da quando ho ottenuto il mio primo concerto pagante dopo la laurea nel 1987.

Salute.

Non sono mai entrato nel management perché non volevo, ma so come programmare e so come mantenere i team motivati ​​e fornire un buon codice. Devi lavorare sulle abilità delle persone e cercare un lavoro interessante che ti allunghi. Non ho mai smesso di imparare o divertirmi, ma ci sono stati momenti in cui ero in viaggio che avrei potuto fare fermandomi - ma non programmare, viaggiare.

Finché puoi guadagnarti da vivere e rispettare i tuoi impegni personali senza compromettere i tuoi principi, purché ti piaccia quello che fai (un lusso che la generazione dei miei genitori non ha avuto) continua a continuare.

.Net e Java sono generalmente aziendali (perché sono costosi per fare cose utili, ma scalano davvero bene), PHP è generalmente startup, io faccio Ruby (di solito startup che sono uscite dagli studi di progettazione per qualche motivo) per molte persone come indipendente. Se segui PHP impari le cose OO, perché penso che finalmente comincerà ad essere il modo in cui le persone fanno le cose, anche se è una reimplementazione leggermente migliore di quello che hai con Java e avrebbero potuto renderlo molto più dinamico. Le persone che fanno Python e vogliono viaggiare possono finire per fare ogni sorta di cose scientifiche e di gioco interessanti in tutto il mondo. Anche Perl è ancora un corridore e ha un profilo simile.

Dimentica la lingua, scegli e l'industria che ti piace, scegli un'azienda gestita da esseri umani e divertiti a offrire valore alle persone che lo apprezzano. Non te ne pentirai.


9
PHP è molto debole su OO. È iniziato come un linguaggio modello e mostra.
Keyo,

5
@Keyou, non significa che non dovresti spingere l'uso delle funzionalità php OO in quanto porta la lingua a un altro livello :)
jonathan

@Keyo Chi ha detto che PHP è debole su OO per tua informazione PHP OO ora è molto vicino a Java Vedi PHP5.5 e continua a migliorare
Hmmm

120

Cosa diavolo ha a che fare la scelta del linguaggio di programmazione con la tua carriera?

Questa domanda è come chiedere: "Ho due scelte per un posto di lavoro. Dovrei lavorare in quello in cui il capo ha un accento norvegese o in quello in cui il capo ha un accento spagnolo?"

Ci sono considerazioni di carriera molto più importanti.

  1. Startup o società consolidata?
  2. Azienda o azienda del prodotto in cui l'IT è una funzione di supporto?
  3. Imparerai cose nuove o ripasserai il vecchio?
  4. 9 a 5 o "lavorare ogni 80 ore che desideri?"
  5. Simpatici collaboratori o cattivi colleghi?
  6. Collaboratori intelligenti o stupidi collaboratori?
  7. Abito e cravatta o maglietta?

Questo elenco potrebbe continuare per ore. La scelta di un linguaggio di programmazione è altrettanto rilevante per la carriera di un programmatore quanto la scelta se pettinare i capelli a sinistra oa destra. È tutto sviluppo del software, indipendentemente dal dialetto del linguaggio di programmazione che stai parlando.


19
Tu hai un punto. Ma il tipo di linguaggio di programmazione è nella maggior parte dei casi strettamente legato al profilo aziendale. A mio avviso, il PHP viene utilizzato principalmente nelle società di avvio e le principali società affermate utilizzano .NET per il loro sviluppo.
Christian P,

29
la vera risposta: trascorri qualche mese guadagnando una reputazione Stack Overflow di cinque cifre e riceverai offerte di lavoro nella gamma di oltre $ 100.000 senza intervista.
Joel Spolsky

37
@Joel: per quanto adoro StackOverflow (e trovarmi a poche settimane dal raggiungimento di una reputazione a cinque cifre solo per divertimento), se mai avrò un'offerta di lavoro da 100.000 a causa di ciò, ti comprerò una birra :-)
Diego Mijelshon,

25
Per alcune persone, la lingua ha tutto a che fare con la tua carriera. Mi piacerebbe lavorare per molte grandi aziende, ma non a spese di scrivere una lingua che mi frustrerebbe / ridurrebbe la produttività. Non sto dicendo che sono felice solo di scrivere una lingua, ma ci sono sicuramente lingue che non vorrei scrivere a tempo pieno, e sarebbe stupido per me accettare un lavoro, ad esempio, con la scrittura flessibile. C su un lavoro 9-5 che scrive C #. Non puoi condividere questa opinione, va bene. Ma non dare per scontato che i programmatori che sono idioti. Il tuo elenco di considerazioni importanti è tuo .
Danny Tuppeny,

39
@ Joel. Posso avere un lavoro da 100.000? Ho un rappresentante di 5 cifre e attualmente sono disoccupato.
aaronasterling,

23

Impara quante più lingue puoi, preferibilmente almeno una da ciascuna delle principali aree di sviluppo.

  • Linguaggi di programmazione con script (hai già PHP, prova Ruby, Python o qualcos'altro)
  • Compilato in linguaggi di macchine virtuali con framework avanzati: .Net, Mono, Java
  • Compilato in bare metal: C / C ++
  • Linguaggi funzionali: Lisp, F #, Haskell

Ognuno di questi ti insegnerà qualcosa sui fondamenti dello sviluppo del software. Naturalmente, oltre a ciò dovrai sperimentare diversi approcci di progettazione (OO, funzionali, basati sui dati), diversi metodi di lavoro di gruppo (agile, tdd, rispetto a tipi più rigidi), piattaforme diverse, meccanismi di distribuzione diversi (nativi , basato su framework, web). L'elenco continua. La padronanza della lingua è solo una piccola parte del tutto.

Per tutte queste cose, è necessario realizzare almeno un prodotto reale utilizzandoli per essere competenti.

Alcune persone ti diranno che devi specializzarti in una tecnologia (PHP, .Net, Java) e costruire una carriera in gran parte attorno a quella per fare progressi. Non sono affatto d'accordo. Prenderò uno sviluppatore che è stato in giro un paio di volte con piattaforme e tecnologie diverse rispetto a una che ha trascorso 10 anni a fare una cosa ogni giorno della settimana. Il motivo è che la tecnologia cambia ogni anno e lo sviluppatore che è in grado di raccogliere una nuova tecnologia, leggere l'API e applicare la propria esperienza in modi più generali rispetto alla semplice conoscenza delle funzioni della libreria a memoria, sarà molto più produttivo nel lungo termine. Ok, quindi quel veterano di 10 anni .Net sarà fuori dai blocchi di partenza in .Net più velocemente, ma quel vantaggio iniziale andrà perso in circa un mese. E'


3
Vorrei anche aggiungere alla tua lista, linguaggi logici (Prolog), linguaggi matematici (che sono un sottoinsieme di funzionale di regola) (Mathematica, R), linguaggi prefisso / postfisso (PS, Forth), assemblatore e basato su hardware (per FPGA e simili).
Orbling

8
Sono d'accordo ... è divertente imparare nuove lingue. Ma quando stai cercando di migliorare le tue conoscenze generali sullo sviluppo del software mentre impari il nuovo framework PHP e una lingua aggiuntiva (C #) che desideri utilizzare in futuro, l'apprendimento di nuove lingue per divertimento non è un'opzione o almeno non un'opzione senza grandi sacrifici in altre parti della tua vita.
Christian P,

4
Sono d'accordo Christian, questa risposta è un po 'estrema. Ma forse il risultato da asporto da questa risposta non dovrebbe essere: "Impara un bajillion di nuove lingue in questo momento o puoi semplicemente dire addio ai tuoi sogni". Dovrebbe piuttosto essere "Sì, dovresti cercare di trovare un lavoro in una lingua che non conosci, perché è un investimento professionale migliore nel lungo periodo". Inoltre è il modo migliore per diventare veramente abili in una lingua.
Neil Traft,

1
@Orbling: hai ragione, l'elenco non era completo, ho appena scelto i principali 'carriera' per evitare che diventasse un elenco troppo scoraggiante;)
Steve Streeting

3
Per quanto riguarda l'estremo, non ti stavo suggerendo di imparare tutte queste lingue in un anno :) Dato che la domanda era nel contesto di una carriera, non credo che questo non sia affatto realistico. Dobbiamo assumerci la responsabilità del nostro sviluppo professionale e, anche se realizzi un progetto di hobby in un anno usando una tecnologia che non hai mai usato prima, ti sarà di grande aiuto. L'open source è anche un ottimo modo per farlo, perché significa che puoi essere coinvolto in un vero progetto senza ricominciare da zero e ottenere aiuto dai colleghi della community.
Steve Streeting,

7

Suggerirei di cercare un lavoro in PHP perché è quello che fai meglio.

Ti suggerirei anche di iniziare a istruirti sulle nuove tecnologie che vuoi imparare in modo da poter iniziare a cercare lavoro usando quelli, ma non farlo entro una scadenza così breve perché scoprirai che queste cose sono enormi e che i datori di lavoro si aspettano di conoscere abbastanza di questi colossi per essere produttivi. Ciò richiede tempo e pratica . Non sottovalutare la quantità di tempo e la quantità di pratica che dovrai fare.

Per darti una stima di ciò di cui un potenziale dipendente "posso programmare in Java" dovrebbe essere in grado, puoi dare un'occhiata al Sun Java Tutorial . Mi aspetto che tu abbia familiarità con almeno la metà dei concetti elencati, dove familiarità significa essere in grado di usarlo in un programma scritto da te e usarlo correttamente . Mi aspetto che ci vorrà più di 6 mesi di tempo libero a studiare per raggiungere quel livello.


7
6 mesi? veramente? Il tipo di programmatori che assumo impara la lingua e la piattaforma nella loro prima settimana di lavoro, motivo per cui non mi interessa MAI quale lingua qualcuno conosce quando si candida a un lavoro presso Stack Overflow o Fog Creek.
Joel Spolsky

4
@Joel, per favore nota che sto parlando di raccogliere roba nel tuo tempo libero . Da solo, senza un mentore in giro. Questo potrebbe non essere un modo efficace per imparare nuove cose come essere fisicamente nei tuoi uffici con te e i tuoi dipendenti in giro ... Forse vorrai assumere christian.p per dimostrare che mi sbaglio?

3
@Joel Quando la tua app è scritta nella tua lingua personalizzata, non hai molta scelta, eh! ;-)
Darrel Miller,

3
@Orbling. Non è un po 'facile per loro? Perché non qualcosa del tipo "per favore trova e correggi l'errore in questo codice di produzione BrainF * ck! Io e i miei 5 colleghi ti guarderemo e tempo quanto tempo impiegherai"?

5
@Joel - Ho il sospetto che quando Christian è alla ricerca di un nuovo lavoro in una nuova città, scoprirà che non tutti i datori di lavoro sono agnostici come lo sono a Stack Overflow / Fog Creek. Anzi, rischierei di supporre che lungi dal non preoccuparsi delle lingue che conosce, il 95% + getterà immediatamente il suo curriculum nel cestino se non corrisponde alle parole chiave della lingua corretta.
Carson63000,

6

Odio sembrare un troll, ma la lingua che dovresti imparare è l'inglese. Ci sono un sacco di errori nel tuo post e sembra sciatto. Se assumessi e questo fosse il tuo curriculum, non mi importerebbe di quali linguaggi di programmazione hai detto di conoscere, suppongo che la tua sciatteria con la lingua inglese si ripercuoterebbe sul tuo lavoro di programmazione.

Non sembra che tu stia arrivando all'inglese come seconda lingua (potrei, ovviamente, sbagliarmi) ma ci sono stati abbastanza errori grammaticali e di ortografia da mettere in pausa la maggior parte dei responsabili delle assunzioni. Dal momento che vedranno solo la tua parola scritta all'inizio, devi risolverla.


6
È fuori tema, ma grazie per il testa a testa. L'inglese è in effetti la mia seconda lingua. Che ci crediate o no (o forse è ovvio per voi) ma ho imparato a parlare / parlare inglese da solo (senza corsi di lingua).
Christian P,

3
Dal momento che è la tua seconda lingua, allora stai andando bene. Ovviamente qualcuno deve controllare il tuo curriculum solo per essere sicuro, ma so che se dovessi fare i miei commenti in francese, diciamo, non sarebbe così lucido e ben definito come il tuo in inglese. Non era snarky, stavo solo cercando di essere utile. Ci sono un numero qualsiasi di americani che non si preoccupano dell'ortografia e della grammatica e ciò li danneggia nel mercato.
Doug Johnson-Cookloose,

1
So che il mio inglese ha bisogno di miglioramenti e sto facendo del mio meglio per migliorarlo. Ma sono grato per i tuoi commenti perché so che quando faccio domanda per un lavoro è l'impressione generale che conta. Quindi se la mia scrittura è sciatta, danneggerebbe le mie possibilità complessive di trovare un lavoro.
Christian P,

1
Una volta, se hai fatto domanda per un lavoro tramite un recruiter, avrebbero impiegato il tempo per lucidare il tuo curriculum e assicurarsi che l'ortografia, la grammatica e lo stile generale fossero corretti. Ma di recente ho intervistato alcuni candidati e sembra che i recruiter non si preoccupino più, attaccano il loro logo nell'angolo in alto a destra e inviano il curriculum. Quindi ti consiglio di chiedere a un amico di cui ti fidi di esaminare il tuo curriculum e le lettere / e-mail dell'applicazione.
Carson63000,

1
@ Carson63000 La mia esperienza di assunzione attraverso i recruiter è che quando cercano di "aiutare" spesso fanno un pasticcio completo di curriculum dei candidati. Di conseguenza, ho dovuto dare ai candidati con CV sciatti il ​​beneficio del dubbio. Data la scelta avrei eliminato del tutto i reclutatori idioti dall'equazione.
Daniel Cassidy,

5

La risposta a lungo termine a questa domanda è fondamentalmente ciò che hanno detto il nostro stimato ospite (Joel Spolsky) e Steve Streeting. La programmazione alla base non riguarda i linguaggi che riguarda l'uso del computer per risolvere i problemi, ed è un mestiere che deve essere appreso, lavorato e pensato nel tempo. Saper codificare non rende uno un programmatore.

Ma hai chiesto un argomento pragmatico e sensibile al tempo .. cosa dovresti fare ADESSO?

Ti suggerisco di scavare in PHP fino allo spostamento. Scavaci dentro, duro, davvero duro, 20 ore a settimana al di fuori del duro lavoro. Con PHP è abbastanza semplice ... ottenere un account di hosting e un dominio e iniziare a creare app. Con uno sforzo mirato, 6 mesi è un'eternità. In quel periodo, diventa davvero bravo. Questo ti aiuterà a trovare un buon lavoro una volta a New York e molto probabilmente ti renderà un programmatore migliore per l'avvio.

A proposito ... se non lo sapevi già, nella famiglia StackExchange esiste un sito di lavoro IT .

ALLORA, quando la transizione della vita si è stabilizzata un po ', inizia a seguire il libro di gioco di Mr. Streeting e ad educarti sull'arte della programmazione piuttosto che sul commercio di programmazione. Usa del tempo fuori dal lavoro per leggere e fare cose su altre piattaforme e con altri strumenti.


1

Penso che il punto principale sia, alla fine, un ingegnere del software dovrebbe arrivare allo stato in cui la lingua è in gran parte irrilevante rispetto al compito da svolgere, tranne nei limiti.

Indipendentemente dal fatto che tu conosca una lingua o meno, non dovrebbe fare la differenza, purché tu abbia un manuale, solo per accelerare per il primo giorno circa mentre trovi i tuoi cuscinetti.

Detto questo, le lingue proprietarie tendono ad avere meno documentazione ed esempi diffusi sul Web, e quindi sono più difficili abituarsi e porre un problema se si desidera portare a casa il proprio lavoro.


3
La lingua è raramente difficile. Imparare l'ecosistema e le migliori pratiche mio prendere abbastanza un po '...

@ Thorbjørn Molto vero, può richiedere del tempo per acquisire le migliori pratiche all'interno di una lingua. Anche se dipende molto da come lo impari, alcune lingue sono molto più difficili di altre su cui trovare informazioni.
orbita il

1

Il mio consiglio è di trovare un lavoro facendo quello che ti interessa e divertirti. Se ti piace PHP, perché non continuare a sviluppare le tue abilità PHP. È molto più facile imparare e sviluppare le abilità facendo qualcosa che ti interessa.

Hai mai visto .NET o Java prima? In caso contrario, ciò potrebbe suggerire che non sei interessato a quelle lingue, ma forse potresti passare una settimana circa a guardarle e vedere di persona se sei interessato a entrambe.


Conosco Silverlight 4 e C # (ho anche 2 anni in VB.NET 2005), questa è la ragione principale per cui sto pensando di cambiare.
Christian P,

1

Breve termine; Non so quali siano le pratiche di assunzione negli Stati Uniti, ma considerando che ti trasferirai tra 6 e 12 mesi, per il momento, prenderei in considerazione di attenermi al PHP poiché hai due anni di esperienza con esso.

La mia esperienza qui (nei Paesi Bassi) è che le aziende tendono a concentrarsi a brevissimo termine sulle tecnologie e sull'esperienza quadro. Il linguaggio in realtà non è -it-, anche se chiedono " 3 anni di esperienza in C # " intendono dire " 3 anni di esperienza con le librerie e gli strumenti del framework / classe che useresti con C # ".

(Altrimenti, perché vogliono assumere chiunque abbia bisogno di 3 anni per imparare la sintassi C # e le funzionalità del linguaggio è oltre me. Sembra qualcuno che non vorrei assumere.)

Imparare nuove lingue; statico, dinamico, funzionale, è di grande valore quando si tratta di ampliare le tue prospettive. Tuttavia, imparare le biblioteche di classe pertinenti e il modo di fare le cose in quella lingua richiederà esperienza.

Consiglierei di prendere una decisione scegliendo uno stack tecnologico e imparandolo a fondo. Usa gli altri ambienti come fonte d'ispirazione.

Naturalmente anche le preferenze personali entrano in gioco. Ad esempio, sebbene ci sia molto mercato per questo, non accetterei mai un lavoro PHP: -PI scelgo uno stack e io cerco una ricerca di lavoro basata su quello.

Per quanto riguarda la carriera a lungo termine, penso che dovresti guardare oltre la programmazione (alla fine si tratta di imparare e saper leggere e / o sfogliare la documentazione) e la tecnologia del giorno e cercare di più nelle competenze trasversali e simili. Le tecnologie vanno e vengono piuttosto rapidamente. Ovviamente c'è molto da imparare quando si tratta di buone pratiche e di know-how più generale, purtroppo nella mia esperienza sono raramente cercati sul mercato del lavoro.


1

Penso che spesso le persone mescolino linguaggi di programmazione e framework / stack tecnologici. È relativamente facile imparare una nuova lingua, ma è molto più difficile con le grandi tecnologie. Concordo con alcune risposte sul fatto che la cosa più importante è la tua esperienza complessiva di programmazione / risoluzione dei problemi, ma non credo che nessuno possa CAPIRE una tecnologia completamente nuova in 1 settimana.

Certo, una gran parte degli sviluppatori non ha mai letto un singolo libro tecnico e non capisce i mattoni delle tecnologie che stanno utilizzando. Si limitano a uscire dai problemi e hanno molto "successo". Ho iniziato la mia carriera in PHP senza nemmeno capire come funziona HTTP all'inizio. Ma alcuni datori di lavoro, che rispetto di più, si aspettano una profonda comprensione di "come funzionano le cose", semplicemente perché ciò tende ad aumentare le possibilità di successo dei loro progetti.

Il minimo che devi fare per acquisire questa comprensione è leggere un paio di BUONI libri con abbastanza tempo per prototipare soluzioni a problemi comuni in un nuovo ambiente di sviluppo sconosciuto. È possibile farlo in una settimana? Mi piacerebbe lavorare con persone in grado di farlo, ma non spero di vederle presto.

Alcuni datori di lavoro in realtà sono pronti a darti abbastanza tempo per acquisire questa comprensione, rispettando la tua profonda esperienza tecnica complessiva in altri stack tecnologici (se ne hai uno), ma sfortunatamente la maggior parte non lo è.

Inoltre, quando si cambiano le tecnologie, la cosa più importante è la tua personalità: quanto sei umile e curiosa spendere abbastanza tempo per capire come funzionano le cose e come vengono fatte le cose nella tua nuova area.

Quindi, per riassumere, la mia risposta sarebbe la seguente. Scegli una tecnologia, che ha un potenziale sufficiente e che (soprattutto) ti renderà felice nel tuo lavoro. Specializzato in questa tecnologia, il mercato del lavoro lo apprezzerà e ne varrà la pena qualche anno necessario per ottenere il tuo stipendio target. Ma non essere mai troppo zelante, passare un po 'di tempo con altre tecnologie, ti renderà un PROFESSIONISTA molto migliore nel complesso.


1

Devo essere d'accordo con Joel. Ma la sua risposta va oltre le capacità e le preferenze tecniche.

Nella mia esperienza, sono di solito le tue esigenze lavorative che ti indirizzano verso una tecnologia o un linguaggio di programmazione specifici, non ciò che vorresti usare; a meno che non sia una startup che non ha ancora definito ciò che stanno per usare. E nessuno può garantire che troverai un lavoro / un'azienda che utilizza esattamente ciò che stai cercando.

Quindi la vera domanda è: sei bravo a imparare cose nuove? puoi risolvere un problema e risolverlo in modo tempestivo, indipendentemente dal linguaggio di programmazione?

Un buon programmatore dovrebbe essere ben consapevole della costruzione del software e dei concetti di ingegneria del software. La tua domanda mi fa credere che non hai investito abbastanza tempo per apprenderli, il che probabilmente ti rende incerto delle tue capacità e quali sono i tuoi potenziali effettivi. E onestamente, se non l'hai fatto è tempo che lo fai, perché senza quelli probabilmente non andrai lontano.

C'è un'altra cosa a cui molti di noi programmatori tendono a non prestare attenzione prima di avere più di 30 anni: le abilità di programmazione sono solo la metà delle abilità che rendono un buon programmatore. Sei un buon giocatore di squadra? Sei disposto a trasmettere la conoscenza ai colleghi con la stessa volontà con cui stai (o dovresti) ricevere conoscenza dagli altri? Le capacità delle persone sono sottovalutate da molti di noi, mentre in realtà sono molto importanti.


1

Non sono d'accordo con la maggior parte dei commenti elencati in questo forum.

Oltre all'apprendimento dei principi e della teoria dell'ingegneria del software, la lingua che scegli di padroneggiare è una scelta professionale. Ecco perché ci sono programmatori Java e programmatori PHP. I programmatori PHP probabilmente non funzioneranno per la NASA e i programmatori Java probabilmente non lavoreranno per un web shop.

Se vuoi un lavoro in America aziendale, è meglio andare su Java / .Net. Un buon reddito in te può entrare ma essere pronto a donare la tua vita a loro (tempo saggio).

Se vuoi essere un libero professionista indipendente e vivere nella corsia di sorpasso con la tecnologia web, con PHP farai meglio. Un sacco di lavoro qui, ma la retribuzione varia notevolmente ed essere indipendente è lavorare da solo con ogni Tom, Dick e Harry con un'idea che cerca di assumerti per pochi centesimi.

C'è qualche sovrapposizione con PHP e Java, ma si vede solo nei lavori aziendali (servizi Java REST con front-end PHP), tuttavia non troverete negozi online o lavoro indipendente indipendente vicino a Java.

Entrambi richiedono molto tempo e dedizione se vuoi essere utile in una determinata situazione.

Per essere uno sviluppatore PHP competente e ricercato hai bisogno di una borsa piena di set di abilità. È probabile che dovresti conoscere CSS, HTML4 / 5 e sicuramente Javascript DOM / Ajax / Jquery oltre a un framework almeno praticabile come Zend (la scelta dell'assaggiatore americano), Codeignitor, cakePHP, ecc. E poi tu dovremo conoscere i "tre grandi" CMS: Drupal, Wordpress e Magento. Prendi questi set di abilità e sarai uno specialista di PHP con la capacità di sbarcare il lavoro ovunque tu vada. Come puoi dire, prendere tutto questo è una devozione per una lingua ed i suoi strumenti perché l'apprendimento di Perl non ti aiuterà a diventare un esperto sviluppatore di Drupal o Zend.

Lo stesso vale per Java: OOP, J2EE, REST / SOAP, Spring / Struts, ecc. Ed è una flotta di altri strumenti che impiegano anni a padroneggiare.

Qualcuno qui ha provato a codificare Java per un anno e poi è tornato a PHP (o qualsiasi linguaggio di scripting). È difficile. Sembra imbarazzante.

Lavoro per una società della fortuna 500 e gli sviluppatori Java non sarebbero in grado di fare ciò che fanno gli sviluppatori PHP e gli sviluppatori PHP non sarebbero in grado di fare ciò che fanno gli sviluppatori Java. Ma entrambi funzionano bene finanziariamente perché sono specialisti nel loro campo, nella loro lingua preferita e nella quantità di strumenti che ne derivano.


0

La lingua e la piattaforma non sono così importanti. Impara persone solide e abilità scienze della comp. Molte persone hanno detto questo ma non hanno fornito dettagli, quindi lasciami fare questo. Ecco alcune cose da imparare

  • algoritmi e strutture dati.
  • concorrenza
  • apprendimento automatico
  • programmazione a livello di sistemi
  • recupero delle informazioni e motori di ricerca
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.