Road Road: metodo di fatturazione per sviluppatori

Il manager di una società di sviluppo della fatturazione ha due modi per costruire un team. Il primo è reclutare "anziani" già pronti e creare continuamente tali condizioni di lavoro in modo che utilizzino al massimo le loro capacità ed esperienza, si sviluppino e allo stesso tempo non entrino in liti. Il secondo è creare un team composto da un mix di nuovi arrivati, medi e professionisti, in modo che comunichino, si influenzino a vicenda, imparino e crescano all'interno dell'azienda. Sono contrario al circolo vizioso “nessuna esperienza – nessun lavoro – nessuna esperienza” e non vedo alcun problema nell’assumere uno sviluppatore principiante. Forward Telecom offre da tempo un programma di tirocinio, che è diventato un trampolino di lancio per la carriera di molti attuali dipendenti.

Ora ti dirò come vedo il percorso di sviluppo di uno sviluppatore di fatturazione e in quale sequenza devi padroneggiare le competenze professionali.

1. Impara un linguaggio di programmazione

Per cominciare, chiunque. La priorità è Java, Python e JavaScript, ma Ruby, Go, C, C++ sono adatti per acquisire conoscenze di base. Come insegnare? Segui corsi a pagamento e gratuiti; posso consigliare la formazione da Golang. Se il tuo livello di inglese lo consente, guardare video stranieri è una buona abilità aggiuntiva.

Road Road: metodo di fatturazione per sviluppatori

2. Comprendere i concetti del sistema operativo

I sistemi operativi si basano su sette componenti che è necessario conoscere ed essere in grado di spiegare il principio di funzionamento:

  • Gestione dei processi;
  • Thread e codice multithread;
  • Presa (interfaccia software);
  • Dispacciamento I/O;
  • Virtualizzazione;
  • Magazzinaggio;
  • File system.

Consiglio di seguire un corso base di amministrazione Linux. I secondi sistemi operativi in ​​linea sono Windows e Unix.

3. Abituarsi al terminale

Per analogia con la fobia del foglio bianco, esiste la fobia dello schermo nero e vuoto con il cursore lampeggiante. Dovrai superarlo per imparare a scrivere buoni comandi sulla riga di comando.
Bisogna sapere:

  • Shell Bash e KornShell;
  • I comandi trovano, grep, awk, sed, lsof;
  • Comandi di rete nslookup e netstat.

Road Road: metodo di fatturazione per sviluppatori

4. Rete e sicurezza

La fatturazione è strettamente correlata ai requisiti di protezione della rete e dei dati. Non puoi scrivere servizi online senza capire come funziona la rete, quindi devi apprendere i concetti e i protocolli di base: DNS, modello OSI, HTTP, HTTPS, FTP, SSL, TLS. Quindi, quando riscontri un errore di connessione rifiutata, saprai cosa fare.

5. Server

Dopo aver studiato i principi della trasmissione delle informazioni sulla rete, puoi iniziare le basi del funzionamento del server. Inizia con i server web: IIS, Apache, Nginx, Caddy e Tomcat.

Più in basso nell'elenco:

  • Procura inversa;
  • Proxy anonimo;
  • memorizzazione nella cache;
  • Bilancio del carico;
  • Firewall.

6. Impara l'infrastruttura come codice

Credo che questa fase sia una delle più importanti. Dovrai comprendere tre argomenti generali:

  • Contenitori: Docker e Kubernetes
  • Strumenti di gestione della configurazione: Ansible, Chef, Salt e Puppet
  • Backup: terraformazione, nuvole.

7. Impara CI/CD

Un'altra competenza utile per uno sviluppatore di fatturazione è essere in grado di impostare una pipeline per l'integrazione e la distribuzione continue. Nell'area CI/CD ci sono strumenti come Jenkins, TeamCity, Drone, Circle CI e altri. Spoiler: all'inizio sarà sufficiente imparare il Jenkins ampiamente utilizzato.

8. Controllo del software e delle infrastrutture

L'obiettivo principale è comprendere le basi del monitoraggio delle applicazioni. Gli strumenti in quest'area sono divisi in tre gruppi:

  • Monitoraggio infrastrutture: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitoraggio delle prestazioni delle applicazioni: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Servizi cloud

Nel prossimo futuro ogni applicazione o software avrà una controparte cloud. Prima o poi, gli sviluppatori incontrano il cloud, quindi informati sui provider cloud più diffusi (AWS, Google Cloud e Azure) e sulle nozioni di base della tecnologia.

10. Lavorare con il database

Tutti i progetti attuali utilizzano database e l'esperienza con DBMS e SQL renderà più semplice iniziare. Impara a scrivere query SQL, usa la spiegazione e scopri come funziona l'indice. Il modo più semplice è seguire un corso. Puoi anche esercitare le tue capacità di documentazione di Postgres e giocare con la replica.

11. Migliora le tue competenze trasversali

Un punto inaspettatamente fuori dal comune, ma non per questo meno importante. Per cominciare, sii paziente. Ti abitui rapidamente a situazioni come "aggiusta il ferro, sei un programmatore", ma devi essere preparato mentalmente per le scadenze per il lancio di nuovi progetti. Se lavori da zero a un anno nella programmazione e sei considerato Junior, preparati alle critiche e impara ad accettarle, la revisione del codice da parte di un mentore è spesso un processo doloroso. Ma allo stesso tempo, un’abilità obbligatoria è la capacità di difendere il proprio punto di vista e argomentare in modo costruttivo; a volte la verità nasce da una discussione. Gli sviluppatori non smettono mai di imparare, praticamente non esiste un limite massimo nella professione, quindi la capacità di apprendimento e il DESIDERIO di apprendere cose nuove sono la base del tuo sviluppo.

Road Road: metodo di fatturazione per sviluppatori

Spesso mi viene chiesto quando un principiante raggiunge il livello medio e quando può essere orgogliosamente definito “senior”. Credo che il momento del passaggio da un livello all'altro non sia determinato dal numero di anni lavorati, sebbene le abilità pratiche siano un criterio chiave. Sono proprio le soft skills che spesso determinano la velocità di crescita di uno sviluppatore: un principiante esperto e laborioso può scrivere codice di alta qualità in diverse lingue ed essere in grado di lavorare in squadra in pochi mesi. Uno sviluppatore con 10 anni di esperienza potrebbe non essere in grado di risolvere problemi non standard, gestire un team e avere competenze unilaterali.

Ecco come vedo il percorso di sviluppo di uno sviluppatore di fatturazione, ecco come facciamo crescere specialisti qualificati nel nostro team Forward Telecom. Non sembra che manchi nulla, ma sono sempre grato per le utili aggiunte al riguardo.

Fonte: habr.com

Aggiungi un commento