Il mio primo consiglio è quello di non limitarti esclusivamente a un ruolo.
È bello essere uno specialista e avere una profonda conoscenza di una particolare abilità
set (PHP, per esempio). Tuttavia, è altrettanto importante avere una vasta conoscenza che abbraccia il resto del tuo dominio.
Nella mia esperienza la maggior parte delle squadre non sta cercando di assumere qualcuno che ha il
conoscenza per riscrivere le funzionalità di base di PHP, ma piuttosto qualcuno che
in grado di gestire qualsiasi problema che viene lanciato a loro (anche se con quel livello di
la conoscenza non farebbe certamente male). O almeno qualcuno che può aiutare a risolvere
eventuali problemi incontrati dal team. Ad esempio, immagina una situazione in cui
la tua domanda si interrompe e i clienti ne subiscono le conseguenze. Puoi o
alzare le mani e dire "Non ho idea di cosa fare ..." oppure puoi entrare in SSH
il server, avvia i registri di scansione, nota che lo spazio su disco di un particolare
il filesystem è pieno e procedere alla pulizia. Questo è un esempio minore ma io
pensa che il punto sia chiaro. Con quella conoscenza di base, come sviluppatore, tu
potrebbe scrivere uno script che controlli quel particolare filesystem e lo pulisca
fuori una volta raggiunta una certa soglia. Ora sei diventato molto di più
prezioso per il tuo manager.
Un'altra cosa che ho imparato durante la mia carriera è che le cose si muovono velocemente e
se non ti alzi resterai indietro. Più cose conosci
l'intero ambiente (compresi gli aspetti aziendali), meglio è
siamo. Questo non vuol dire che devi essere un esperto in tutto ciò che fai, ma a
almeno le conoscenze per non essere etichettate come incapaci. Il più familiare
sei, più sei adattabile e più preziosa sei
alla tua azienda.
Per rispondere in modo specifico alle tue domande ...
- Quali elementi del server dovrei sapere come sviluppatore?
Avere familiarità con l'intero stack di applicazioni. Sapere quale server web, database,
meccanismi di memorizzazione nella cache, ecc. che vengono utilizzati. E anche quali versioni. Avere
abbastanza familiarità da poter ricreare l'ambiente sul proprio server.
Il che, in sé e per sé, è vitale. Dovresti sforzarti di più o meno
avere gli stessi ambienti nello sviluppo e nella produzione, in quanto riduce
sorprese ( link ).
- Come sviluppatore quali rapporti hai con il server?
Questo dipende molto dalla squadra. Nel mio caso particolare, gli sviluppatori giocano a
enorme ruolo nella messa in scena degli ambienti. Siamo i più familiari con l'interiore
funzionamento dell'applicazione e quindi sono nella posizione migliore per determinare cosa
le tecnologie server sono in atto per eseguirlo. Immagino che non tutte le squadre abbiano questo
un approccio pratico, ma per avere abbastanza familiarità da poter coinvolgere
te stesso nelle discussioni è un grande vantaggio. In particolare, per quanto riguarda
controllo della versione, tu come lo sviluppatore sono molto influenzati da quale tecnologia
è scelto (Git, Subversion, Mercurial, ecc.), e quindi dovrebbe sforzarsi di farlo
coinvolgiti nel processo decisionale.
Quindi, ora cosa?
Per quanto riguarda il mio suggerimento su come meglio approcciare l'apprendimento a tutto questo? Sposta
i tuoi piedi . non
preoccupati di provare a leggere tutto ciò che puoi sull'argomento, la maggior parte lo farà
probabilmente appena fuori dal tuo cervello per il momento in cui hai finito. Anziché
inizia a sviluppare qualcosa da zero. Inizia con Vagrant ; lo farà
ti consente di creare e gestire facilmente una macchina virtuale che puoi utilizzare come tua
nuovo parco giochi. Quindi, installa un server Web e un database e inizia a creare. Se
hai un'idea per un'app, perfetta, provaci ... se no, trova un tutorial o
prova a ricreare un'app esistente. Il punto è solo per familiarizzare con il
intero processo. Inoltre, come sviluppatore PHP, assicurati di controllare PHP: The Right Way ... contiene davvero molte informazioni eccellenti. E, soprattutto, non stressarti. Ti immagino
seguito il percorso di uno sviluppatore perché è qualcosa che ti piace e lo sei
appassionato di ... non perdere di vista questo!