Fury Road: Тооцооны хөгжүүлэгчийн аялал

Тооцооны хөгжлийн компанийн менежер багаа бүрдүүлэх хоёр арга замтай. Эхнийх нь бэлэн “ахмад настнуудыг” элсүүлж, ур чадвар, туршлагаа дээд зэргээр ашиглах, хөгжих, улмаар хэрүүл маргаан үүсгэхгүй байх ийм ажлын нөхцлийг тасралтгүй бүрдүүлэх явдал юм. Хоёр дахь нь шинээр ирсэн хүмүүс, дунд болон мэргэжлийн хүмүүсээс бүрдсэн багийг бүрдүүлж, ингэснээр тэд компани дотроо харилцаж, бие биедээ нөлөөлж, суралцаж, өсөх болно. Би "туршлагагүй - ажилгүй - туршлагагүй" гэсэн харгис тойргийн эсрэг байгаа бөгөөд анхан шатны хөгжүүлэгч ажилд авахад асуудал гарахгүй байна. Форвард Телеком нь олон жилийн турш дадлага хийх хөтөлбөрийг хэрэгжүүлсээр ирсэн бөгөөд энэ нь одоогийн олон ажилчдын карьерын тавцан болсон юм.

Одоо би тооцооны хөгжүүлэгчийн хөгжлийн замыг хэрхэн харж байгаа, мэргэжлийн ур чадварыг ямар дарааллаар эзэмших хэрэгтэйг танд хэлэх болно.

1. Програмчлалын хэл сур

Эхлэхийн тулд хэн ч. Тэргүүлэх нь Java, Python, JavaScript, харин Ruby, Go, C, C++ нь үндсэн мэдлэг олж авахад тохиромжтой. Хэрхэн заах вэ? Төлбөртэй, үнэ төлбөргүй сургалтанд хамрагдах; Би Голангаас сургалт явуулахыг зөвлөж байна. Хэрэв таны англи хэлний түвшин зөвшөөрвөл гадаад видео үзэх нь сайн нэмэлт ур чадвар юм.

Fury Road: Тооцооны хөгжүүлэгчийн аялал

2. OS-ийн тухай ойлголтыг ойлгох

Үйлдлийн системүүд нь таны мэдэж байх ёстой, үйл ажиллагааны зарчмыг тайлбарлах чадвартай долоон бүрэлдэхүүн хэсэг дээр суурилдаг.

  • Үйл явцын удирдлага;
  • Threads ба олон урсгалтай код;
  • Сокет (програм хангамжийн интерфейс);
  • I/O илгээх;
  • Виртуалчлал;
  • Хадгалах;
  • Файлын системүүд.

Би Линуксийн удирдлагын үндсэн сургалтанд хамрагдахыг зөвлөж байна. Хоёр дахь үйлдлийн систем нь Windows болон Unix юм.

3. Терминалдаа дас

Хоосон хуудасны фобитой адилаар курсор анивчдаг хоосон хар дэлгэцийн фоби байдаг. Командын мөрөнд хэрхэн сайн команд бичиж сурахын тулд та үүнийг даван туулах хэрэгтэй болно.
Мэдэх ёстой:

  • Bash болон KornShell бүрхүүлүүд;
  • find, grep, awk, sed, lsof гэсэн командууд;
  • Сүлжээний командууд nslookup болон netstat.

Fury Road: Тооцооны хөгжүүлэгчийн аялал

4. Сүлжээ ба аюулгүй байдал

Төлбөр тооцоо нь сүлжээ болон өгөгдөл хамгаалах шаардлагуудтай нягт холбоотой. Та сүлжээ хэрхэн ажилладагийг ойлгохгүйгээр онлайн үйлчилгээг бичиж чадахгүй тул DNS, OSI загвар, HTTP, HTTPS, FTP, SSL, TLS гэсэн үндсэн ойлголт, протоколуудыг сурах хэрэгтэй. Дараа нь холболтоос татгалзсан алдаатай тулгарах үед та юу хийхээ мэдэх болно.

5. Серверүүд

Сүлжээнд мэдээлэл дамжуулах зарчмуудыг судалсны дараа та серверийн үйл ажиллагааны үндсийг эхлүүлж болно. Вэб серверүүдээс эхлээрэй: IIS, Apache, Nginx, Caddy болон Tomcat.

Жагсаалтын дараагийнх нь:

  • Урвуу прокси;
  • Нэргүй прокси;
  • кэш хийх;
  • Ачааллыг тэнцвэржүүлэх;
  • Галт хана.

6. Дэд бүтцийг код болгон сур

Энэ үе шат бол хамгийн чухал үе шатуудын нэг гэдэгт би итгэдэг. Та гурван өргөн сэдвийг ойлгох хэрэгтэй:

  • Контейнер: Докер ба Кубернетес
  • Тохиргооны удирдлагын хэрэгслүүд: Ansible, Chef, Salt and Puppet
  • Нөөц: Terraform, үүлс.

7. CI/CD сурах

Тооцооны боловсруулагчийн өөр нэг хэрэгтэй ур чадвар бол тасралтгүй нэгтгэх, хүргэх дамжуулах хоолойг тохируулах чадвартай байх явдал юм. CI/CD хэсэгт Jenkins, TeamCity, Drone, Circle CI болон бусад хэрэгслүүд байдаг. Спойлер: өргөн хэрэглэгддэг Женкинсийг сурахад эхлээд хангалттай байх болно.

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: Тооцооны хөгжүүлэгчийн аялал

Анхлан суралцагч хэзээ дунд шатандаа хүрдэг, хэзээ түүнийг “ахлах” гэж бардам хэлж болох вэ гэж надаас их асуудаг. Түвшингээс түвшинд шилжих мөч нь ажилласан жилээр тодорхойлогддоггүй ч практик ур чадвар нь гол шалгуур болдог гэдэгт би итгэдэг. Хөгжүүлэгчийн өсөлтийн хурдыг яг нарийн зөөлөн ур чадварууд тодорхойлдог: бэлтгэгдсэн, хөдөлмөрч эхлэгч нь хэд хэдэн хэлээр өндөр чанартай код бичиж, хэдхэн сарын дотор багаар ажиллах боломжтой. 10 жилийн туршлагатай хөгжүүлэгч стандарт бус асуудлыг шийдэж чадахгүй, багаа удирдаж чадахгүй, нэг талын ур чадвартай байж болно.

Би тооцооны хөгжүүлэгчийн хөгжлийн замыг ингэж харж байна, бид Форвард Телекомын багт чадварлаг мэргэжилтнүүдийг ингэж өсгөж байна. Юу ч дутуугүй юм шиг байна, гэхдээ энэ зүйлд тустай нэмэлт зүйл оруулсанд би үргэлж талархаж явдаг.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх