Fury Road: The Billing Developer's Journey

Egy számlázási fejlesztő cég menedzsere kétféleképpen építhet csapatot. Az első, hogy kész „seniorokat” toborozzanak, és folyamatosan olyan munkakörülményeket teremtsenek, hogy képességeiket, tapasztalataikat maximálisan kihasználják, fejlődjenek és egyúttal ne kerüljenek verekedésbe. A második egy csapat létrehozása újoncok, közép- és profik keverékéből, hogy kommunikáljanak, befolyásolják egymást, tanuljanak és fejlődjenek a vállalaton belül. Ellenzem az ördögi kört, a „nincs tapasztalat – nincs munka – nincs tapasztalat”, és nem látok problémát egy kezdő fejlesztő felvételében. A Forward Telecomnak már régóta van gyakornoki programja, amely sok jelenlegi alkalmazott számára karrier ugródeszkává vált.

Most elmondom, hogyan látom egy számlázási fejlesztő fejlődési útját, és milyen sorrendben kell elsajátítania a szakmai ismereteket.

1. Tanuljon meg egy programozási nyelvet

Kezdetnek bárki. A prioritás a Java, a Python és a JavaScript, de alapismeretek megszerzésére a Ruby, Go, C, C++ alkalmas. Hogyan kell tanítani? Vegyen részt fizetős és ingyenes tanfolyamokon; tudom ajánlani a Golang képzését. Ha az angol nyelvtudásod megengedi, jó kiegészítő készség a külföldi videók megtekintése.

Fury Road: The Billing Developer's Journey

2. Az operációs rendszer fogalmainak megértése

Az operációs rendszerek hét összetevőn alapulnak, amelyeket ismernie kell és el kell tudnia magyarázni a működési elvet:

  • Folyamatmenedzsment;
  • Szálak és többszálú kód;
  • Socket (szoftver interfész);
  • I/O diszpécsere;
  • Virtualizáció;
  • Tárolás;
  • Fájlrendszerek.

Javaslom egy alapszintű Linux adminisztrációs tanfolyam elvégzését. A második operációs rendszer a sorban a Windows és a Unix.

3. Szokj hozzá a terminálhoz

Az üres lap fóbiájával analóg módon létezik egy villogó kurzorral ellátott üres fekete képernyő fóbiája. Le kell győznie, hogy megtanulja, hogyan kell jó parancsokat írni a parancssorba.
Muszáj tudni:

  • Bash és KornShell héjak;
  • Parancsok find, grep, awk, sed, lsof;
  • Az nslookup és a netstat hálózati parancsok.

Fury Road: The Billing Developer's Journey

4. Hálózat és biztonság

A számlázás szorosan összefügg a hálózati és adatvédelmi követelményekkel. Nem írhat online szolgáltatásokat anélkül, hogy nem értené a hálózat működését, ezért meg kell tanulnia az alapvető fogalmakat és protokollokat: DNS, OSI modell, HTTP, HTTPS, FTP, SSL, TLS. Ezután, amikor a Connection Refused hibaüzenetet tapasztalja, tudni fogja, mit kell tennie.

5. Szerverek

A hálózaton történő információtovábbítás elveinek tanulmányozása után megkezdheti a szerver működésének alapjait. Kezdje webszerverekkel: IIS, Apache, Nginx, Caddy és Tomcat.

A lista lejjebb:

  • Fordított proxy;
  • Névtelen proxy;
  • Gyorsítótárazás;
  • Terhelés elosztás;
  • Tűzfal.

6. Tanulja meg az infrastruktúrát kódként

Úgy gondolom, hogy ez a szakasz az egyik legfontosabb. Három nagy témát kell megértened:

  • Konténerek: Docker és Kubernetes
  • Konfigurációkezelő eszközök: Ansible, Chef, Salt és Puppet
  • Biztonsági mentés: Terraform, felhők.

7. Tanuljon CI/CD-t

Egy másik hasznos készség egy számlázási fejlesztő számára, hogy képes felállítani egy folyamatot a folyamatos integrációhoz és szállításhoz. A CI/CD területen olyan eszközök találhatók, mint a Jenkins, TeamCity, Drone, Circle CI és mások. Spoiler: elsőre elég lesz megtanulni a széles körben használt Jenkinst.

8. Szoftver és infrastruktúra vezérlése

A fő cél az alkalmazásfigyelés alapjainak megértése. Ezen a területen az eszközök három csoportra oszthatók:

  • Infrastruktúra monitoring: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Alkalmazás teljesítményének figyelése: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Felhőszolgáltatások

A közeljövőben minden alkalmazásnak vagy szoftvernek lesz felhőalapú megfelelője. Előbb-utóbb a fejlesztők találkoznak a felhővel, ezért olvassa el a népszerű felhőszolgáltatókat (AWS, Google Cloud és Azure) és a technológia alapjait.

10. Munka az adatbázissal

Minden jelenlegi projekt adatbázist használ, és a DBMS-sel és SQL-lel kapcsolatos tapasztalatok megkönnyítik az indulást. Tanuljon meg SQL-lekérdezéseket írni, használja a magyarázatot, és tanulja meg az index működését. A legegyszerűbb módja egy tanfolyam elvégzése. Gyakorolhatja Postgres dokumentációs készségeit és játszhat a replikációval.

11. Fejleszd puha készségeidet

Váratlanul a megszokottól eltérő, de nem kevésbé fontos pont. Először is légy türelmes. Gyorsan megszokja az olyan helyzeteket, mint a „megjavítja a vasat, programozó vagy”, de lelkileg fel kell készülnie az új projektek elindításának határidejére. Ha nullától egy évig jár a programozásban, és juniornak számít, készüljön fel a kritikára, és tanulja meg elfogadni azt, a mentor által végzett kódellenőrzés gyakran fájdalmas folyamat. De ugyanakkor kötelező készség az a képesség, hogy megvédjük álláspontjukat és konstruktívan érveljünk, néha vitában születik meg az igazság. A fejlesztők soha nem hagyják abba a tanulást, gyakorlatilag nincs plafon a szakmában, így a tanulási képesség és az új dolgok elsajátítására való vágy a fejlődésed alapja.

Fury Road: The Billing Developer's Journey

Gyakran kérdezik tőlem, hogy egy kezdő mikor éri el a középszintet, és mikor nevezhető büszkén „seniornek”. Úgy gondolom, hogy a szintről a szintre való átmenet pillanatát nem a ledolgozott évek száma határozza meg, bár a gyakorlati készségek kulcsfontosságú kritériumok. Pontosan a soft skillek határozzák meg gyakran a fejlesztő növekedési sebességét: egy képzett és szorgalmas kezdő több nyelven is tud jó minőségű kódot írni, és néhány hónapon belül csapatban tud dolgozni. Előfordulhat, hogy egy 10 éves tapasztalattal rendelkező fejlesztő nem tud nem szabványos problémákat megoldani, csapatot irányítani, és egyoldalú képességekkel rendelkezik.

Én így látom egy számlázási fejlesztő fejlődési útját, így nevelünk képzett szakembereket Forward Telecom csapatunkban. Úgy tűnik, nem hiányzik semmi, de mindig hálás vagyok a hasznos kiegészítésekért.

Forrás: will.com

Hozzászólás