"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Би өөрөөсөө Гребенщиковын томъёололын гарчигт тавигдсан экзистенциал асуултыг өөрөөсөө асууж, вэб арын программыг анхлан хөгжүүлэгчид SQL мэдлэг хэрэгтэй эсэх, эсвэл ORM нь бүгдийг хийх эсэх талаар олон нийтийн аль нэгэнд дахин ярилцсаны дараа асуув. Би хариултыг зөвхөн ORM болон SQL-ээс арай илүү өргөн хүрээнд хайхаар шийдсэн бөгөөд үндсэндээ одоо бага, дунд түвшний хөгжлийн албан тушаалд томилогдох ярилцлагад орох гэж байгаа хүмүүс хэн бэ, тэдний түүх юу вэ, ямар ертөнц байдаг вэ гэдгийг системчлэхийг хичээсэн. -д амьдрах. Ер нь надад санал байсан ч хувийн ажилд авсан туршлагаар бүрэлдэж, орон нутгийн зах зээлд тодорхой тохируулсан. Ерөнхийдөө энэ нь сонирхолтой болсон. Эндээс бид юу олсон юм.

Дэлхийн хөгжүүлэгчдийн хүн ам

Асуултанд ямар нэгэн байдлаар хандахын тулд би өнөөдөр дэлхий дээр хичнээн хөгжүүлэгч байгаа болон энэ хүн ам цаг хугацааны явцад хэрхэн өөрчлөгдөж байгаа талаарх мэдээллийг хайж эхлэхээр шийдсэн.
Төрөл бүрийн эх сурвалжийн тооцоогоор 12-30 сая хүн байна. дээр зогсохоор шийдсэн SlashData-аас авсан өгөгдөл, учир нь тэдний арга зүй нэлээд тэнцвэртэй, миний хэрэгцээнд тохирсон мэт санагдсан. Үнэлгээ хийхдээ тэд Github дээрх данс, хадгалах сангийн тоо, StackOverflow дээрх дансны тоо, npm данс, АНУ болон Европ дахь ажил эрхлэлтийн талаарх албан ёсны эх сурвалжаас авсан мэдээллийг харгалзан үзсэн. Тэд мөн судалгаа бүрт ойролцоогоор 16 хүнийг хамруулсан 20 судалгааг ашиглан үр дүнгийн тоог тохируулсан.

SlashData-ийн мэдээлснээр 2018 оны дөрөвдүгээр улиралд дэлхий дээр ойролцоогоор 18.9 сая хөгжүүлэгч байсны 12.9 сая нь мэргэжлийн программистууд буюу програмчлалын ажил хийж байна. Одоогоор мэргэжлийн хөгжүүлэгч биш хүмүүс бол програмчлалын хоббитой хүмүүс, мөн одоо мэргэжлээр суралцаж байгаа хүмүүс (янз бүрийн оюутнууд болон бие даан суралцдаг) хүмүүс юм. За, өөрөөр хэлбэл, миний сонирхдог бүлгийн хэмжээ - 6 сая хүний ​​талаархи зөвлөмж энд байна. Үнэнийг хэлэхэд, энэ нь миний бодож байснаас ч илүү юм.

Миний хувьд хоёр дахь гэнэтийн зүйл бол програмистуудын тооны өсөлтийн хурд байв: 2017 оны 2018-р улирлаас 14.7 оны 18.9-р улирал хүртэл энэ нь 21-аас дурдсан 2018 сая болж, 5 онд 20% -иар өссөн байна! Хэрэв надаас програмистуудын тооны өсөлтийн хурдыг тооцоолохыг хүсэх юм бол энэ нь жил бүр бага зэрэг өсөхөд жилд XNUMX% орчим байна гэж хэлэх болно. Тэгээд энд XNUMX% болж байна.

Нэмж дурдахад SlashData хүн ам 2030 он гэхэд 45 саяд хүрнэ гэж тооцоолжээ. Энэ нь жилд 8% биш харин 20% -иас бага зэрэг өснө гэсэн үг гэдгийг ойлгоход хялбар байдаг, гэхдээ энэ нь интернетийн нэвтрэлтийг (одоогоор дэлхий даяар 57% орчим) тооцох зохицуулалтыг хэлж байна. Статистагийн дагуу) болон нэг хүнд ногдох хөгжүүлэгчдийн тоо зэрэг бусад хэд хэдэн хүчин зүйл. Газарзүйн хувьд хөгжүүлэгчдийн тоо Энэтхэг, Хятадад хамгийн ихээр нэмэгдэж байна; Энэтхэг улс 2023 он гэхэд хөгжүүлэгчдийн тоогоор АНУ-ыг гүйцэх төлөвтэй байна (энэ нь аль хэдийн болсон байна. C# Булангийн өгөгдөл).

Ер нь эрэлт ихсэж байгаа болохоор яаж ч бодсон программистууд зөндөө л гарна. Дашрамд хэлэхэд эрэлтийн талаар.

Юу эрэлт хэрэгцээтэй байна вэ?

Эрэлтийг тооцоолохын тулд би HackerRank өгөгдлийг ашигласан 2018 и 2019 жил.

Програмчлалын хэлний хувьд компьютерийн техник хангамжаас бусад бараг бүх салбарт JavaScript, Python, Java хэлүүд хамгийн их эрэлт хэрэгцээтэй байна. Сүүлд хамгийн их эрэлт хэрэгцээ нь C/C++ байгаа нь ойлгомжтой, техник хангамжийн төслүүдэд нөөцийн эрчимжилт, холбогдох програм хангамжийн гүйцэтгэлд тавигдах шаардлага байсаар байна.

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Хүрээний хувьд AngularJS, Node.js болон React нь хамгийн их эрэлт хэрэгцээтэй байгаа бөгөөд эрэлт, нийлүүлэлтийн хоорондох хамгийн том зөрүүтэй нь JavaScript экосистемийн хурдацтай өөрчлөгдөж байгаатай холбоотой юм шиг санагддаг, жишээ нь ExpressJS-ийн хувьд. , нийлүүлэлт аль хэдийн эрэлтээс давсан.

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Чадамжийн хувьд ажил олгогчид ажил горилогчдоос асуудал шийдвэрлэх ур чадварыг голчлон хүсдэг. Ажил олгогчдын 95 орчим хувь нь эдгээр ур чадварыг чухал гэж үздэг. Програмчлалын хэлний түвшин 56%-тай хоёрдугаарт бичигджээ. Дашрамд дурдахад, алгоритм, өгөгдлийн бүтэц болон бусад компьютерийн шинжлэх ухааны талаархи суурь мэдлэгтэй шугам огт байхгүй, эсвэл энэ нь асуулгад ороогүй эсвэл академик мэдлэгийг өргөн хүрээнд авах шаардлагагүй болсон.

Өгөгдлийн сангийн дизайн 23.2-аас доош хүнтэй аж ахуйн нэгжийн 100%, 18.8-аас дээш хүнтэй аж ахуйн нэгжийн 1000% нь шаардлагатай. Тийм ээ, энэ нь ORM болон SQL-ийн тухай юм шиг харагдаж байна! Логик, IMHO-ийн тайлбар нь томоохон компаниудад энэ асуудлыг хариуцдаг DBA-ийн тусгай үүрэг байдаг тул хөгжүүлэгчдэд тавигдах шаардлагыг зөөлрүүлж, илүү хурдан ажилд авах боломжтой юм. Гэхдээ Системийн дизайны хувьд энэ нь эсрэгээрээ: жижиг загварт 37.0%, том загварт 44.1% байна. Томоохон барилгад тусгайлан зориулсан архитекторууд байх ёстой юм шиг санагддаг, гэхдээ тэдгээр нь бий болгож буй системийн тоог нөхөж чадахгүй байж магадгүй юм. Эсвэл ижил үндсэн алгоритмууд болон өгөгдлийн бүтцийг Системийн дизайнд оруулбал энэ нь бага зэрэг тодорхой болно.

Жижиг компаниудад дээр дурдсан Системийн дизайн улам бүр бага шаардлагатай байдаг бөгөөд үүнээс бид стартапууд ямар нэгэн байдлаар ажиллаж байгаа бүтээгдэхүүнээ аль болох хурдан гаргах нь чухал бөгөөд маргааш маргааш болно гэсэн дүгнэлтийг хийж болно.

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Оюутнууд юу сурдаг вэ?

Энд би өөр нэг мэдээлэлд тулгуурласан HackerRank судалгаа.
Хэдийгээр их дээд сургуулиудад програмчлалыг аль нэг хэлбэрээр (компьютерийн шинжлэх ухааны мэргэжлээр) заадаг хэдий ч судалгаанд хамрагдагсдын талаас илүү хувь нь өөрсдөө боловсрол эзэмшдэг гэж хариулсан гэдгийг анхаарах нь чухал юм.

Орчин үеийн оюутнууд YouTube-ээс суралцахыг илүүд үздэг бол хуучин хөгжүүлэгчид заавар, номыг илүүд үздэг. Тэд хоёулаа StackOverflow-ийг идэвхтэй ашигладаг. Би үүнийг Z үеийнхний хувьд видео бол танил медиа суваг байхад Y үеийн төлөөлөгчид блог хөтлөгчгүй эрин үе хэвээр байгаатай холбон тайлбарлаж байна.

Тэд ажил олгогчдын эрэлт хэрэгцээтэй зүйлийг заадаг: JavaScript, Java, Python. Тэд C/C++ хэл мэддэг гэдгээ харуулж байгаа ч эдгээр хэлийг их дээд сургуулиудад заахдаа ашигладагтай холбоотой байх. Тэд JS фрэймворкийг заадаг ч эрэлт нь нийлүүлэлтээсээ хамаагүй өндөр байдаг тул тэд анхны ажлаа олоод идэвхтэй суралцаж байгаа бололтой.

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Ерөнхийдөө хүлээгдэж буйгаар тэд эрэлт хэрэгцээтэй зүйлийг заадаг.

Оюутнууд анхны ажлаасаа мэргэжлийн өсөлтийг хүлээж, ажил амьдралын тэнцвэр хоёрдугаарт (зарим оронд нэгдүгээрт), сонирхолтой даалгавар гуравдугаарт ордог.

Програмчлалын хэл, програм хангамжийн төрлөөр хөгжүүлэгчдийн популяцийн динамик

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

16.9 сая хөгжүүлэгчтэй вэб программууд эхний байранд ордог. Энэ бол дахин SlashData юм. Дараа нь Backend Services (13.6 сая), гар утасны програмууд (13.1 сая) болон ширээний компьютер (12.3 сая). AR/VR болон IoT салбарууд аажмаар түгээмэл болж, AI/ML/Data Science сүүлийн хоёр жилийн хугацаанд мэдэгдэхүйц өссөн.

Javascript хамгийн хурдацтай хөгжиж байна; түүний нийгэмлэг аль хэдийн хамгийн том нь бөгөөд зөвхөн 2018 онд 2.5 саяар өссөн байна. Тэд үүнийг IoT болон ML салбарт бичихийг оролдож байна.
Python 2018 онд 2.2 саяар өссөн нь уламжлалт ML-ийн алдар нэр улам бүр нэмэгдсээр байгаа бөгөөд энэ нь уламжлал ёсоор хүчтэй байдаг, түүнчлэн сурахад хялбар, хялбар хэлээр ярьдаг.

Java, C/C++ болон C# нь нийт хөгжүүлэгчдийн тооноос арай удаан хөгжиж байна. Тэд одоо хүмүүсийн эхлэхээр сонгодог програмчлалын хэл нь ховор байдаг. Энд хөгжүүлэгчдийн эрэлт хэрэгцээ нийлүүлэлттэй их бага хэмжээгээр тэнцвэрждэг. Android-д байгаагүй бол Java илүү удаан хөгжих байсан гэж би бодож байна.

РНР бол хоёр дахь хамгийн алдартай вэб програмчлалын хэл бөгөөд энэ нь мөн мэдэгдэхүйц өсч байна (32 онд 2018%). Түүний нийгэмлэг нь 5.9 сая хөгжүүлэгч гэж тооцогддог. РНР-ийн нэр хүнд туйлширч байгаа хэдий ч сурахад хялбар бөгөөд өргөн хэрэглэгддэг.

Өнөөгийн залуу нэр дэвшигчид өмнөх үеийнхтэй харьцуулахад хэр сурдаг бол?

HackerRank мэдээлэл дахин. Одоо 38-53 насны хүмүүс тоглоомуудыг анхны төслүүдээ жагсаав.

Дашрамд хэлэхэд, миний анхны их бага хэмжээний ажил бол "tic-tac-toe" бол хязгааргүй талбартай тав хүртэл дараалсан, хоёр дахь нь 15-ын тоглоом байсныг би баталж байна. Би энэ бүгдийг дээр бичсэн. МЭӨ 010-01, байсан Вильнюс үндсэн, aka BASIC-86 ба фокус. Өө.

Орчин үеийн шинэхэн програмистууд (21 нас хүртэл) тооны машин, вэбсайтыг анхны төсөл болгон бичдэг.

X үеийн төлөөлөгчдийн бараг тал хувь нь 16 наснаасаа өмнө код бичиж эхэлсэн ба ихэнх нь 5-10 насныхан (ялангуяа одоо 35-45 насныхан) код бичдэг байжээ. Яагаад гэдэг нь тодорхой байна: мэдээллийн эх сурвалж цөөхөн байсан бөгөөд програмист болохын тулд та үүнийг маш их хүсэх хэрэгтэй байсан бөгөөд үүнийг үнэхээр хүсч байсан хүмүүс эрт программчилж эхэлсэн. Үүнийг тийм ч их хүсээгүй хүмүүс одоо өөр мэргэжилтэй болсон байх магадлалтай тул социологийн дүр зураг яг ийм байна.

"Биднийг газрын хөрснөөс арчих залуу панкууд хаана байна?"

Өнөөгийн залуу нэр дэвшигчид ердөө 20% нь 16 нас хүрэхээсээ өмнө нэвтрүүлэг хийж эхэлдэг бол ихэнх нь 16-20 насны хооронд байдаг. Гэхдээ энэ нь тэдэнд сурахад илүү хялбар, одоо илүү хүртээмжтэй болсон.

үр дүн нь

Би одоог хүртэл шинэхэн вэб хөгжүүлэгчид SQL хэрэгтэй юу гэсэн асуултад тодорхой хариулт олж чадаагүй байгаа ч орчин үеийн програмистуудын талаарх санаагаа зассан.

Дараагийн үеийн хөгжүүлэгчид бол жирийн хүмүүс бөгөөд зарим талаараа өмнөхтэй төстэй байдаг; орон сууцны асуудал тэднийг зөвхөн сүйтгэсэн. Тэд ажил олгогчдын бий болгосон эрэлт хэрэгцээг хангадаг. Үр дүнд хурдан хүрэх боломжийг олгодог илүү тохиромжтой хэрэгсэл, тогтолцооны ачаар мэргэжлээр элсэх босго багассан. Одоо илүү олон хүмүүс программист болж байна; дижитал үеийнхэн (Z үеийнхэн) төрсөн цагаасаа эхлэн технологид амьдарч байна; тэдний хувьд энэ нь бусдаас дордохгүй нийтлэг мэргэжил юм.

L1 кэшийн хоцролт нь ~4 мөчлөг бөгөөд кэшийн шугамыг шаардлагагүйгээр таслахгүй байх нь дээр гэдгийг мэддэг хүмүүс нийт популяцийн эзлэхүүний хувиар багасч байна. Гэсэн хэдий ч тэд ажилд орох талаар санаа зовох хэрэггүй, хэн нэгэн нь шаардлагатай хэвээр байгаа бага түвшний зүйлийг бичих ёстой. Үүний нэгэн адил, системийн дизайны гүнзгий суурь мэдлэгтэй, түүнийг цуст практик тулалдаанд олж авсан, зөвхөн ачааны шашныг дагадаггүй хүмүүс санаа зовох хэрэггүй. Учир нь багуудад "зүгээр л код бичиж чаддаг", "зүгээр л" фреймворк ашиглаж чаддаг хүмүүс олширч, "зорилгогүй өнгөрүүлсэн он жилүүдийн тэвчишгүй зовлонгоос зайлсхийхийн тулд" (c) яг ийм хүмүүстэй тэнцвэртэй байх шаардлагатай болно. .

Зөөлөн ур чадвар нь хүсүүштэй гэсэн ангилалаас зайлшгүй шаардлагатай гэсэн ангилалд аажмаар шилжиж байна (би үүнийг батлах бодитой мэдээлэл алга, зүгээр л практик ажиглалт). Программистуудын тоо нэмэгдэж байгаа бөгөөд тэдгээрийг шууд болон шууд бус хяналтаар дамжуулан үр дүнд хүрэхийн тулд чиглүүлэх шаардлагатай бөгөөд үүнд зөөлөн ур чадвар хэрэгтэй.

"Inter IT" нь програмистын орлого нь харьцуулж болохуйц "МТ-ийн бус" мэргэжилтний орлогоос эрс ялгаатай газруудад зориулсан орон нутгийн бүс нутгийн түүх мэт санагдаж байна. Миний амьдардаг Минск хотод энэ бол ерөнхийдөө олон нийтийн хөдөлгөөн бөгөөд өдөр бүр би мэдээллийн технологийн чиглэлээр хэрхэн суралцах шинэ курсуудын зарыг хардаг бөгөөд цэвэрлэгээний компаниуд програмистуудыг онилдог "Та энэ зурган дээрх кодыг ойлгож байна уу? Энэ нь та байраа цэвэрлэхгүй байж чадна гэсэн үг, бид таны төлөө бүх зүйлийг хийх болно." Үүнтэй ижил зүйл зарим Энэтхэгт болж байгаа бололтой. Үүнийг батлах мэдээлэл надад бас алга.

Ерөнхийдөө миний бодлоор програмистуудын хүн амд юу ч заналхийлдэггүй. Өдрийн цагаар жинхэнэ программист олдохгүй, нэр дэвшигчид ихэвчлэн "юу ч мэддэггүй" гэж ярих нь утгагүй юм. Тэд яг л "жинхэнэ програмистууд"-аас ч илүү ухаалаг, чадвартай, магадгүй бүр илүү ухаалаг, чадвартай байдаг; тэд хурдацтай хөгжиж буй зах зээл тэднээс шаардаж буй мэдлэгийг олж аваад, тэдэнд хараахан хэрэггүй, үр өгөөжөө өгөхгүй зүйлийг хойш нь тавьдаг. одоо. Тэд сурах хүсэлтэй хэвээр байгаа тул шаардлагатай үедээ суралцах болно. Магадгүй, хүн бүр үүнийг хийх чадваргүй байх, гэхдээ энэ нь хүн бүрт хэрэггүй байх; ойрын ирээдүйд зах зээл нь зарим хүрээг ашиглан өөр програмын үзэл баримтлалыг хурдан нэгтгэж чаддаг хүмүүсийг амархан хүлээн авах болно.

Зөвхөн бүртгэлтэй хэрэглэгчид санал асуулгад оролцох боломжтой. Нэвтрэх, гуйя.

Вэб backender ярилцлага нь SQL мэдлэг шаарддаг уу?

  • Тийм ээ, би ажилдаа хэрэгтэй болохоор шаардаж байна

  • Тиймээ, ажил дээрээ энэ нь ховорхон хэрэг болдог ч би тэгдэг.

  • Үгүй ээ, би үүнийг шаарддаггүй, бидэнд NoSQL байна

  • Үгүй ээ, би үүнийг шаарддаггүй, ORM бүгдийг хийх болно

320 хэрэглэгч санал өгсөн. 230 хэрэглэгч түдгэлзсэн.

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

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