Fury Road. Billing Developer's Journey

Բիլինգ մշակող ընկերության մենեջերը թիմ ստեղծելու երկու տարբերակ ունի. Առաջինը՝ հավաքագրել պատրաստի «ավագներին» և շարունակաբար ստեղծել այնպիսի աշխատանքային պայմաններ, որպեսզի նրանք առավելագույնս օգտագործեն իրենց հմտություններն ու փորձը, զարգանան և միևնույն ժամանակ կռվի մեջ չընկնեն։ Երկրորդը նորեկների, միջին և պրոֆեսիոնալների խառնուրդից թիմ ստեղծելն է, որպեսզի նրանք շփվեն, ազդեն միմյանց վրա, սովորեն և աճեն ընկերության ներսում: Ես դեմ եմ արատավոր շրջանին a la «ոչ փորձ, ոչ աշխատանք, ոչ փորձ», և ես խնդիր չեմ տեսնում սկսնակ ծրագրավորող վարձելու հարցում: Forward Telecom-ը վաղուց ունի պրակտիկայի ծրագիր, որը դարձել է կարիերայի ցատկահարթակ շատ ներկայիս աշխատակիցների համար:

Այժմ ես ձեզ կասեմ, թե ինչպես եմ տեսնում բիլինգի մշակողի զարգացման ուղին և ինչ հաջորդականությամբ պետք է տիրապետեք մասնագիտական ​​հմտություններին:

1. Սովորեք ծրագրավորման լեզու

Սկսնակների համար՝ ցանկացած: Առաջնահերթությունը Java-ն է, Python-ը և JavaScript-ը, սակայն Ruby, Go, C, C++-ը հարմար են հիմնական գիտելիքներ ստանալու համար։ Ինչպե՞ս սովորեցնել: Անցեք վճարովի և անվճար դասընթացներ, ես կարող եմ խորհուրդ տալ վերապատրաստում Golang-ից: Եթե ​​ձեր անգլերենի մակարդակը թույլ է տալիս, օտարերկրյա տեսանյութեր դիտելը լավ լրացուցիչ հմտություն է:

Fury Road. Billing Developer's Journey

2. Հասկանալ ՕՀ հասկացությունները

Օպերացիոն համակարգերը հիմնված են յոթ բաղադրիչների վրա, որոնք դուք պետք է իմանաք և կարողանաք բացատրել գործողության սկզբունքը.

  • Գործընթացների կառավարում;
  • Թելեր և բազմաթելային կոդ;
  • Socket (ծրագրային ինտերֆեյս);
  • I/O դիսպետչինգ;
  • Վիրտուալացում;
  • Պահպանում;
  • Ֆայլային համակարգեր.

Ես խորհուրդ եմ տալիս անցնել Linux-ի կառավարման հիմնական դասընթաց: Երկրորդ օպերացիոն համակարգերն են Windows-ը և Unix-ը:

3. Ընտելացեք տերմինալին

Դատարկ թերթիկի ֆոբիայի համեմատությամբ կա դատարկ սև էկրանի ֆոբիա՝ թարթող կուրսորով: Դուք պետք է հաղթահարեք այն, որպեսզի սովորեք, թե ինչպես լավ հրամաններ գրել հրամանի տողում:
Պետք է իմանալ.

  • Bash և KornShell ռումբեր;
  • Հրամաններ find, grep, awk, sed, lsof;
  • Ցանցային հրամաններ nslookup և netstat:

Fury Road. Billing Developer's Journey

4. Ցանց և անվտանգություն

Վճարումը սերտորեն կապված է ցանցի և տվյալների պաշտպանության պահանջների հետ: Դուք չեք կարող առցանց ծառայություններ գրել՝ առանց հասկանալու, թե ինչպես է աշխատում ցանցը, այնպես որ դուք պետք է սովորեք հիմնական հասկացությունները և արձանագրությունները՝ DNS, OSI մոդել, HTTP, HTTPS, FTP, SSL, TLS: Այնուհետև, երբ հանդիպեք Connection Refused սխալի, դուք կիմանաք, թե ինչ անել:

5. Սերվերներ

Ցանցում տեղեկատվության փոխանցման սկզբունքները ուսումնասիրելուց հետո կարող եք սկսել սերվերի շահագործման հիմունքները: Սկսեք վեբ սերվերներից՝ IIS, Apache, Nginx, Caddy և Tomcat:

Հաջորդը ցուցակում.

  • Հակադարձ վստահված անձ;
  • Անանուն վստահված անձ;
  • Քեշավորում;
  • Բեռի հավասարակշռում;
  • Firewall.

6. Իմացեք ենթակառուցվածքը որպես ծածկագիր

Կարծում եմ, որ այս փուլն ամենակարեւորներից է։ Դուք պետք է հասկանաք երեք լայն թեմա.

  • Կոնտեյներներ՝ Docker և Kubernetes
  • Կազմաձևման կառավարման գործիքներ՝ Ansible, Chef, Salt և Puppet
  • Կրկնօրինակում. Terraform, ամպեր:

