Bir kod koruyucunun rolünü nasıl çözersiniz? [kapalı]


13

Son üç işimde kod koruyucuydum. Her üç durumda da, proje kodunun çoğunluğu zaten yazıldıktan sonra işe alındım .

Ben kendi kendini yetiştirmiş bir programcıyım. İlk profesyonel işime başlamadan önce, kemerin altında başlayıp başarılı bir şekilde gönderdiğim bir düzine projem vardı.

Yeni kod yazmak ve mevcut kodu korumak tamamen farklı iki iştir. Bu bir havacılık mühendisini bir uçak tamircisiyle karşılaştırmak gibidir.

Özellikle, uçağı herhangi bir şekilde mantıklı veya bakımı kolay olacak şekilde tasarlamaya çalışmayan bir mühendis tarafından tasarlanan bir uçak üzerinde çalışan bir uçak tamircisi olduğunuzda berbat.

Proje ilk başladığında etrafta olmak gibi hissetmeye başlıyorum , bilgisayar bilimi alanındaki insanların bir şekilde aşıldığı özel insanlardan biri olmalısınız . Bu pozisyonda olmak için ne gerekiyor?

Bu sorunun gerçekten kolay bir cevabı yok gibi hissediyorum, ama kimse bana bazı bilgiler verebilir mi? Hiç yeni bir projenin zemin katında bulundunuz mu? Oraya gitmek için ne gerekiyordu?


Code Maintainer işlerine başvuruyor musunuz?
James

@ James tüm işler kod bakım işleri, ya da en azından ben rastlamak hepsi ...
nbv4

Cesaretiniz kırılmasın. Teknolojide hiçbir şey kalıcı değildir. Tamirci ve mühendis gibi hissedebilirsiniz. Ama bence kendi kendini yetiştirmiş liderleri olan birçok şirket ve ileri dereceli işçi arıları var. Örgün eğitime uyma durumu, bilgisi ve çabasının bir miktar ödülü olmalıdır, ancak "Son zamanlarda benim için ne yaptın?" daha iyi, uzun bir yol kat ediyor.
GeliştiriciDon

Yanıtlar:


6

Bakım, farklı insanlar için farklı şeyler ifade eder ve farklı nedenlerle ortaya çıkar.

  • En kötü durumda, ilk sistem aceleyle bir araya getirildi, ilk ekip her şey için kredi aldı. 80/20 kuralını izlediler, bu yüzden satılabilecek minimum uygulanabilir bir ürün olsa da, birçok müşterinin çok sayıda düzeltmeye ve küçük iyileştirmelere ihtiyacı var. Birçok sorun var, ama çok fazla şeref yok. En zor işin var, ve şükürler olsun. Umarım bu senin durumun değildir.
  • Daha iyi bir durumda, çalışmanıza dikkat ettiğinizi ve sahadaki üründe değişiklik yapmadan değişiklik yapabileceğinize güvenebileceğinizi gösterdiniz. Orijinal sistemi bir araya getiren insanlar için ne gibi sorunlar kaldı. Belki sistemi sürecek şekilde inşa etmeyi başaramadılar, ve belki de onların yerini alacak şekilde, işleri düzeltmek ve müşterileri, projeyi ve karları kurtarmak için oradasınız.
  • Büyük olasılıkla, proje maliyetlerinin% 60'ı bakım sırasında gelir. Belki de zamanlamadır, belki de kuruluşunuz yeni geliştirme ve bakım arasında ayrım yapar, ancak çoğumuz bakım yaptığımız için 3/5 çoğunluktasınız.

