Үр ашигтай байхын нууц бол үр дүнтэй менежер биш харин чанарын код юм

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

Хэзээ ч код бичиж байгаагүй хүмүүс. Программистуудын тухай Холливудын кинонуудыг бүтээсэн хүмүүст - командын мөрийг ашиглан имэйл үздэг хүмүүст зориулагдсан. Шалгуур үзүүлэлт, хугацаа, өөрийнхөө цалингаас өөр зүйл сонирхдоггүй хүмүүс.

Олонхи болсон хүмүүс.

Гэхдээ тэд өөр шалтгаантай тэнэгүүд юм. Тэд аль нэгийг нь ч ойлгохгүйгээр үр ашигтай байхыг, эсвэл ядаж үр дүнтэй байхыг хүсдэг (нааш ир, менежер, Google ялгаа нь юу вэ). Мөн чанар, үр дүнд хүрэх үйл явц, энэ үйл явцад гарч буй алдагдал, хөгжлийн зардлыг ерөнхийд нь ойлгохгүйгээр. Товчхондоо програмист хүнтэй хар хайрцаг шиг л ажиллах.

Тэд яг нэг шалтгааны улмаас програмистуудын удирдлага руу гүйж ирсэн: шуугиан, мөнгө, зах зээл, нөгөө л тэнэгүүд. Төөрөх газар бий.

Хэрэв механик угсралтын үйлдвэрлэлд шуугиан тарьсан бол бид тийшээ гүйх байсан. Станцын вагонууд муу. XNUMX-р сард манай хороололд гацуур мод зардаг залуу амралтаараа мэдээллийн технологийн менежер байгаад би гайхахгүй байх.

Товчхондоо, болж өгвөл энэ залуусыг хүзүүгээр нь бууд. Санаа зоволтгүй, тэд ажилтай болно. Тэдний хэн нь ч өөрөө программист болох хүртлээ олигтой зүйл хийхгүй. Учир нь тэрээр өөрийн удирдаж буй үйл явцын мөн чанар, механизм, логикийг ойлгодоггүй.

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

Үр ашгийг нэмэгдүүлэхийн тулд та чанарыг алдалгүйгээр асуудлыг хурдан шийдэх хэрэгтэй. Асуудлыг хурдан шийдвэрлэхийн тулд та тэр даруй өндөр чанартай код бичих чадвартай байх хэрэгтэй. Мөн "өндөр чанартай", "бичих", "нэн даруй". Би зүйрлэлээр тайлбарлая.

Чанартай код бичих нь гадаад хэлээр зөв ярихтай адил юм. Хэл мэдэхгүй бол та хэлээр бодлоо илэрхийлэх гэж маш их цаг зарцуулдаг.

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

Хэрэв танд хариулт боловсруулах цаг байгаа бол толь бичиг эсвэл онлайн орчуулагч нээж, бодлоо илэрхийлэхэд маш их цаг зарцуулах шаардлагатай болно. Гэсэн хэдий ч мэдрэмж нь тааламжгүй хэвээр байх болно: та хариултаа хэлж, энэ нь зөв эсэхийг мэдэхгүй байна. Кодтой адилхан - энэ нь бичигдсэн юм шиг, ажиллаж байгаа мэт боловч сайн чанартай эсэх нь нууц юм.

Энэ нь давхар дэмий цаг хугацаа болж хувирдаг. Хариултаа олоход цаг хугацаа хэрэгтэй. Энэ хариултыг боловсруулахад бас цаг хугацаа шаардагддаг - тийм ч бага биш.

Хэрэв өндөр чанартай код бичих ур чадвар байгаа бол хариултыг орчуулгад нэмэлт цаг зарцуулахгүйгээр толгойдоо боловсорч гүйцсэн даруйд нь боловсруулж болно.

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

Дүгнэж хэлэхэд: өндөр чанартай код бичих чадвар нь асуудлыг шийдвэрлэхэд ихээхэн хурдасгадаг.

