Fury Road: The Billing Developer's Journey

Manažér spoločnosti zaoberajúcej sa vývojom fakturácie má dva spôsoby, ako zostaviť tím. Prvým je nábor hotových „seniorov“ a priebežné vytváranie takých pracovných podmienok, aby svoje schopnosti a skúsenosti využili na maximum, rozvíjali sa a zároveň sa nepúšťali do bitiek. Druhým je vytvorenie tímu z mixu nováčikov, stredných a profíkov, aby spolu komunikovali, ovplyvňovali sa, učili sa a rástli v rámci firmy. Som proti začarovanému kruhu a la „žiadne skúsenosti – žiadna práca – žiadne skúsenosti“ a nevidím problém v zamestnaní začínajúceho vývojára. Forward Telecom má dlhodobo za sebou program stáží, ktorý sa stal pre mnohých súčasných zamestnancov odrazovým mostíkom v kariére.

Teraz vám poviem, ako vidím cestu vývoja vývojára fakturácie a v akom poradí musíte zvládnuť profesionálne zručnosti.

1. Naučte sa programovací jazyk

Na úvod ktokoľvek. Prioritou je Java, Python a JavaScript, ale na získanie základných vedomostí sú vhodné Ruby, Go, C, C++. Ako učiť? Absolvujte platené a bezplatné kurzy; môžem odporučiť školenie od Golang. Ak to vaša úroveň angličtiny umožňuje, sledovanie zahraničných videí je dobrou doplnkovou zručnosťou.

Fury Road: The Billing Developer's Journey

2. Pochopte koncepty OS

Operačné systémy sú založené na siedmich komponentoch, ktoré musíte poznať a vedieť vysvetliť princíp fungovania:

  • Riadenie procesov;
  • Vlákna a viacvláknový kód;
  • Socket (softvérové ​​rozhranie);
  • I/O dispečing;
  • virtualizácia;
  • Skladovanie;
  • Súborové systémy.

Odporúčam absolvovať základný kurz správy Linuxu. Druhým operačným systémom v poradí sú Windows a Unix.

3. Zvyknite si na terminál

Analogicky s fóbiou z prázdneho listu existuje fóbia z prázdnej čiernej obrazovky s blikajúcim kurzorom. Budete to musieť prekonať, aby ste sa naučili písať dobré príkazy na príkazovom riadku.
Musí vedieť:

  • škrupiny Bash a KornShell;
  • Príkazy find, grep, awk, sed, lsof;
  • Sieťové príkazy nslookup a netstat.

Fury Road: The Billing Developer's Journey

4. Sieť a bezpečnosť

Fakturácia úzko súvisí s požiadavkami na ochranu siete a údajov. Bez toho, aby ste pochopili, ako sieť funguje, nemôžete písať online služby, takže sa musíte naučiť základné pojmy a protokoly: DNS, OSI model, HTTP, HTTPS, FTP, SSL, TLS. Potom, keď narazíte na chybu Pripojenie odmietnuté, budete vedieť, čo máte robiť.

5. Servery

Po preštudovaní princípov prenosu informácií v sieti môžete začať so základmi prevádzky servera. Začnite s webovými servermi: IIS, Apache, Nginx, Caddy a Tomcat.

Ďalej na zozname:

  • Reverzný proxy;
  • Anonymný proxy;
  • ukladanie do vyrovnávacej pamäte;
  • Rozdelenie výkonu;
  • POŽARNE DVERE.

6. Naučte sa infraštruktúru ako kód

Myslím si, že táto etapa je jednou z najdôležitejších. Budete musieť pochopiť tri široké témy:

  • Kontajnery: Docker a Kubernetes
  • Nástroje na správu konfigurácie: Ansible, Chef, Salt a Puppet
  • Záloha: Terraform, mraky.

7. Naučte sa CI/CD

Ďalšou užitočnou zručnosťou pre vývojára fakturácie je schopnosť nastaviť kanál pre nepretržitú integráciu a doručovanie. V oblasti CI/CD sú nástroje ako Jenkins, TeamCity, Drone, Circle CI a ďalšie. Spoiler: naučiť sa široko používaný Jenkins bude spočiatku stačiť.

8. Softvér a riadenie infraštruktúry

Kľúčovým cieľom je pochopiť základy monitorovania aplikácií. Nástroje v tejto oblasti sú rozdelené do troch skupín:

  • Monitoring infraštruktúry: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitorovanie výkonu aplikácií: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Cloudové služby

V blízkej budúcnosti bude mať každá aplikácia alebo softvér svoj cloudový náprotivok. Skôr či neskôr sa vývojári stretnú s cloudom, takže si prečítajte o populárnych poskytovateľoch cloudu (AWS, Google Cloud a Azure) a o základoch technológie.

10. Práca s databázou

Všetky súčasné projekty využívajú databázy a skúsenosti s DBMS a SQL uľahčia začiatok. Naučte sa písať SQL dotazy, používať vysvetlenie a naučte sa, ako funguje index. Najjednoduchšie je absolvovať kurz. Môžete si tiež precvičiť svoje zručnosti v oblasti dokumentácie Postgres a hrať sa s replikáciou.

11. Zlepšite svoje mäkké zručnosti

Nečakane nevšedná pointa, no nemenej dôležitá. Na začiatok buďte trpezliví. Na situácie typu „oprav si železo, si programátor“ si rýchlo zvykneš, no na termíny spustenia nových projektov sa musíš psychicky pripraviť. Ak ste od nula do roka v programovaní a ste považovaný za juniora, pripravte sa na kritiku a naučte sa ju akceptovať, kontrola kódu mentorom je často bolestivý proces. Povinnou zručnosťou je však zároveň schopnosť brániť svoj názor a konštruktívne argumentovať; niekedy sa pravda rodí v hádke. Vývojári sa nikdy neprestanú vzdelávať, v profesii prakticky neexistuje strop, takže schopnosť učiť sa a TÚŽBA učiť sa nové veci sú základom vášho rozvoja.

Fury Road: The Billing Developer's Journey

Často sa ma pýtajú, kedy začiatočník dosiahne strednú úroveň a kedy ho možno hrdo nazvať „seniorom“. Domnievam sa, že okamih prechodu z úrovne na úroveň nie je určený počtom odpracovaných rokov, hoci praktické zručnosti sú kľúčovým kritériom. Sú to práve mäkké zručnosti, ktoré často určujú rýchlosť rastu vývojára: vyškolený a pracovitý začiatočník dokáže napísať kvalitný kód vo viacerých jazykoch a byť schopný pracovať v tíme už za pár mesiacov. Vývojár s 10-ročnou praxou nemusí byť schopný riešiť neštandardné problémy, riadiť tím a mať jednostranné zručnosti.

Takto vidím vývojovú cestu billing developera, takto nám rastú kvalifikovaní špecialisti v našom Forward Telecom tíme. Zdá sa, že mi nič nechýba, ale vždy som vďačný za užitočné dodatky k veci.

Zdroj: hab.com

Pridať komentár