Fury Road: Potovanje razvijalca zaračunavanja

Vodja podjetja za razvoj obračunavanja ima dva načina za sestavo ekipe. Prvi je zaposlovanje že pripravljenih »starejših« in nenehno ustvarjanje takšnih pogojev za delo, da maksimalno izkoristijo svoje sposobnosti in izkušnje, se razvijajo in se hkrati ne spuščajo v prepire. Drugi je ustvariti ekipo iz mešanice novincev, srednjih in profesionalcev, tako da komunicirajo, vplivajo drug na drugega, se učijo in rastejo znotraj podjetja. Sem proti začaranemu krogu a la "brez izkušenj - brez dela - brez izkušenj" in ne vidim problema v najemanju razvijalca začetnika. Forward Telecom ima že dolgo program pripravništva, ki je mnogim sedanjim zaposlenim postal karierna odskočna deska.

Zdaj vam bom povedal, kako vidim razvojno pot razvijalca obračunavanja in v kakšnem zaporedju morate obvladati poklicne veščine.

1. Naučite se programskega jezika

Za začetek, kdorkoli. Prednost imajo Java, Python in JavaScript, za pridobivanje osnovnega znanja pa so primerni Ruby, Go, C, C++. Kako poučevati? Udeležite se plačljivih in brezplačnih tečajev; lahko priporočam usposabljanje pri Golangu. Če vaša raven angleščine dopušča, je gledanje tujih videov dobra dodatna veščina.

Fury Road: Potovanje razvijalca zaračunavanja

2. Razumevanje konceptov OS

Operacijski sistemi temeljijo na sedmih komponentah, ki jih morate poznati in znati razložiti princip delovanja:

  • Upravljanje procesov;
  • Niti in večnitna koda;
  • Vtičnica (programski vmesnik);
  • V/I dispečiranje;
  • Virtualizacija;
  • Skladiščenje;
  • Datotečni sistemi.

Priporočam obisk osnovnega tečaja administracije Linuxa. Druga operacijska sistema po vrsti sta Windows in Unix.

3. Navadite se na terminal

Po analogiji s fobijo praznega lista obstaja fobija praznega črnega zaslona z utripajočim kazalcem. Morali ga boste premagati, da se boste naučili pisati dobre ukaze v ukazni vrstici.
Vedeti mora:

  • Lupine Bash in KornShell;
  • Ukazi find, grep, awk, sed, lsof;
  • Omrežni ukazi nslookup in netstat.

Fury Road: Potovanje razvijalca zaračunavanja

4. Omrežje in varnost

Obračunavanje je tesno povezano z zahtevami glede varstva omrežja in podatkov. Ne morete pisati spletnih storitev, ne da bi razumeli, kako omrežje deluje, zato se morate naučiti osnovnih konceptov in protokolov: DNS, model OSI, HTTP, HTTPS, FTP, SSL, TLS. Potem, ko naletite na napako Connection Refused, boste vedeli, kaj storiti.

5. Strežniki

Ko preučite načela prenosa informacij v omrežju, lahko začnete z osnovami delovanja strežnika. Začnite s spletnimi strežniki: IIS, Apache, Nginx, Caddy in Tomcat.

Naslednji na seznamu:

  • Povratni proxy;
  • Anonimni pooblaščenec;
  • Predpomnjenje;
  • Izravnavanje obremenitve;
  • Požarni zid.

6. Naučite se infrastrukture kot kode

Menim, da je ta faza ena najpomembnejših. Razumeti boste morali tri široke teme:

  • Vsebnika: Docker in Kubernetes
  • Orodja za upravljanje konfiguracije: Ansible, Chef, Salt in Puppet
  • Rezerva: Terraform, oblaki.

7. Naučite se CI/CD

Druga uporabna veščina za razvijalca obračunavanja je, da zna vzpostaviti cevovod za neprekinjeno integracijo in dostavo. Na področju CI/CD obstajajo orodja, kot so Jenkins, TeamCity, Drone, Circle CI in druga. Spojler: učenje široko uporabljenega Jenkinsa bo dovolj na začetku.

8. Nadzor programske opreme in infrastrukture

Ključni cilj je razumevanje osnov spremljanja aplikacij. Orodja na tem področju so razdeljena v tri skupine:

  • Spremljanje infrastrukture: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Spremljanje delovanja aplikacij: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Storitve v oblaku

V bližnji prihodnosti bo vsaka aplikacija ali programska oprema imela dvojnik v oblaku. Prej ali slej se razvijalci srečajo z oblakom, zato preberite več o priljubljenih ponudnikih oblakov (AWS, Google Cloud in Azure) in osnovah tehnologije.

10. Delo z bazo podatkov

Vsi trenutni projekti uporabljajo baze podatkov, izkušnje z DBMS in SQL pa bodo olajšale začetek. Naučite se pisati poizvedbe SQL, uporabite razlago in se naučite, kako deluje indeks. Najlažji način je obisk tečaja. Prav tako lahko vadite svoje sposobnosti dokumentiranja Postgres in se igrate s podvajanjem.

11. Izboljšajte svoje mehke veščine

Nepričakovano neobičajna točka, a nič manj pomembna. Za začetek bodite potrpežljivi. Hitro se navadite na situacije, kot je "popravite železo, programer ste", vendar morate biti psihično pripravljeni na roke za začetek novih projektov. Če ste od nič do enega leta v programiranju in veljate za Juniorja, se pripravite na kritiko in se jo naučite sprejemati, je pregled kode s strani mentorja pogosto boleč proces. Toda hkrati je obvezna veščina sposobnost zagovarjanja svojega stališča in konstruktivnega argumentiranja; včasih se resnica rodi v prepiru. Razvijalci se nikoli ne nehajo učiti, zgornje meje v poklicu praktično ni, zato sta sposobnost učenja in ŽELJA po učenju novih stvari osnova vašega razvoja.

Fury Road: Potovanje razvijalca zaračunavanja

Pogosto me sprašujejo, kdaj začetnik doseže srednji nivo in kdaj se lahko s ponosom imenuje »starejši«. Menim, da trenutek prehoda iz stopnje v stopnjo ni določen s številom delovnih let, čeprav je ključno merilo praktična usposobljenost. Ravno mehke veščine so tiste, ki pogosto določajo hitrost razvijalčeve rasti: izurjen in priden začetnik lahko napiše visokokakovostno kodo v več jezikih in je sposoben delati v skupini že v nekaj mesecih. Razvijalec z 10-letnimi izkušnjami morda ne more rešiti nestandardnih problemov, voditi ekipe in imeti enostranskih veščin.

Tako vidim razvojno pot razvijalca obračunavanja, tako vzgajamo kvalificirane strokovnjake v naši ekipi Forward Telecom. Zdi se, da nič ne manjka, vendar sem vedno hvaležen za koristne dodatke k bistvu.

Vir: www.habr.com

Dodaj komentar