Fury Road: Billing Developer's Journey

Lederen af ​​en faktureringsudviklingsvirksomhed har to måder at opbygge et team på. Den første er at rekruttere færdige ”seniorer” og løbende skabe sådanne arbejdsforhold, så de udnytter deres kompetencer og erfaring maksimalt, udvikler sig og samtidig ikke kommer i slagsmål. Det andet er at skabe et team af en blanding af nytilkomne, mellem- og professionelle, så de kommunikerer, påvirker hinanden, lærer og vokser i virksomheden. Jeg er imod den onde cirkel a la "ingen erfaring - intet arbejde - ingen erfaring", og jeg ser ikke et problem i at ansætte en begynderudvikler. Forward Telecom har længe haft et praktikforløb, som er blevet et karrierespringbræt for mange nuværende medarbejdere.

Nu vil jeg fortælle dig, hvordan jeg ser udviklingsvejen for en faktureringsudvikler, og i hvilken rækkefølge du har brug for at mestre professionelle færdigheder.

1. Lær et programmeringssprog

Til at begynde med, hvem som helst. Prioriteten er Java, Python og JavaScript, men Ruby, Go, C, C++ er velegnede til at få grundlæggende viden. Hvordan undervises? Tag betalte og gratis kurser; jeg kan anbefale træning fra Golang. Hvis dit engelskniveau tillader det, er det en god yderligere færdighed at se udenlandske videoer.

Fury Road: Billing Developer's Journey

2. Forstå OS-koncepter

Operativsystemer er baseret på syv komponenter, som du har brug for at kende og kunne forklare funktionsprincippet:

  • Procesledelse;
  • Tråde og flertrådet kode;
  • Socket (softwaregrænseflade);
  • I/O afsendelse;
  • Virtualisering;
  • Opbevaring;
  • Filsystemer.

Jeg anbefaler at tage et grundlæggende Linux-administrationskursus. De andet styresystemer i rækken er Windows og Unix.

3. Væn dig til terminalen

Analogt med fobien for et blankt ark, er der en fobi for en tom sort skærm med en blinkende markør. Du bliver nødt til at overvinde det for at lære at skrive gode kommandoer på kommandolinjen.
Skal vide:

  • Bash og KornShell skaller;
  • Kommandoer find, grep, awk, sed, lsof;
  • Netværkskommandoer nslookup og netstat.

Fury Road: Billing Developer's Journey

4. Netværk og sikkerhed

Fakturering er tæt forbundet med netværks- og databeskyttelseskrav. Du kan ikke skrive onlinetjenester uden at forstå, hvordan netværket fungerer, så du skal lære de grundlæggende begreber og protokoller: DNS, OSI-model, HTTP, HTTPS, FTP, SSL, TLS. Så, når du støder på en forbindelse afvist fejl, vil du vide, hvad du skal gøre.

5. Servere

Efter at have studeret principperne for informationstransmission på netværket, kan du begynde det grundlæggende i serverdrift. Start med webservere: IIS, Apache, Nginx, Caddy og Tomcat.

Næste på listen:

  • Omvendt proxy;
  • Anonym fuldmægtig;
  • Caching;
  • Lastbalancering;
  • Firewall.

6. Lær infrastruktur som kode

Jeg mener, at denne fase er en af ​​de vigtigste. Du skal forstå tre brede emner:

  • Containere: Docker og Kubernetes
  • Konfigurationsstyringsværktøjer: Ansible, Chef, Salt og Puppet
  • Backup: Terraform, skyer.

7. Lær CI/CD

En anden nyttig færdighed for en faktureringsudvikler er at være i stand til at opsætte en pipeline til kontinuerlig integration og levering. I CI/CD-området er der værktøjer som Jenkins, TeamCity, Drone, Circle CI og andre. Spoiler: at lære den meget brugte Jenkins vil være nok i starten.

8. Software- og infrastrukturkontrol

Hovedmålet er at forstå det grundlæggende i applikationsovervågning. Værktøjer på dette område er opdelt i tre grupper:

  • Infrastrukturovervågning: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Overvågning af applikationsydelse: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Cloud-tjenester

I den nærmeste fremtid vil enhver applikation eller software have en skymodpart. Før eller siden støder udviklere på skyen, så læs op på populære cloud-udbydere (AWS, Google Cloud og Azure) og det grundlæggende i teknologien.

10. Arbejde med databasen

Alle aktuelle projekter bruger databaser, og erfaring med DBMS og SQL vil gøre det nemmere at komme i gang. Lær at skrive SQL-forespørgsler, brug forklaring og lær, hvordan indeks fungerer. Den nemmeste måde er at tage et kursus. Du kan også øve dine Postgres-dokumentationsfærdigheder og lege med replikering.

11. Forbedre dine bløde færdigheder

Et uventet punkt ud over det sædvanlige, men ikke mindre vigtigt. Til at begynde med, vær tålmodig. Du vænner dig hurtigt til situationer som "fix dit jern, du er programmør", men du skal være mentalt forberedt på deadlines for at lancere nye projekter. Hvis du er fra nul til et år i programmering og betragtes som en Junior, skal du forberede dig på kritik og lære at acceptere den, er kodegennemgang af en mentor ofte en smertefuld proces. Men på samme tid er en obligatorisk færdighed evnen til at forsvare sit synspunkt og argumentere konstruktivt; nogle gange er sandheden født i et argument. Udviklere stopper aldrig med at lære, der er praktisk talt intet loft i faget, så indlæringsevne og LYST til at lære nyt er grundlaget for din udvikling.

Fury Road: Billing Developer's Journey

Jeg bliver ofte spurgt, hvornår en nybegynder når mellemniveauet, og hvornår han med stolthed kan kaldes "senior". Jeg mener, at tidspunktet for overgangen fra niveau til niveau ikke er bestemt af antallet af arbejdede år, selvom praktiske færdigheder er et centralt kriterium. Det er netop bløde færdigheder, der ofte bestemmer hastigheden af ​​en udviklers vækst: en trænet og hårdtarbejdende begynder kan skrive højkvalitetskode på flere sprog og være i stand til at arbejde i et team på få måneder. En udvikler med 10 års erfaring kan være ude af stand til at løse ikke-standardiserede problemer, styre et team og have ensidige færdigheder.

Sådan ser jeg udviklingsvejen for en faktureringsudvikler, sådan vokser vi kvalificerede specialister i vores Forward Telecom-team. Ser ikke ud til at mangle noget, men jeg er altid taknemmelig for nyttige tilføjelser til sagen.

Kilde: www.habr.com

Tilføj en kommentar