Programcıyı seviyorum
Bu gönderi programcılara, meslektaşlarına, yöneticilerine, müşterilerine ve hatta arkadaşlarına adanmıştır. Modern yaşamımızda, program kodu olmadan pratikte hiçbir şey olmaz - bu, entelektüel evrimimizin yaratıcılarını biraz daha iyi anlamak için iyi bir neden değil mi?
İmkansızı sorma
Her şeyi bulabilirsin: ideal bir CRM sistemi, etkileşimli güzel bir site, heyecan verici bir oyun, sanal bir ofis projesi. Sonra, tabii ki, fantezilerinizi özgür bir biçimde tarif etmeye, sanal asistan tek boynuzlu atın ten rengini belirterek ve bunları programcıya getirerek, "borçları içeri sürüklememek için yeni yıla kadar bitirelim" diyerek açıklamaya değer. sonraki." Bir programcı prototipler, diyagramlar, yaklaşık tasarım düzenleri, tam bir teknik görev isterse, bu kaprisleri patolojik tembelliği üzerine yazın. Sürecin sonunda, iş arkadaşlarına proger'ın sonsuz derecede tembel olduğunu ve dünyayı daha iyi bir yer haline getirmek istemediğini söylerken, iş arkadaşlarına şaşkınlık ve kırgınlık duyulmalıdır.
Bu paragraf kulağa çok tuhaf gelmiyor mu? Sen o değil misin? Ve birçoğu var. Ne yazık ki, çoğu zaman programcı, tek başına veya ek teknik kaynakların katılımı olmadan yapılamayacak görevleri alacaktır. Ne yazık ki, kullanıcılar çoğu zaman IDE'ler, kitaplıklar, programlama dili sınırlamaları ve her şeye rağmen teknolojiler olduğunun farkında değildir. Başka bir parlak fikirle karşılaşırsanız, diğer geliştiricinizden katı bir uygulama talep etmeyin, müşteri ihtiyaçlarıyla ilgili asgari bir araştırma yapın ve sorunları konsept düzeyinde tartışın. Bir programcı her zaman yazarlarında kendi adıyla yeni, havalı bir ürün yaratmakla ilgilenir ve deneyim düzeyi ve yeterliliği en çılgın fikri bile kurtarabilir.
Programcıyı acele etmeyin
"Dün" terimleri için güvenli bir şekilde cezalandırabilir ve bonusları kaldırabilirsiniz - eğer dün bile istiyorsanız, bugün TK'nizi neden programcıya getiriyorsunuz? Neden dün ya da bir ay önce getirmedin? Neden zamanı uzattınız ve programcı görevle birlikte "dün" veya en kısa son teslim tarihini almalı?
Bir programcının çalışması genellikle şu şekildedir: tasarım - analiz - prototip oluşturma - kod yazma - test etme - hata ayıklama - proje oluşturma - yeniden düzenleme. Dahası, bu aşamalar birleştirilebilir, karıştırılabilir, tamamlanabilir vb. Ve dışa doğru her şey tuşlarda bir vuruş gibi görünür. Yazma hızının yanı sıra, bir programcının işi bir düşünce işi, bir araştırma çalışmasıdır. Eğer bir meslektaşsanız ve bir programcıya acele ederseniz, kızgınlık ve yanlış anlama riskiyle karşı karşıya kalırsınız; Yöneticiyseniz ve bir programcı üzerinde baskı kurarsanız, bir veya birkaç aşamayı ortadan kaldırarak gereksinimlerinizi yerine getirmek zorunda kalacaktır. Ve testsiz ve yeniden düzenlemesiz bir program, üretimde bir felakettir.
Bu nedenle, bir projeye başlamadan önce, programcı ile çalışmasının zaman dilimini tartışın, ondan belirli görevler için harcanan zamanı açıklamasını ve gerekçelendirmesini isteyin. Buna dayanarak, yöneticilerin çalışmalarını ve müşterilere verdiğiniz sözleri planlayın. Nasıl planlayacağınızı bilmiyorsanız, bu programcının hatası değildir.
Tasarım yasalarını icat etmeyin
Bir araba servisine geldiğinizde, bir tekerleği nasıl değiştireceğinizi veya arabadaki elektriği nasıl tamir edeceğinizi anlatır mısınız? Ve doktora dişlerinizi nasıl tedavi edeceğini veya protez yapacağını söyleyin? Kesinlikle. Ve bir programcı, bir diş hekiminin aksine, sizi ağzınızı açmaya ve hareket etmemeye zorlayamaz. Bu nedenle, meslektaşlarının gelişim tavsiyelerini dinlemek zorunda kalıyor. Duyduğum en iyi tavsiyeleri bile aldım:
- ve Linux'a geçerseniz, o her şeyi yapabilir (iş dünyasında!);
- neden buraya yeni bir satırdan yazdın? (Kod satırları için ödeme alıyorum, bilmiyor muydum);
- yapabilir mi, SQL aracılığıyla mı? (veya belki tek bir yerden - özellikle sizin için);
- kodu bir deftere yazın, not defteri doğru, okudum (iyi, not defterinizi daha fazla okuyun);
- büyük harflerle yazdıysanız, Caps Lock'u serbest bırakın (MY_SPACE'DEN SİL).
Biraz eğlenceli ve canlandırıcı ama sonuçta çok can sıkıcı. Geliştirici okudu, kendi yöntemlerine, geliştirme yığını için tercihlerine, belirli bileşenlerle çalışma becerilerine sahip. Ve belirli bir sorunun Python'da değil Go'da çözülmesinin daha kolay olduğunu google'da aratsanız bile, geliştiriciniz yeni bir programlama dili öğrenmek için acele etmeyecektir. Programcı, kendisi için rahat olan yollarla yapılan işten sorumlu olmaya hazırdır. Ona bir yığın, fikir, kurallar dayatmayın, özellikle anlamadıysanız, sadece internette sorunuzun cevabını kasıtlı olarak arayın.
Geliştiricileri bir uygulama olarak düşünmeyin
Bir geliştirici bir bilgisayara eşit değildir, bir programcı bir programa eşit değildir. Buna göre, görev hakkında düşünebilir, daha fazla zaman isteyebilir, hatalar yapabilir ve hatta bununla başa çıkmayacağını anlarsa ve reddini tartışmaya hazırsa görevi reddedebilir. Tıpkı yemek yemek, içmek, uyumak ve işten farklı bir hayat yaşamak istediği gibi. Bu nedenle, geliştiriciyi ücretsiz fazla mesai ile yüklemeyin - evet, reddedeceği bir gerçek değil, ancak yanması ve başka bir işverene ve daha uygun meslektaşlarına gitmesi oldukça olası.
Geliştiriciye karşı aşırı derecede faydacı tutum, "siz bir programcısınız" ifadesidir. Sizinle aynı çalışandır, bu da proje içinde belirli görevleri yerine getirdiği, işini ve kişisel zamanını planladığı, rahatlamaya veya yeni bir şeyler öğrenmeye çalıştığı anlamına gelir. Etkili bir programcıya ihtiyacınız varsa, ona bir insan gibi davranın. O zaman çalışma ilişkisi verimli olacaktır.
Programcının iş süreçlerine girmesine izin verin
Programcınız daha yüksek matematik, desenler, nesne yönelimli programlama, algoritmalar konusunda uzmanlaştıysa, o zaman en karmaşık toptan gübre satış sürecinizde uzmanlaşacaktır. Geliştiriciniz veya şirket içi programcınız iş sürecinin içindeyse, birkaç kat daha faydalı olacaktır. Aynısı otomasyon için de geçerlidir: Şirketin tam olarak nasıl çalıştığını, iletişim ve temel süreçlerin nasıl organize edildiğini anlarsa, uygulamaya etkin bir şekilde eşlik edebilir ve mevcut araçlarla CRM, ERP, PM ve benzerlerini iyileştirebilir. yazılım. Böylece, otomasyon yetkin ve çalışır durumda olacak, beş poundluk gri bir taş olmayacak.