İşte denemeniz gereken birkaç şey:

  • Harika bir iş çıkar, harika bir tavır al, fikir lideri ol.
  • Mümkün olduğunca, yalnız değil ekipler halinde çalışın.
  • Daha yeni dilleri öğrenin.
  • Daha yeni platformları öğrenin.
  • Daha küçük programlarda çalışma talebi, hatta daha küçük şirketler için de geçerlidir.
  • Yetenekli olun ve belgelere katılın. Projeler başladığında, şelale sonrası dönemde bile, yol haritasını çıkarmak, belgelemek, değerlendirmek ve gereksinimleri netleştirmek için çok fazla yazılı koordinasyona ihtiyaç duyarlar.
  • Projelerin gereksinim yönetimi, tahmin ve risk değerlendirmesini takdir etmeyen insanların eline geçmesi tehlikelidir, bu nedenle bu becerileri olabildiğince öğrenip uygulayın.
  • Daha resmi eğitim veya sertifikalar alın. Bu, yeni geliştirme projeleri için ekipler oluşturulduğunda durumunuzu artırabilir ve sizi daha çekici bir seçim haline getirebilir.
  • Bir şirket veya yanda danışmanlık yapın. Bu, en sevdiğiniz iş türünü hedeflemek için yaratıcı bir çıkış sağlar ve kod veya belge olmadan başlamanın nasıl bir şey olduğunu daha iyi takdir etmenizi sağlar.
  • Patronunuza ve yeni projeler planlayan insanlara yaklaşın.
  • Buna karşılık, test kullanıcılarına ve KG'ye çok yakınsanız, çıktıları genellikle bakımın girdisidir, bu yüzden patronunuzun kiminle gerçekten iyi çalıştığını düşündüğünü tahmin edin?
  • Birçok arkadaş edin ve mümkün olduğunca çok sayıda yeşil alan geliştiricisinin saygısını kazanın.
  • Yeni geliştiriciler insanlar yapabilir, bu yüzden herhangi bir eleştiri veya olumsuzluk ipucu konusunda dikkatli olun. Suçlama veya yargılama olmadan fikirlerinizi özgürce verin. Fikirlerinizin tanıtımına gerek yok, sadece söyleyin. Asla söyleme, eskiden böyle yapardık, ya da işe yaramıyor, bunu dene. Asla demiyorum, bilmiyorum, ama bu işe yarayabilir. Sadece fikri söyle. Ya da daha iyisi, göster.
  • Yeni projenize dönüşebilecek bir kavram kanıtı oluşturmak için herhangi bir fırsatı bulun ve kullanın.
  • Sizi kimin görevlendirdiğine dikkat edin. Genellikle, komuta zincirinizdeki biri olmalıdır. Eğer akranlarınızsa, bir süre geri itin. Eğer denetlediğiniz biri ise, kontrolün tersine çevrilmesi için iyi bir neden olması gerekir. KG veya test ise, komut zinciriniz için önemli olduğundan ve daha önce söz verdiğiniz işi geciktirecek şekilde programlanmadığından emin olun.
  • Mükemmellikten sakının. Yeni gelişme genellikle hızlı insanlar için, gözlerini geçseler ve t'leri noktalamasa bile ayrılır.
  • Gelişim çizginize uygun erken proje becerilerini öğrenmek ve uygulamak için zaman harcayın. Bunlar arasında kaynak havuzları oluşturmak, yapı ortamını tanımlamak, sabit tümleştirme sunucusunu yapılandırmak, kart destek paketleri içeren yeni kartlar oluşturmak için donanım ekibiyle yakın çalışmak veya kendi kendini sınamalara güç yazmak olabilir. Yeni geliştirme araçları, eğitim ve COTS donanımı satın almak için satın alma ile nasıl çalışılacağını bilmek bile yardımcı olabilir.
  • Bakım projenizi kapatmadan önce, belki de yeteneklerinizi dahili olarak ekip liderlerine ve belki de yöneticilere veya harici olarak alışveriş yaparak devam ettiğinizden emin olun.
  • Bildiğiniz her teknolojide akıcı olun ve birçok teknolojiyi bilin.

Bir bakım rolü çeşitli şekillerde avantajınıza dönüştürülebilir.

  • Grubunuzun hatta şirketin yaptığı her proje üzerinde potansiyel olarak çalışabilirsiniz.
  • Yeni geliştirme ve bakım ayrılırsa, potansiyel olarak daha az rekabetçi liderlik yolunu takip edebilirsiniz. Yeni projelerde liderlik çok istendi, ancak bakım için talepte bulunabilirsiniz. Verme konusunda cesaretiniz ve mentorluğunuz varsa, bu ekibin üyeleri bunu daha fazla takdir edebilir.
  • Proje bakım aşamasındaysa, müşterilerle arayüz kurma olasılığınız daha yüksektir. Yanlış ele alındığında, bu kariyer biter. Doğru ele alındığında, yönetici olmadan bulmak zor olan geliştirme dışında olumlu dikkat çekiyor.

Bütün bunları söyledikten sonra, rol modeli değil karşı örnek benim. Bu perspektifin çoğu deneyim ve gözlemden gelir.

Hala yazılması gereken birçok yeni program var.
Hazır olun ve şaşırtıcı bir şekilde üzerinde çalışacaksınız.


4

Sizin için kötü haberlerim var: İnsanlığın ihtiyaç duyduğu birçok uygulama zaten yazılıyor, sadece sürekli değişen ortama göre ince ayar yapılması gerekiyor.

Bir gün, yeni bir modül gibi sistemin yeni bir bölümünü yazmanız istenir ve yeşil alan geliştirme hakkındaki bilginizden yararlanabilirsiniz.

O zamana kadar, modülleri temizlemek için eski uygulamaları yeniden düzenlemeyi öğrenmeyi deneyebilirsiniz.

İyi bir okuma " Eski Uygulamalarla Çalışma " ve " Kalıplara Yeniden Yapılanma " dır . Orijinal Yeniden Düzenleme'yi (Fowler) okumadıysanız , lütfen bunu tekrarlayın. Ve Test Odaklı Geliştirme (TDD) öğrenmek, her zaman yardımcı olur.

PHP ile çalışıyorsanız, bu kod hala çalışır bir uygulamalı makale yazdım ...

İyi eğlenceler!


1

Kaçmanın en kolay yolu, programlama tarzınızı tamamen değiştirmek ve aynı zamanda yeni beceriler eklemektir. Örneğin, Araştırmacı olmaya çalışabilirsiniz. İlk yıl için prestijli bir iş olmayabilir ve kesinlikle normal programlama işleri kadar yüksek bir ücret ödenmez (ilk yıl bir Üniversite takımında Araştırmacı / Araştırma Görevlisi iseniz - tabii ki Kıdemli Araştırmacı güzel olduğu için) endüstrinin geri kalanı ile uyumlu), ancak kesinlikle yeteneklerinizi bugün bulabileceğiniz en zor problemler üzerinde çalışmaya koyacaktır. Böyle bir işten sonra, bir sonraki patronunuza göstermek için bazı ilginç projeleriniz varsa, kolayca daha iyi bir pozisyona atlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.