Гэхдээ энэ нь бүгд биш юм. Эсгий гутлын менежерүүдийн ачаар нэг зүйл байна - бидэнд өндөр чанартай код бичих шалтгаан байхгүй. Менежер нь кодыг нь харахгүй, үйлчлүүлэгч нь кодыг нь хардаггүй. Бид кодыг бие биедээ үзүүлэх нь ховор, зөвхөн заримдаа "шалгагч" эсвэл үе үе рефакторинг хийдэг зарим төслүүдэд код харуулдаг.

Ихэнх тохиолдолд новшийн код нь үйлдвэрлэл эсвэл үйлчлүүлэгч рүү очдог. Новшийн код бичсэн хүн тогтвортой мэдрэлийн холболт үүсгэдэг - энэ нь зөвхөн новшийн код бичих боломжтой төдийгүй зайлшгүй шаардлагатай - үүнийг хүлээн зөвшөөрч, бүр төлбөр төлдөг.

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

Гэвч энэхүү дотоод сэдэл нь үр ашиг, бүтээмжийн төлөвлөгөө, шаардлагуудтай зөрчилддөг. Энэ зөрчилдөөн нь өндөр чанартай кодоор шийдэгдэхгүй нь тодорхой, учир нь хүмүүс хүмүүсийг новшийн кодоор шүүмжилдэггүй. Төлөвлөгөөгөө биелүүлээгүй тохиолдолд - тэгсэн ч гэсэн.

Би юу хийх хэрэгтэй вэ? Би нэгтгэж болох хоёр замыг харж, санал болгож байна.

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

Гэхдээ энэ зам бас тийм юм. Хэрэглэх чадвар нь холбоо барих цэгээс хамаарна. Хэрэв ажил нь аль хэдийн үйлдвэрлэлд орсон бөгөөд код нь новш болох нь тогтоогдвол үүнийг дахин хийх нь утгагүй юм. Илүү нарийвчлалтай, шалтгаанууд - хэмжүүрүүд мөн уналтанд орно. Менежерүүд яаран орж, үр ашгийн шаардлагуудаар таныг бутлах болно. Новшийн код нь алдаа хэлбэрээр эргэж ирэх болно гэдгийг тэдэнд тайлбарлах гэж бүү оролдоорой - энэ нь танд сөрөг нөлөө үзүүлэх болно. Та зөвхөн үүнийг дахин хийхгүй байх амлалт өгч болно.

Хэрэв ажил хараахан хүргэгдээгүй эсвэл дөнгөж эхэлж байгаа бол код (эсвэл түүний төсөл, санаа) дээр баас асгах нь нэлээд практик утгатай байж болох юм - хүн үүнийг ердийн байдлаар хийх болно.

Хоёр дахь арга нь хамгийн гайхалтай нь ажлын бус цагаар нээлттэй эхийн хөгжүүлэлт хийх явдал юм. Зорилго нь юу вэ: олон тооны програмистууд, тухайлбал программистууд таны кодыг харж, энэ талаар ярих. Компанийн бүх хүмүүст цаг зав байдаггүй. Гэвч дэлхий даяарх програмистууд хийх зүйлгүй хэвээр байгаа бөгөөд хэрвээ та хэрэглээний үүднээс хэрэгтэй зүйл бичвэл тэд дотроос нь харах нь гарцаагүй.

Гол заль мэх бол миний бодлоор ажлын бус цагаар код бичих явдал юм, учир нь кодын чанар, үр дүнг хүргэх хурд хоёрын хоорондох зөрчилдөөн ажиллахгүй болно. Наад зах нь нэг жил хөгжлөө бичээрэй. Хугацаа ч, техникийн үзүүлэлтүүд ч, мөнгө ч, дарга ч танд дарамт учруулахгүй. Бүрэн эрх чөлөө, бүтээлч байдал.

Зөвхөн чөлөөт бүтээлч байдлаар л та агуу код гэж юу байдгийг ойлгож, мэдэрч, хэл, технологийн сайхныг харж, бизнесийн даалгавруудын сэтгэл татам байдлыг мэдрэх болно. За, та өндөр чанартай код бичиж сурах болно.

Энэ нь танаас хувийн цагийг зарцуулахыг шаарддаг нь үнэн. Яг л бусад хөгжлийн нэгэн адил. Үүнийг зардал гэж биш, харин өөртөө оруулсан хөрөнгө оруулалт гэж хар.

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

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