Fury Road: Billing Developer's Journey

Atsiskaitymo plėtros įmonės vadovas turi du būdus sukurti komandą. Pirmoji – verbuoti jau paruoštus „senjorus“ ir nuolat kurti tokias darbo sąlygas, kad jie maksimaliai išnaudotų savo įgūdžius ir patirtį, tobulėtų ir tuo pačiu nesiveltų į muštynes. Antrasis – sukurti komandą iš naujokų, viduriniųjų ir profesionalų, kad jie bendrautų, darytų įtaką vieni kitiems, mokytųsi ir augtų įmonėje. Esu prieš užburtą ratą „nėra patirties – nėra darbo – nėra patirties“ ir nematau problemos samdant pradedantį kūrėją. „Forward Telecom“ jau seniai vykdo stažuočių programą, kuri daugeliui dabartinių darbuotojų tapo karjeros tramplinu.

Dabar aš jums pasakysiu, kaip aš matau atsiskaitymo kūrėjo vystymosi kelią ir kokia seka jums reikia įgyti profesinius įgūdžius.

1. Išmokite programavimo kalbą

Pradedantiesiems, bet kam. Pirmenybė teikiama Java, Python ir JavaScript, tačiau pagrindinėms žinioms įgyti tinka Ruby, Go, C, C++. Kaip mokyti? Lankykite mokamus ir nemokamus kursus; galiu rekomenduoti mokymus iš Golang. Jei anglų kalbos lygis leidžia, užsienio vaizdo įrašų žiūrėjimas yra geras papildomas įgūdis.

Fury Road: Billing Developer's Journey

2. Suprasti OS sąvokas

Operacinės sistemos yra pagrįstos septyniais komponentais, kuriuos reikia žinoti ir mokėti paaiškinti veikimo principą:

  • Procesų valdymas;
  • Gijos ir kelių gijų kodas;
  • Lizdas (programinės įrangos sąsaja);
  • I/O dispečerinis;
  • Virtualizacija;
  • Sandėliavimas;
  • Failų sistemos.

Rekomenduoju lankyti pagrindinius Linux administravimo kursus. Antrosios operacinės sistemos yra „Windows“ ir „Unix“.

3. Pripraskite prie terminalo

Pagal analogiją su tuščio lapo fobija, yra tuščio juodo ekrano su mirksinčiu žymekliu fobija. Turėsite tai įveikti, kad išmoktumėte rašyti geras komandas komandinėje eilutėje.
Turi žinoti:

  • Bash ir KornShell apvalkalai;
  • Komandos find, grep, awk, sed, lsof;
  • Tinklo komandos nslookup ir netstat.

Fury Road: Billing Developer's Journey

4. Tinklas ir sauga

Atsiskaitymas yra glaudžiai susijęs su tinklo ir duomenų apsaugos reikalavimais. Negalite rašyti internetinių paslaugų nesuvokdami, kaip veikia tinklas, todėl reikia išmokti pagrindines sąvokas ir protokolus: DNS, OSI modelis, HTTP, HTTPS, FTP, SSL, TLS. Tada, kai pamatysite ryšio atsisakymo klaidą, žinosite, ką daryti.

5. Serveriai

Išstudijavę informacijos perdavimo tinkle principus, galite pradėti serverio veikimo pagrindus. Pradėkite nuo žiniatinklio serverių: IIS, Apache, Nginx, Caddy ir Tomcat.

Kitas sąraše:

  • atvirkštinis tarpinis serveris;
  • Anoniminis tarpinis serveris;
  • talpyklos kaupimas;
  • Apkrovos balansavimas;
  • Ugniasienė.

6. Išmokite infrastruktūrą kaip kodą

Manau, kad šis etapas yra vienas svarbiausių. Turėsite suprasti tris plačias temas:

  • Konteineriai: Docker ir Kubernetes
  • Konfigūracijos valdymo įrankiai: Ansible, Chef, Salt ir Puppet
  • Atsarginė kopija: Terraform, debesys.

7. Išmokite CI/CD

Kitas naudingas atsiskaitymo kūrėjo įgūdis yra gebėjimas sukurti nuolatinį integravimą ir pristatymą. CI/CD srityje yra tokių įrankių kaip Jenkins, TeamCity, Drone, Circle CI ir kt. Spoileris: iš pradžių pakaks išmokti plačiai naudojamo Jenkins.

8. Programinės įrangos ir infrastruktūros valdymas

Pagrindinis tikslas yra suprasti programų stebėjimo pagrindus. Šios srities įrankiai skirstomi į tris grupes:

  • Infrastruktūros stebėjimas: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Programos veikimo stebėjimas: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Debesų paslaugos

Netolimoje ateityje kiekviena programa ar programinė įranga turės debesies atitikmenį. Anksčiau ar vėliau kūrėjai susiduria su debesimi, todėl skaitykite apie populiarius debesies tiekėjus (AWS, Google Cloud ir Azure) ir technologijos pagrindus.

10. Darbas su duomenų baze

Visuose dabartiniuose projektuose naudojamos duomenų bazės, o patirtis su DBVS ir SQL padės lengviau pradėti. Išmokite rašyti SQL užklausas, naudokite paaiškinimą ir sužinokite, kaip veikia indeksas. Lengviausias būdas yra lankyti kursą. Taip pat galite lavinti savo Postgres dokumentavimo įgūdžius ir žaisti su replikacija.

11. Tobulinkite savo minkštuosius įgūdžius

Netikėtai neįprastas dalykas, bet ne mažiau svarbus. Norėdami pradėti, būkite kantrūs. Greitai priprantate prie tokių situacijų kaip „pataisyk geležį, tu esi programuotojas“, tačiau turite būti protiškai pasiruošę naujų projektų pradžios terminams. Jei programavimo srityje esate nuo nulio iki metų ir esate laikomas jaunesniuoju, pasiruoškite kritikai ir išmokite ją priimti, mentoriaus atliekama kodo peržiūra dažnai yra skausmingas procesas. Tačiau kartu privalomas įgūdis yra gebėjimas apginti savo požiūrį ir konstruktyviai ginčytis, kartais ginče gimsta tiesa. Kūrėjai niekada nenustoja mokytis, profesijoje lubų praktiškai nėra, todėl gebėjimas mokytis ir NORAS išmokti naujų dalykų yra jūsų tobulėjimo pagrindas.

Fury Road: Billing Developer's Journey

Manęs dažnai klausia, kada pradedantysis pasiekia vidurinį lygį, o kada jį išdidžiai galima vadinti „senjoru“. Manau, kad perėjimo iš lygio į lygį momentą lemia ne išdirbtų metų skaičius, nors praktiniai įgūdžiai yra esminis kriterijus. Būtent minkštieji įgūdžiai dažnai lemia kūrėjo augimo greitį: apmokytas ir darbštus pradedantysis gali parašyti kokybišką kodą keliomis kalbomis ir dirbti komandoje vos per kelis mėnesius. 10 metų patirtį turintis kūrėjas gali nesugebėti spręsti nestandartinių problemų, valdyti komandos, turėti vienpusių įgūdžių.

Taip matau atsiskaitymo kūrėjo tobulėjimo kelią, taip savo Forward Telecom komandoje auginame kvalifikuotus specialistus. Atrodo, kad nieko netrūksta, bet visada esu dėkingas už naudingus papildymus.

Šaltinis: www.habr.com

Добавить комментарий