Fury Road: Billing Developer's Journey

Arveldusarendusettevõtte juhil on meeskonna koostamiseks kaks võimalust. Esimene on värvata valmis “seeniorid” ja luua pidevalt selliseid töötingimusi, et nad kasutaksid oma oskusi ja kogemusi maksimaalselt, areneksid ja samas ei satuks kaklustesse. Teine on luua meeskond uutest tulijatest, keskmistest ja proffidest, et nad suhtleksid, üksteist mõjutaksid, õpiksid ja kasvaksid ettevõtte sees. Olen nõiaringi vastu "pole kogemust - pole tööd - pole kogemust" ja ma ei näe algaja arendaja palkamises probleemi. Forward Telecomil on pikka aega olnud praktikaprogramm, millest on saanud karjääri hüppelaud paljudele praegustele töötajatele.

Nüüd räägin teile, kuidas ma näen arveldusarendaja arenguteed ja millises järjestuses peate omandama professionaalsed oskused.

1. Õppige programmeerimiskeelt

Alustuseks igaüks. Prioriteet on Java, Python ja JavaScript, kuid põhiteadmiste saamiseks sobivad Ruby, Go, C, C++. Kuidas õpetada? Osalege tasulistel ja tasuta kursustel; võin soovitada Golangi koolitust. Kui inglise keele tase lubab, on välismaiste videote vaatamine hea lisaoskus.

Fury Road: Billing Developer's Journey

2. Mõistke OS-i kontseptsioone

Operatsioonisüsteemid põhinevad seitsmel komponendil, mida peate teadma ja suutma selgitada tööpõhimõtet:

  • Protsessi juhtimine;
  • Lõimed ja mitmelõimeline kood;
  • Pistikupesa (tarkvaraliides);
  • I/O dispetšer;
  • virtualiseerimine;
  • Ladustamine;
  • Failisüsteemid.

Soovitan läbida Linuxi administreerimise algkursus. Teised operatsioonisüsteemid on Windows ja Unix.

3. Harjuge terminaliga

Analoogiliselt tühja lehe foobiaga on foobia tühjast mustast ekraanist koos vilkuva kursoriga. Peate sellest üle saama, et õppida käsureal häid käske kirjutama.
Peab teadma:

  • Bash ja KornShelli kestad;
  • Käsud find, grep, awk, sed, lsof;
  • Võrgukäsud nslookup ja netstat.

Fury Road: Billing Developer's Journey

4. Võrk ja turvalisus

Arveldamine on tihedalt seotud võrgu- ja andmekaitsenõuetega. Võrguteenuseid ei saa kirjutada, kui võrk töötab, seega peate õppima põhimõisteid ja protokolle: DNS, OSI mudel, HTTP, HTTPS, FTP, SSL, TLS. Siis, kui näete tõrketeadet Ühendus tagasi lükatud, teate, mida teha.

5. Serverid

Pärast võrgus teabeedastuse põhimõtete uurimist võite alustada serveri tööpõhimõtteid. Alustage veebiserveritega: IIS, Apache, Nginx, Caddy ja Tomcat.

Järgmine loendis:

  • vastupidine puhverserver;
  • Anonüümne puhverserver;
  • Vahemällu salvestamine;
  • Koormuse tasakaalustamine;
  • Tulemüür.

6. Õppige infrastruktuuri koodina

Usun, et see etapp on üks olulisemaid. Peate mõistma kolme suurt teemat:

  • Konteinerid: Docker ja Kubernetes
  • Konfiguratsioonihaldustööriistad: Ansible, Chef, Salt ja Puppet
  • Varundus: Terraform, pilved.

7. Õppige CI/CD

Veel üks arveldamise arendaja kasulik oskus on pideva integreerimise ja tarnimise konveieri seadistamine. CI/CD alal on sellised tööriistad nagu Jenkins, TeamCity, Drone, Circle CI ja teised. Spoiler: alguses piisab laialdaselt kasutatava Jenkinsi õppimisest.

8. Tarkvara ja infrastruktuuri juhtimine

Peamine eesmärk on mõista rakenduste jälgimise põhitõdesid. Selle valdkonna tööriistad on jagatud kolme rühma:

  • Infrastruktuuri monitooring: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Rakenduse jõudluse jälgimine: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Pilveteenused

Lähitulevikus on igal rakendusel või tarkvaral pilve vaste. Varem või hiljem puutuvad arendajad pilvega kokku, nii et lugege populaarsete pilveteenuse pakkujate (AWS, Google Cloud ja Azure) ja tehnoloogia põhitõdede kohta.

10. Töö andmebaasiga

Kõik praegused projektid kasutavad andmebaase ning DBMS-i ja SQL-i kogemus muudab alustamise lihtsamaks. Õppige kirjutama SQL-päringuid, kasutama selgitust ja õppima, kuidas indeks töötab. Lihtsaim viis on läbida kursus. Samuti saate harjutada oma Postgresi dokumenteerimisoskusi ja mängida replikatsiooniga.

11. Paranda oma pehmeid oskusi

Ootamatult ebatavaline punkt, kuid mitte vähem oluline. Alustuseks olge kannatlik. Sa harjud kiiresti selliste olukordadega nagu "tee raud korda, sa oled programmeerija", kuid peate olema vaimselt valmis uute projektide käivitamise tähtaegadeks. Kui olete programmeerimises nullist aastani ja teid peetakse juunioriks, valmistuge kriitikaks ja õppige seda vastu võtma, on mentori koodi läbivaatamine sageli valus protsess. Kuid samas on kohustuslik oskus oskus oma seisukohti kaitsta ja konstruktiivselt argumenteerida, mõnikord sünnib vaidluses tõde. Arendajad ei lõpeta kunagi õppimist, erialal lage praktiliselt pole, seega on õppimisvõime ja SOOV õppida uusi asju sinu arengu aluseks.

Fury Road: Billing Developer's Journey

Minu käest küsitakse sageli, millal jõuab algaja kesktasemele ja millal võib teda uhkusega “seenioriks” nimetada. Usun, et tasemelt tasemele ülemineku hetke ei määra töötatud aastate arv, kuigi praktilised oskused on võtmekriteerium. Just pehmed oskused määravad sageli arendaja kasvukiiruse: väljaõppinud ja töökas algaja suudab kirjutada kvaliteetset koodi mitmes keeles ja suudab meeskonnatööd teha vaid mõne kuuga. 10-aastase kogemusega arendaja ei pruugi olla võimeline lahendama ebastandardseid probleeme, juhtima meeskonda ja omada ühekülgseid oskusi.

Nii näen mina arveldusarendaja arenguteed, nii kasvatame oma Forward Telecomi meeskonnas kvalifitseeritud spetsialiste. Tundub, et midagi puudu ei jää, aga olen alati tänulik asjalike täienduste eest.

Allikas: www.habr.com

Lisa kommentaar