Hər bir proqramçının yaddaşında qalan bir "gənclik səhvi" var. Kimisi birbaşa istehsala (production) kod göndərib, kimisi verilənlər bazasını silib, kimisi isə nöqtəli vergülü unutduğu üçün saatlarla debug edib. Bir tərtibatçının başına gələn hekayə isə bir az fərqli: əl ilə 2000 SQL INSERT ifadəsi yazmaq.
İlk iş günü və Excel faylı
Hekayənin qəhrəmanı, bir şirkətdə təcrübəçi olaraq işə başlayanda ilk tapşırığını alır: komanda lideri, hər biri təxminən 1000 sətir və 7-10 sütundan ibarət iki vərəq olan Excel faylını verir və deyir: "Bunların hamısını verilənlər bazasına idxal et." Təcrübəçi bu işin öhdəsindən necə gələcəyini bilmir, amma köhnə sinif yoldaşı olan başqa bir təcrübəçidən məsləhət alır: "Sadəcə INSERT INTO skripti yaz." Və beləcə, iki gənc proqramçı üç gün boyunca hər bir sətir üçün əl ilə SQL INSERT yazmağa başlayır.
"Məni aldatdın, hə?"
Üç günün sonunda yekun məhsulu — minlərlə sətirdən ibarət nəhəng bir SQL faylını — komanda liderinə göstərəndə gözlədikləri reaksiya gəlmir. Lider bir neçə saniyə fayla baxır, gülümsəyir və deyir: "Məni aldatdın, hə? Mən bunu nəzərdə tutmamışdım." Əslində tələb olunan, Excel faylını oxuyub avtomatik olaraq bütün məlumatları daxil edəcək bir CakePHP skripti yazmaq idi. Təkrarlana bilən, səmərəli və təkrar istifadəyə yararlı bir həll. Lakin təcrübəçilər "texniki cəhətdən doğru, amma peşəkar baxımdan şübhəli" bir yanaşma seçmişdilər.
Dərs: proqramçı kimi düşünmək
Bu hadisə, proqramçının sonradan anladığı kimi, SQL biliklərini yox, problem həll etmə bacarığını sınayırdı. Təcrübəli bir tərtibatçı eyni tapşırığı alsa, Excel faylını analiz edər, məlumatları doğrular, batch insert və ya ORM istifadə edər, təkrar qeydləri idarə edər və idxal prosesini gələcək yükləmələr üçün təkrar istifadəyə yararlı hala gətirərdi. Yeni başlayanların isə ən böyük fərqi daha çox sintaksis bilmək deyil, "Bunu həll etməyin daha yaxşı yolu varmı?" sualını vaxtında verə bilməkdir.
Müəllif hekayənin sonunda deyir: "İndi bu xatirəyə gülürəm. Hər bir proqramçının belə bir anı olur." Və əlavə edir: "Bir gün sən də o təcrübəli inkişaf etdirici olacaqsan ki, təcrübəçinin qürurla göstərdiyi 2000 əl yazısı SQL INSERT-ə baxıb gülməməyə çalışacaqsan."