7. Սովորեք CI/CD

Մեկ այլ օգտակար հմտություն բիլինգի մշակողի համար շարունակական ինտեգրման և առաքման համար խողովակաշար ստեղծելն է: CI/CD տարածքում կան այնպիսի գործիքներ, ինչպիսիք են Jenkins, TeamCity, Drone, Circle CI և այլն: Սփոյլեր. լայնորեն օգտագործվող Jenkins-ը սովորելը սկզբում բավական կլինի:

8. Ծրագրային ապահովման և ենթակառուցվածքների վերահսկում

Հիմնական նպատակն է հասկանալ հավելվածների մոնիտորինգի հիմունքները: Այս ոլորտում գործիքները բաժանված են երեք խմբի.

  • Ենթակառուցվածքի մոնիտորինգ՝ Nagios, Icinga, Datadog, Zabbix, Monit:
  • Հավելվածի կատարողականի մոնիտորինգ՝ AppDynanic, New Relic:
  • LMS՝ ELK Stack, Graylog, Splunk, Papertrail:

9. Ամպային ծառայություններ

Մոտ ապագայում յուրաքանչյուր հավելված կամ ծրագրակազմ կունենա ամպային նմանակ: Վաղ թե ուշ մշակողները բախվում են ամպին, ուստի կարդացեք հանրահայտ ամպային մատակարարների (AWS, Google Cloud և Azure) և տեխնոլոգիայի հիմունքների մասին:

10. Աշխատանքային բազայի հետ

Բոլոր ընթացիկ նախագծերն օգտագործում են տվյալների բազաներ, և DBMS-ի և SQL-ի հետ ունեցած փորձը կհեշտացնի սկսելը: Սովորեք գրել SQL հարցումներ, օգտագործեք բացատրությունը և սովորեք, թե ինչպես է աշխատում ինդեքսը: Ամենահեշտ ճանապարհը դասընթաց անցնելն է: Կարող եք նաև կիրառել ձեր Postgres փաստաթղթավորման հմտությունները և խաղալ կրկնօրինակման հետ:

11. Բարելավեք ձեր փափուկ հմտությունները

Անսպասելիորեն արտասովոր, բայց ոչ պակաս կարևոր կետ. Սկսելու համար, համբերատար եղեք: Դուք արագ ընտելանում եք այնպիսի իրավիճակներին, ինչպիսին է «շտկեք ձեր երկաթը, դուք ծրագրավորող եք», բայց դուք պետք է մտովի պատրաստ լինեք նոր նախագծերի մեկնարկի վերջնաժամկետներին: Եթե ​​դուք զրոյից մինչև մեկ տարի եք ծրագրավորման մեջ և համարվում եք կրտսեր, պատրաստվեք քննադատությանը և սովորեք ընդունել այն, մենթորի կողմից կոդերի վերանայումը հաճախ ցավոտ գործընթաց է: Բայց միևնույն ժամանակ, պարտադիր հմտությունը սեփական տեսակետը պաշտպանելու և կառուցողականորեն վիճելու կարողությունն է, երբեմն ճշմարտությունը ծնվում է վեճի մեջ: Մշակողները երբեք չեն դադարում սովորել, մասնագիտության մեջ գործնականում առաստաղ չկա, ուստի սովորելու կարողությունը և նոր բաներ սովորելու ցանկությունը ձեր զարգացման հիմքն են:

Fury Road. Billing Developer's Journey

Ինձ հաճախ են հարցնում, թե երբ է սկսնակը հասնում միջին մակարդակի, և երբ կարելի է նրան հպարտորեն «ավագ» անվանել։ Կարծում եմ, որ մակարդակից մակարդակ անցնելու պահը չի որոշվում աշխատած տարիների քանակով, թեև գործնական հմտությունները հիմնական չափանիշն են։ Հենց փափուկ հմտություններն են, որոնք հաճախ որոշում են ծրագրավորողի աճի արագությունը. պատրաստված և աշխատասեր սկսնակը կարող է մի քանի լեզուներով բարձրորակ ծածկագիր գրել և ընդամենը մի քանի ամսում աշխատել թիմում: 10 տարվա փորձ ունեցող ծրագրավորողը կարող է չկարողանալ լուծել ոչ ստանդարտ խնդիրներ, ղեկավարել թիմը և ունենալ միակողմանի հմտություններ:

Ահա թե ինչպես եմ ես տեսնում բիլինգ մշակողի զարգացման ուղին, այսպես ենք մենք զարգացնում որակյալ մասնագետներ մեր Forward Telecom թիմում: Թվում է, թե ոչինչ չի բացակայում, բայց ես միշտ երախտապարտ եմ կետի օգտակար հավելումների համար:

Source: www.habr.com

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