Fury Road: The Billing Developer's Journey

Manažer společnosti zabývající se vývojem fakturace má dva způsoby, jak sestavit tým. Tou první je nabírat hotové „seniory“ a průběžně vytvářet takové pracovní podmínky, aby své schopnosti a zkušenosti maximálně využili, rozvíjeli se a přitom se nepouštěli do bojů. Druhým je vytvořit tým z mixu nováčků, středních a profíků, aby spolu komunikovali, ovlivňovali se, učili se a rostli v rámci firmy. Jsem proti začarovanému kruhu a la „žádná zkušenost – žádná práce – žádná zkušenost“ a nevidím problém v najímání začínajícího vývojáře. Forward Telecom má dlouhodobě stážový program, který se stal pro mnoho současných zaměstnanců odrazovým můstkem v kariéře.

Nyní vám řeknu, jak vidím vývojovou cestu vývojáře fakturace a v jakém pořadí musíte zvládnout profesionální dovednosti.

1. Naučte se programovací jazyk

Pro začátek kdokoli. Prioritou je Java, Python a JavaScript, ale pro získání základních znalostí jsou vhodné Ruby, Go, C, C++. Jak učit? Absolvujte placené i bezplatné kurzy, mohu doporučit školení od Golang. Pokud to vaše úroveň angličtiny dovolí, je sledování cizích videí dobrou doplňkovou dovedností.

Fury Road: The Billing Developer's Journey

2. Pochopte koncepty OS

Operační systémy jsou založeny na sedmi komponentách, které musíte znát a umět vysvětlit princip fungování:

  • Řízení procesu;
  • Vlákna a vícevláknový kód;
  • Socket (softwarové rozhraní);
  • I/O dispečink;
  • Virtualizace;
  • Úložný prostor;
  • Souborové systémy.

Doporučuji absolvovat základní kurz administrace Linuxu. Druhými operačními systémy v pořadí jsou Windows a Unix.

3. Zvykněte si na terminál

Analogicky s fobií z prázdného listu existuje fobie z prázdné černé obrazovky s blikajícím kurzorem. Budete to muset překonat, abyste se naučili psát dobré příkazy na příkazovém řádku.
Musíš vědět:

  • Skořápky Bash a KornShell;
  • Příkazy find, grep, awk, sed, lsof;
  • Síťové příkazy nslookup a netstat.

Fury Road: The Billing Developer's Journey

4. Síť a bezpečnost

Fakturace úzce souvisí s požadavky na ochranu sítě a dat. Nemůžete psát online služby, aniž byste pochopili, jak síť funguje, takže se musíte naučit základní pojmy a protokoly: DNS, OSI model, HTTP, HTTPS, FTP, SSL, TLS. Když pak narazíte na chybu Připojení odmítnuto, budete vědět, co dělat.

5. Servery

Po prostudování principů přenosu informací v síti můžete začít se základy provozu serveru. Začněte s webovými servery: IIS, Apache, Nginx, Caddy a Tomcat.

Dále v seznamu:

  • Reverzní proxy;
  • Anonymní proxy;
  • ukládání do mezipaměti;
  • Vyvažování zátěže;
  • Firewall.

6. Naučte se infrastrukturu jako kód

Věřím, že tato etapa je jednou z nejdůležitějších. Budete muset pochopit tři široká témata:

  • Kontejnery: Docker a Kubernetes
  • Nástroje pro správu konfigurace: Ansible, Chef, Salt a Puppet
  • Záloha: Terraform, mraky.

7. Naučte se CI/CD

Další užitečnou dovedností pro vývojáře fakturace je schopnost nastavit kanál pro nepřetržitou integraci a doručování. V oblasti CI/CD jsou nástroje jako Jenkins, TeamCity, Drone, Circle CI a další. Spoiler: naučit se široce používané Jenkins bude zpočátku stačit.

8. Software a řízení infrastruktury

Klíčovým cílem je pochopit základy monitorování aplikací. Nástroje v této oblasti jsou rozděleny do tří skupin:

  • Monitorování infrastruktury: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitorování výkonu aplikací: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Cloudové služby

V blízké budoucnosti bude mít každá aplikace nebo software svůj cloudový protějšek. Dříve nebo později se vývojáři setkají s cloudem, takže si přečtěte o oblíbených poskytovatelích cloudu (AWS, Google Cloud a Azure) a o základech této technologie.

10. Práce s databází

Všechny současné projekty využívají databáze a zkušenosti s DBMS a SQL usnadní začátek. Naučte se psát SQL dotazy, používat vysvětlení a naučte se, jak funguje index. Nejjednodušší je absolvovat kurz. Můžete si také procvičit své dovednosti v oblasti dokumentace Postgres a hrát si s replikací.

11. Zlepšete své měkké dovednosti

Nečekaně mimořádná pointa, ale neméně důležitá. Pro začátek buďte trpěliví. Rychle si zvyknete na situace jako „opravte si železo, jste programátor“, ale musíte být duševně připraveni na termíny spouštění nových projektů. Pokud jste od nula do roku v programování a jste považováni za juniora, připravte se na kritiku a naučte se ji přijímat, kontrola kódu mentorem je často bolestivý proces. Povinnou dovedností je ale zároveň schopnost obhájit svůj názor a konstruktivně argumentovat; někdy se pravda rodí v hádce. Vývojáři se nikdy nepřestanou učit, v profesi prakticky neexistuje žádný strop, takže schopnost učit se a TOUHA učit se nové věci jsou základem vašeho rozvoje.

Fury Road: The Billing Developer's Journey

Často se mě ptají, kdy začátečník dosáhne střední úrovně a kdy může být hrdě nazýván „seniorem“. Domnívám se, že okamžik přechodu z úrovně na úroveň není určen počtem odpracovaných let, ačkoli praktické dovednosti jsou klíčovým kritériem. Právě měkké dovednosti často určují rychlost růstu vývojáře: vyškolený a pracovitý začátečník dokáže napsat vysoce kvalitní kód v několika jazycích a být schopen pracovat v týmu během několika měsíců. Vývojář s 10 lety zkušeností nemusí být schopen řešit nestandardní problémy, řídit tým a mít jednostranné dovednosti.

Takto vidím cestu vývoje billing developera, takto si vypěstujeme kvalifikované specialisty v našem týmu Forward Telecom. Zdá se, že mi nic nechybí, ale vždy jsem vděčný za užitečné doplňky k věci.

Zdroj: www.habr.com

Přidat komentář