Fury Road: The Billing Developer's Journey

Die bestuurder van 'n faktuurontwikkelingsmaatskappy het twee maniere om 'n span te bou. Die eerste is om klaargemaakte “seniors” te werf en deurlopend sulke werksomstandighede te skep sodat hulle hul vaardighede en ervaring maksimaal gebruik, ontwikkel en terselfdertyd nie in bakleiery kom nie. Die tweede is om 'n span te skep uit 'n mengsel van nuwelinge, middels en voordele, sodat hulle kommunikeer, mekaar beïnvloed, leer en groei binne die maatskappy. Ek is teen die bose kringloop a la "geen ervaring - geen werk - geen ondervinding" en ek sien nie 'n probleem om 'n beginner ontwikkelaar aan te stel nie. Forward Telecom het lank reeds 'n internskapprogram, wat 'n loopbaanspringplank vir baie huidige werknemers geword het.

Nou sal ek jou vertel hoe ek die ontwikkelingspad van 'n faktuurontwikkelaar sien, en in watter volgorde jy nodig het om professionele vaardighede te bemeester.

1. Leer 'n programmeertaal

Om mee te begin, enigiemand. Die prioriteit is Java, Python en JavaScript, maar Ruby, Go, C, C++ is geskik om basiese kennis op te doen. Hoe om te onderrig? Neem betaalde en gratis kursusse; Ek kan opleiding van Golang aanbeveel. As jou Engelse vlak dit toelaat, is dit 'n goeie bykomende vaardigheid om buitelandse video's te kyk.

Fury Road: The Billing Developer's Journey

2. Verstaan ​​OS-konsepte

Bedryfstelsels is gebaseer op sewe komponente wat jy moet ken en die beginsel van werking kan verduidelik:

  • Prosesbestuur;
  • Threads en multithreaded-kode;
  • Sok (sagteware-koppelvlak);
  • I/O versending;
  • Virtualisering;
  • Berging;
  • Lêerstelsels.

Ek beveel aan om 'n basiese Linux-administrasiekursus te neem. Die tweede bedryfstelsels in lyn is Windows en Unix.

3. Raak gewoond aan die terminale

In analogie met die fobie van 'n leë vel, is daar 'n fobie vir 'n leë swart skerm met 'n flikkerende wyser. Jy sal dit moet oorkom om te leer hoe om goeie opdragte op die opdragreël te skryf.
Moet weet:

  • Bash en KornShell skulpe;
  • Opdragte vind, grep, awk, sed, lsof;
  • Netwerk opdragte nslookup en netstat.

Fury Road: The Billing Developer's Journey

4. Netwerk en sekuriteit

Fakturering hou nou verband met netwerk- en databeskermingsvereistes. Jy kan nie aanlyn dienste skryf sonder om te verstaan ​​hoe die netwerk werk nie, so jy moet die basiese konsepte en protokolle leer: DNS, OSI-model, HTTP, HTTPS, FTP, SSL, TLS. Dan, wanneer jy 'n Connection Refused-fout teëkom, sal jy weet wat om te doen.

5. Bedieners

Nadat u die beginsels van inligtingoordrag op die netwerk bestudeer het, kan u die basiese beginsels van bedienerbedryf begin. Begin met webbedieners: IIS, Apache, Nginx, Caddy en Tomcat.

Volgende op die lys:

  • Omgekeerde volmag;
  • Anonieme gevolmagtigde;
  • Cache;
  • Vrag balansering;
  • Firewall.

6. Leer infrastruktuur as kode

Ek glo dat hierdie stadium een ​​van die belangrikste is. Jy sal drie breë onderwerpe moet verstaan:

  • Houers: Docker en Kubernetes
  • Konfigurasiebestuurnutsmiddels: Ansible, Chef, Salt en Puppet
  • Rugsteun: Terraform, wolke.

7. Leer CI/CD

Nog 'n nuttige vaardigheid vir 'n faktuurontwikkelaar is om 'n pyplyn op te stel vir deurlopende integrasie en aflewering. In die CI/CD-area is daar gereedskap soos Jenkins, TeamCity, Drone, Circle CI en ander. Bederf: om die wyd gebruikte Jenkins te leer, sal eers genoeg wees.

8. Sagteware en infrastruktuurbeheer

Die sleuteldoelwit is om die basiese beginsels van toepassingsmonitering te verstaan. Gereedskap in hierdie area word in drie groepe verdeel:

  • Infrastruktuurmonitering: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Toepassingsprestasiemonitering: AppDynanic, New Relic.
  • LMS: ELK Stack, Greylog, Splunk, Papertrail.

9. Wolkdienste

In die nabye toekoms sal elke toepassing of sagteware 'n wolk-eweknie hê. Vroeër of later kom ontwikkelaars die wolk teë, so lees op oor gewilde wolkverskaffers (AWS, Google Cloud en Azure) en die basiese beginsels van die tegnologie.

10. Werk met die databasis

Alle huidige projekte gebruik databasisse, en ondervinding met DBMS en SQL sal dit makliker maak om te begin. Leer om SQL-navrae te skryf, gebruik verduidelik en leer hoe indeks werk. Die maklikste manier is om 'n kursus te volg. U kan ook u Postgres-dokumentasievaardighede oefen en met replikasie speel.

11. Verbeter jou sagte vaardighede

'n Onverwags buitengewone punt, maar nie minder belangrik nie. Om mee te begin, wees geduldig. Jy raak vinnig gewoond aan situasies soos "maak jou yster reg, jy is 'n programmeerder," maar jy moet geestelik voorbereid wees vir die sperdatums vir die bekendstelling van nuwe projekte. As jy van nul tot ’n jaar in programmering is en as ’n Junior beskou word, berei jou voor vir kritiek en leer om dit te aanvaar, is kodehersiening deur ’n mentor dikwels ’n pynlike proses. Maar terselfdertyd is 'n verpligte vaardigheid die vermoë om 'n mens se standpunt te verdedig en konstruktief te argumenteer; soms word die waarheid in 'n argument gebore. Ontwikkelaars hou nooit op om te leer nie, daar is feitlik geen plafon in die beroep nie, so leervermoë en die BEGEERTE om nuwe dinge te leer is die basis van jou ontwikkeling.

Fury Road: The Billing Developer's Journey

Ek word gereeld gevra wanneer 'n beginner die middelvlak bereik, en wanneer hy met trots 'n "senior" genoem kan word. Ek glo dat die oomblik van oorgang van vlak na vlak nie bepaal word deur die aantal jare gewerk nie, hoewel praktiese vaardighede 'n sleutelkriterium is. Dit is juis sagte vaardighede wat dikwels die spoed van 'n ontwikkelaar se groei bepaal: 'n opgeleide en hardwerkende beginner kan hoëgehalte-kode in verskeie tale skryf en binne 'n paar maande in 'n span kan werk. 'n Ontwikkelaar met 10 jaar ondervinding kan dalk nie nie-standaard probleme oplos, 'n span bestuur en eensydige vaardighede hê nie.

Dit is hoe ek die ontwikkelingspad van 'n faktuurontwikkelaar sien, dit is hoe ons gekwalifiseerde spesialiste in ons Forward Telecom-span laat groei. Dit lyk nie of ek iets mis nie, maar ek is altyd dankbaar vir nuttige toevoegings tot die punt.

Bron: will.com

Voeg 'n opmerking