Yıllardır değiştirilmeyen ve sonunda ürün ve ekip arızasına yol açacak olan mevcut bir yazılım geliştirme süreciyle nasıl başa çıkacağımı bilmekle ilgileniyorum. Evet, muhtemelen bunu çözmenin daha kolay yolu işleri değiştirmektir, ancak bu ekonomi ile yapılması gerekenden daha kolaydır. Ancak, belirli örnekleriniz varsa ve aynı durumda birden çok kez gördüyseniz veya olduysanız ve bu sorunları ele almak için en iyi çözümün şirketten ayrılmak olduğunu düşünüyorsanız, lütfen cevabınızı destekleyin. Mesele şu ki, özellikle konuyla ilgili birden fazla uzman sonuçlanacak en iyi yolun: A yolu olduğunu gösteriyorsa, bu sorunun gerçekten bir cevabı vardır.
Tonlarca geliştiricinin benzer durumlarda olduğunu ya da olduğunu biliyorum. Bu, şirketlerin pazarlarında 1 numara olmaktan, sonuncu hatta pazar dışı olmaya kadar gitmesinin ana nedenlerinden biridir. Umarım bu yazıdaki cevaplar benzer engellerle karşılaşan diğer geliştiricilere yardımcı olacaktır. Küçük veya büyük bir geliştirme ekibinde bu genellikle olur:
- Bazı geliştiriciler, akışla ilgilenmeye ve karar vermeyecek gibi görünüyor ve kodu çok fazla kodla bırakmayı tercih ettiği gibi kokuyor ve geliştirme süreci olduğu gibi,
- Diğerleri hiçbir değişiklikten ve istifa etmekten bıkar ve başka bir şirkete taşınır,
- Diğerleri konuşmaktan korkuyor ve sessiz kalmayı tercih ediyor,
- Bazen çok az sayıda geliştirici ya da sadece bir tanesi ürünün geliştirilmesi için konuşmaya çalışır ve ekibe, müşteriler, kullanıcılar ve ekip için en iyi kodlama uygulamalarını ve faydalarını takip etmenin ne kadar önemli olduğunu söyler. Bu tür geliştiriciler genellikle, şirket çok az yazılım şirketinin sunduğu avantajlar veya ürünün çok fazla potansiyele sahip olması gibi nedenlerle ekiple kalmaya karar verir.
Ekibimizdeki ürün, şirketin bir ürün şemsiyesi olduğu için gelirini aldığı kısmın sadece bir kısmıdır (bu şirket bir yazılım / donanım şirketi değildir; bu nedenle, en azından şimdilik, iş yaratan sürekli patent davası yok instabilite). Bu yıllar boyunca diğer geliştiricilerin deneyimlerinden ve deneyimlerimden öğrendiğim şey, bir geliştirme ekibini gerçekten tanımak için zaman, gün, hafta değil, birkaç ay sürmesi. Görüşme sürecinde ekip sizi işe almak istiyorsa veya size ihtiyaç duyuyorsa; her şeyi harika yapıyorlar ve size ne duymak istediğinizi söyleyebilirler. Bununla birlikte, o ekipte çalışmaya başladığınızda ve kodun içinde kazmaya ve tüm SDLC sürecine doğru ilerlemeye başladığınızda gerçek farklıdır. Bu, bir geliştirici olarak, girdiğiniz işin gerçekliğini görmeye başladığınız zamandır. Bu gerçeklik, bir şirketten diğerine geçmek istemeyi zorlaştırır, çünkü taşındığınız şirketin daha iyi veya daha kötü olup olmayacağını bilmek zordur. Evet, Glassdoor incelemelerini vb. Okuyabilirsiniz, ancak bu çevrimiçi incelemelerin kaç tanesi HR'den değil gerçek mi?
Başından beri yöneticinin her zaman değişmeye direndiğini ve önceki geliştiricilerin yıllardır aynı şeyi yaptığını düşünerek aşağıda özetlenen sorunları çözmenin en iyi yolu ne olurdu?
Yıllarca ürün eksikliği: Ürün çok fazla potansiyele sahiptir ve şirkete iyi gelir getirir, ancak ürün 20 yıl önce yapılmış gibi görünüyor. Bazı kullanıcılar, ürünün kullanıcı dostu veya sezgisel olmadığından şikayet ediyorlar ve diğerleri, Gmail gibi uygulamalarda kullanılan ve benzer özelliklere sahip olmadığı için ürünü kullanırken hayal kırıklığına uğradığını belirtti. Buradaki ana sorun, bir geliştirici olarak ürün üzerinde değişiklik yapmaya çalıştığınızda ve ürünün ana öğelerini sadece birkaç piksel uzağa taşımaya (daha kullanıcı dostu veya sezgisel hale getirmek için), yönetici paniklerine ve olduğu yere geri koymak. Kullanıcılar için üretkenliğe fayda sağlayacak bir özellik eklemeye çalışırsanız, yönetici sizden "kullanıcılar işlemi olduğu gibi yapmaya alışkın vb." Sanırım değişime, gelişime ve yeniliğe karşı direnişe dikkat çekiyorsunuz. Şirketin alanında birkaç rakibi var (birkaçının ürünleri çok daha rekabetçi), ancak bir şekilde şirket yıllardır mevcut müşterileri korudu.
Proje yönetimi koordinasyonu eksikliği: Bunun bir sonucu olarak, bazı projeler geç teslim edilir, hatalar ve bazı müşteriler şikayet eder (müşteriler hataları bildirir) veya proje teslim etmeden önce bütçe çok hızlı kullanılır vb. birkaç proje koordinasyon ipucu ve fikirler şimdi yapılacak proje ve görevlerin ilerlemesini izlemek için düzenli olarak kullanılmaktadır.
Kötü yazılım Geliştirme Uygulamaları: Kod kokusu, tüm dosyalar olmasa da çoğu dosyada görülür, belge yok, kod fazlalığı, ön uç katmanı ve arka uç aynı dosyada karışık, eski geliştirme araçları, gerçek bir test ortamı veya test araçları yok (sadece kopyala yapıştır dosyaları geliştirme ortamından üretime geçirin ve sonra işlerin iyi göründüğünü ve serbest bırakıldığını manuel olarak test edin). Ekip tarafından bilinmeyen yerlerde geliştirme ve test için kullandığım geliştirme araçlarının çoğu, ekip kod geliştirme ve kaynak kontrolü için yalnızca 2 IDE kullandığından yalnızca geliştirme ortamı için kullanılabilir. Diğer geliştiriciler, mevcut sorunları iyileştirmek için en yeni çerçeveleri kullanmaya çalıştılar, ancak yönetici, "ayrılırsanız, o kodu kim koruyacak?", Bu şekilde bırakalım "Bu geliştiricilerin bazıları zaten ayrıldı ve başka şirketlere taşındı.
Özetle, benzer şirketlerin diğer şirketlerdeki birçok geliştiriciye de geldiğinden eminim, ancak farklı koşullar nedeniyle, bir geliştirici (iş kolaylığı, iş esnekliği, şirket faydaları veya çünkü daha iyi bir fırsat gelmedi). Bildiğim mükemmel bir şirket yok, ancak bir geliştirici olarak şeyleri olumlu tutmak ve nihayetinde ürünün iyileştirilmesi ve yazılım geliştirme sürecinin iyileştirilmesi için değişikliği teşvik etmek için tüm bu konulara nasıl davranır ve yaklaşırsınız? yıllık geliştirme tecrübesi veya sadece birkaç)? Bu yazının uzun olduğunu biliyorum, ancak daha yararlı geri bildirim alma şansını artırmak için ekstra ayrıntılar vermeyi tercih ettim.
Tüm geri bildirimleriniz ve zamanınız için çok teşekkürler