Fury Road: el viatge del desenvolupador de facturació

El gerent d'una empresa de desenvolupament de facturació té dues maneres de crear un equip. El primer és reclutar "seniors" ja fets i crear contínuament aquestes condicions de treball perquè utilitzin al màxim les seves habilitats i experiència, es desenvolupin i, al mateix temps, no s'endinsin en baralles. El segon és crear un equip a partir d'una barreja de nouvinguts, mitjans i professionals, perquè es comuniquin, s'influeixin, aprenguin i creixin dins de l'empresa. Estic en contra del cercle viciós a la "sense experiència - sense treball - sense experiència" i no veig cap problema en contractar un desenvolupador principiant. Forward Telecom fa temps que té un programa de pràctiques, que s'ha convertit en un trampolí de carrera per a molts empleats actuals.

Ara us explicaré com veig el camí de desenvolupament d'un desenvolupador de facturació i en quina seqüència heu de dominar les habilitats professionals.

1. Aprendre un llenguatge de programació

Per començar, qualsevol. La prioritat és Java, Python i JavaScript, però Ruby, Go, C, C++ són adequats per obtenir coneixements bàsics. Com ensenyar? Feu cursos gratuïts i de pagament; puc recomanar formació de Golang. Si el vostre nivell d'anglès ho permet, veure vídeos estrangers és una bona habilitat addicional.

Fury Road: el viatge del desenvolupador de facturació

2. Entendre els conceptes de SO

Els sistemes operatius es basen en set components que cal conèixer i poder explicar el principi de funcionament:

  • Gestió de processos;
  • Fils i codi multifil;
  • Socket (interfície de programari);
  • enviament d'E/S;
  • Virtualització;
  • Emmagatzematge;
  • Sistemes de fitxers.

Recomano fer un curs bàsic d'administració de Linux. Els segons sistemes operatius en línia són Windows i Unix.

3. Acostumar-se al terminal

Per analogia amb la fòbia a un full en blanc, hi ha una fòbia a una pantalla negra en blanc amb un cursor parpellejant. Haureu de superar-ho per aprendre a escriure bones ordres a la línia d'ordres.
Cal saber:

  • Petxines Bash i KornShell;
  • Les ordres find, grep, awk, sed, lsof;
  • Ordres de xarxa nslookup i netstat.

Fury Road: el viatge del desenvolupador de facturació

4. Xarxa i seguretat

La facturació està estretament relacionada amb els requisits de protecció de dades i de xarxa. No pots escriure serveis en línia sense entendre com funciona la xarxa, per la qual cosa has d'aprendre els conceptes i protocols bàsics: DNS, model OSI, HTTP, HTTPS, FTP, SSL, TLS. Aleshores, quan trobeu un error de connexió rebutjada, sabreu què heu de fer.

5. Servidors

Després d'estudiar els principis de transmissió d'informació a la xarxa, podeu començar els conceptes bàsics del funcionament del servidor. Comenceu amb servidors web: IIS, Apache, Nginx, Caddy i Tomcat.

Següent a la llista:

  • proxy invers;
  • Proxy anònim;
  • Emmagatzematge en memòria cau;
  • Equilibri de càrrega;
  • Tallafoc.

6. Aprèn la infraestructura com a codi

Crec que aquesta etapa és una de les més importants. Haureu d'entendre tres grans temes:

  • Contenidors: Docker i Kubernetes
  • Eines de gestió de configuració: Ansible, Chef, Salt i Puppet
  • Còpia de seguretat: Terraform, núvols.

7. Aprendre CI/CD

Una altra habilitat útil per a un desenvolupador de facturació és poder configurar un pipeline per a la integració i el lliurament contínues. A l'àrea de CI/CD hi ha eines com Jenkins, TeamCity, Drone, Circle CI i altres. Spoiler: al principi n'hi haurà prou amb conèixer els Jenkins molt utilitzats.

8. Control de programari i infraestructures

L'objectiu clau és comprendre els fonaments bàsics de la supervisió d'aplicacions. Les eines d'aquesta àrea es divideixen en tres grups:

  • Seguiment d'infraestructures: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Supervisió del rendiment de l'aplicació: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Serveis al núvol

En un futur proper, cada aplicació o programari tindrà una contrapartida al núvol. Tard o d'hora, els desenvolupadors es troben amb el núvol, així que llegiu-ne informació sobre proveïdors de núvol populars (AWS, Google Cloud i Azure) i els conceptes bàsics de la tecnologia.

10. Treballar amb la base de dades

Tots els projectes actuals utilitzen bases de dades, i l'experiència amb DBMS i SQL farà que sigui més fàcil començar. Apreneu a escriure consultes SQL, feu servir explica i apreneu com funciona l'índex. La manera més fàcil és fer un curs. També podeu practicar les vostres habilitats de documentació de Postgres i jugar amb la rèplica.

11. Millora les teves habilitats suaus

Un punt inesperadament fora del normal, però no per això menys important. Per començar, tingueu paciència. Ràpidament t'acostumes a situacions com "arregla't el ferro, ets programador", però cal estar preparat mentalment per als terminis de llançament de nous projectes. Si ets de zero a un any en programació i et consideres un Junior, prepara't per a les crítiques i aprens a acceptar-les, la revisió del codi per part d'un mentor és sovint un procés dolorós. Però, al mateix temps, una habilitat obligatòria és la capacitat de defensar el propi punt de vista i argumentar de manera constructiva; de vegades la veritat neix en una discussió. Els desenvolupadors mai deixen d'aprendre, pràcticament no hi ha sostre en la professió, així que la capacitat d'aprenentatge i el DESIG d'aprendre coses noves són la base del teu desenvolupament.

Fury Road: el viatge del desenvolupador de facturació

Sovint em pregunten quan un principiant arriba al nivell mitjà i quan amb orgull se'l pot anomenar "senior". Crec que el moment de la transició de nivell a nivell no ve determinat pel nombre d'anys treballats, tot i que les competències pràctiques són un criteri clau. Precisament són les habilitats suaus les que sovint determinen la velocitat de creixement d'un desenvolupador: un principiant entrenat i treballador pot escriure codi d'alta qualitat en diversos idiomes i poder treballar en equip en només uns mesos. És possible que un desenvolupador amb 10 anys d'experiència no pugui resoldre problemes no estàndard, gestionar un equip i tenir habilitats unilaterals.

Així és com veig el camí de desenvolupament d'un desenvolupador de facturació, així és com creixem especialistes qualificats al nostre equip de Forward Telecom. Sembla que no em falta res, però sempre estic agraït per les addicions útils al punt.

Font: www.habr.com

Afegeix comentari