Özel bakım çalışmaları bir programcının kariyerini engelliyor mu? [kapalı]


52

Son üç yıldaki çalışmalarımın çoğunluğu, büyük ölçüde yeniden satılmadan önce düzeltme ya da zaman zaman yenilemeye ihtiyaç duyan eski sistemleri sürdürmek üzereydi.

Özel bakım programcılarının çok sayıda projeye ve sınırlı geliştiricilere sahip şirketlerde oynayacakları kritik rolü anlıyorum.

Fakat şu anki kariyerimdeki ilerlemeyi yargıladığım ve meslektaşlarıma baktığımda; müteahhitler ve kurumsal geliştiriciler; Dokunduğum alanlar açısından çok geniş bir alan kazandığımdan beri çok geride kaldığımı hissediyorum. Bir blog açarak, kendi küçük git-hub projelerim üzerinde çalışarak ve düzenli olarak işten sonra kişisel kodlama yapmak için zamanımın yaşamını yeniden düzenleyerek bunu ele almaya başladım.

Bakım işinden kaçmak için diğer şirketlerle röportaj yaptığımı ve belirli bir konuya odaklanan üç yıllık tecrübesi olan bir kişinin ihtiyaç duyduğu bilgi derinliği seviyesine sahip olamayacağımı düşündüğüm için kendimi beceri düzeyinde oldukça genç olarak temsil etmek zorunda kalacağımı hissediyorum. özellik geliştirmenin yolu olur. Bu yüzden mevcut iş tecrübemin yarısı uzun vadede boşa harcanacak.

Fakat bu beni asıl sorularıma yöneltir, kişisel ikilemimin etrafında merkezlenmiş hissediyorsam özür dilerim:

Özel bakım programlama rolleri erken bir kariyere zarar verebilir mi? Diğer programcılar böyle rollerden kaçınmakta haklılar mı? Bu tarz bir işi yapmak, küçük yaşta başlamaya hazır olmadığınız sürece, benzer işleri yapmanıza engel olur mu?


Kariyerinizde erken çalıştığınız teknolojinin, bakım işi ya da yeni bir gelişme yaptığınızdan (çok) daha önemli olduğunu düşünüyorum. Eğer bir ev dilinde yeni bir gelişme ya da az talep görmüş eski bir dilde olsaydınız, daha yüksek bir talep dilinde yeni bir gelişme yapmamaktan çok daha kötü olurdu.
stoj

6
Kesinlikle karakter oluşturur.
quant_dev

Yanıtlar:


70

Özel bakım programlama rolleri erken bir kariyere zarar verebilir mi? Diğer programcılar böyle rollerden kaçınmakta haklılar mı? Bu tarz bir işi yapmak, küçük yaşta başlamaya hazır olmadığınız sürece, benzer işleri yapmanıza engel olur mu?

Öncelikle, bir süredir küçük olduğunuzu bilmelisiniz. Keyfi promosyonlar alabilirsiniz, çünkü iyisiniz ve bu size iyi bir ödeme yapmanın tek yoludur, ancak yine de bir sonraki işinize giderken bir genç olarak kabul edileceksiniz.

İkincisi, 2-4 yıllık deneyime sahip birini işe alırsam, işlerinin yalnızca bakım olup olmadığıyla ilgilenmiyorum. Eğer 10 yıl boyunca bakım yaptıysanız ve bir yeşil alan projesi için işe alıyorsam, sorum olabilir, ancak ilk birkaç yıl boyunca dürüstçe beklerim.

Öte yandan, ASLA bakım konusunda çalışmamış birini işe alırsam, daha şüpheli olacağım. İlk 4 yılını bir "iyi" işten diğerine atlayarak geçiren işler için pek çok adayım oldu ve her biri sürdürülebilir kod için ne yaptığı hakkında hiçbir şey öğrenmedi. Ve, hata yapma, yapmayı düşündüğüm bir yeşil alan projesi için çalışıyorsam, SİZİN kodu korumayı isteyip istemediğini umursamıyorum, gelecekteki geliştiriciler için nasıl bakımdan bırakılacağını bilmenizi umursuyorum.

Bahsettiğiniz diğer programcılar, bunun gibi işlerden kaçınan, genellikle onlardan kaçınır çünkü daha az eğlencelidir, çünkü kariyerlerini zorlaştırır.

Son olarak, yazılım geliştirme işlerinin çok büyük bir yüzdesinin (konservatif olarak yaklaşık% 80'inde tahmin ediyorum)% 50'den fazla bakım olduğunu bilmelisiniz.

Yani, tüm bunları kesmek ve sorunuzu cevaplamak için: Hayır, kariyerinizi zorlaştıracağını sanmıyorum. Çok uzun süre orada kalmazsan. Genel kural, "her yıl aynı yıl deneyim kazanıyormuş gibi hissetmeye başladığınızda, gitme zamanıdır" dır. Hissederseniz, her yıl, geçen yıl olduğundan daha iyi bir geliştirici gibisiniz, iyisinizdir (ve bu benim için de 20 yıl boyunca benim kadar kariyerime devam eder).


25
+1 Bakım yapmak, birini daha iyi bir gelişme haline getirir.

8
+1 Kendi başınıza veya başkasının projesinde bakım yapmak, projede daha önce verilmiş olan kararların sonuçlarını takdir etmeye ve öğrenmeye zorlar.
Ophidian

Bakım konusunda tecrübe sahibi olmak ideal olsa da, bence başarılı bir proje geliştirmekten öğrendiğiniz şey> başka birinin projesini sürdürmeyi öğrenebileceğiniz şeylerdir. Bakım size ne yapılmaması gerektiğini öğretebilir, ancak Jason Fried tarafından en iyi şekilde söylendiği gibi: başarısızlıktan ötürü size bir dahaki sefere ne yapmamanız gerektiğini söyleyebilir, ancak bu bir dahaki sefere ne yapmanız gerektiğini söylemez .
Korey Hinton

@KoreyHinton: Başarılı bir girişimci olan Jason Fried'ın girişimci olma konusunda söylediklerine inandığından eminim. A) aslında neyin daha iyi olabileceğini bilmediğini iddia ediyorum, çünkü işler onun için çok doğru gitti, b) DHH ve Rails’e destek vermek 37signals’ın başarısının% 90’ıydı ve bu ödeyemeyecek bir kumardı. zamanın% 90'ı kapalı, ve c) Jason bile, girişimci olmayla ilgili tavsiyelerin, kötü yazılmış yazılımları bir araya getirme zorunluluğunu öğrenmek anlamına geldiğini iddia etmez.
pdr

@pdr Haklısın, iki şey tam olarak çevrilmiyor. Hala öğrenciyken deneyimden ziyade kanaatten bahsediyordum. Sanırım kişisel olarak, başkaları tarafından yazılmış kodları saklamak yerine yeni kod yazmayı tercih ediyorum, ancak bu sanki bu alanda çok şey yapacağım bir bakım gibi geliyor.
Korey Hinton

13

Herhangi bir işte elde ettiğiniz deneyim, yaptığınız işe özgüdür ve bu deneyime dayanarak diğer işler için başvururken olasılıklarınızı sınırlandırır. Bakıma özgü değildir. Başka soruların bir şeyin bakım mı yoksa yeni yazılım geliştirme mi olduğundan daha alakalı olduğunu düşünüyorum:

  • Çalıştığınız belirli teknolojiler ne kadar yaygın? Başka bir yerde kullanılmayan ve nadiren başka bir yerde kullanılan bir şeyi sürdürüyorsanız, bu gelecekteki kariyer fırsatlarınızı sınırlar (ancak, yaygın olarak kullanılmayan bir sistem / platform / teknoloji için yeni bir yazılım geliştirmek).
  • Mevcut işiniz gelecekte yapmak istediğiniz iş için sizi nasıl donatıyor? Bakım çalışmaları, belirttiğiniz gibi, önemlidir ve her zaman yanında olacaktır. Bu tür programlamaya odaklanmış bir kariyere sahip olmanın yanlış bir tarafı yoktur; Sistem bakımcıları için her zaman birçok olasılık olacaktır. Ama belki de ne değildir sen yapmak istiyorum. Mevcut çalışmanızın sizi ilgilendiğiniz şey için hazırlamaması bir endişe kaynağıdır.

Ancak, çok endişeli olmazdım. Söylediğin tek şey:

Dokunduğum alanlar açısından çok fazla bir derinlik kazandım.

Bunu bir problem olarak düşünmeyin, çünkü sizin avantajınıza kullanılabilir. Geniş deneyime sahip olmak, “evet, bunu yaptım” diyebileceğiniz çok çeşitli şeyler olduğu anlamına gelir. Birçok iş, birçok farklı teknoloji ve görevde tecrübe ister. Tek bir teknolojide çok derin deneyime sahip bir geliştiriciye göre büyük avantaj sağlayabilirsiniz.

Ayrıca, birçok iş bakım ve yeni gelişim karışımını içerir. Daha fazla geliştirme yapmak istiyorsanız, mevcut bakım deneyiminizi, size daha fazla geliştirme deneyimi sağlayacak karma bir role geçmek için kullanabilirsiniz.

Sonuç olarak, özgeçmişiniz muhtemelen sizin düşündüğünüzden daha iyidir. Birçoğu, deneyiminizin gücünü ne kadar iyi analiz ettiğinize ve daha sonra bu güçlü yönleri uygulama ve mülakat sürecinde ileteceğinize inecektir.


+1 Geniş deneyime . 15 yıllık gelişim ve geçen yıl bakımda bulunduktan sonra, kişisel deneyimimden, gelişimde kalabileceğimden çok daha fazla dile ve platforma dokunduğumu söyleyebilirim. Bir serbest çalışan olarak, çok fazla bir genişliğe (genelci) sahip olmak , yakında bir işten kaçmamın muhtemel olduğu konusunda beni rahatlatıyor. Belki de bu, uzmanlaşırken (uzman) daha fazla para kazanma olasılığı pahasınadır, fakat riski azaltmayı tercih ederim.
Lieven Keersmaekers

2

Özel bakım programlama rolleri erken bir kariyere zarar verebilir mi?

Olmamasından daha sık - EVET, farz edin:

  • O kariyer Burada birçok farklı teknik beceri uzmanlık anlamına gelir.
  • orada X yıldan daha fazla harcadığınızdan, X'in düşünme tarzınızı "belirlemesine" yetecek kadar.
  • kenara hiçbir şey yapmamanız.
  • bu "özel bakıcı" (aşağıdaki EDIT’e bakınız), yeni şeylerin yanı sıra kodlama yapmak için kodlama yapmamanız anlamına gelir ; hatayı düzeltmek için kod değişiklikleri.

Bu her zaman böyle olduğu anlamına gelmez .

Yazılımı sürdüren kişilerin nadiren araştırma yapmaları teşvik edilir (aşağıdaki EDIT'e bakınız), nadiren yeni kütüphane veya veri tabanı ekleyebilir ve nasıl çalıştığını bulmak için birkaç gün harcayabilirler. Bu (genellikle) varolan kod tabanında minimum değişiklik gerektiren ve böylece sorunlara daha sonra yaklaşma şeklinizi "şekillendiren" sürekli bir iştir. Bunun getirebileceği kötü şeylere rağmen açıkça "kodda daha az değişiklik yapılması = daha iyi" olduğunu belirten bir yazılım sağlama politikası olan birkaç şirketi adlandırabilirim .

Diğer programcılar böyle rollerden kaçınmakta haklılar mı?

İşlerini seven ve tam anlamıyla başka bir şeye başvurmak istemeyen , bulundukları yerde rahat olduğu için çok iyi çalışanlar biliyorum . Herkes her zaman yeni şeyler öğrenmekten hoşlanmaz. Öyleyse - tercihlerinize bağlı olarak bunlardan kaçının veya arayın.

Bu tarz bir işi yapmak, küçük yaşta başlamaya hazır olmadığınız sürece, benzer işleri yapmanıza engel olur mu?

Olmamasından daha sık - EVET. Zaten vb "tecrübelisin" Fakat çünkü zaten tecrübe bunu yaparken Çünkü vardiya kesinlikle mümkündür ve junior pozisyon için uygulamadan gerçekleşebilir. Çoktan bir şeyler yapmaya başladın, devam et! Bu aslında çok değerli ve fark ettiğiniz 'yetenek boşluğunu' küçültebilir.


EDIT: Dan, (haklı olarak), bakım işlemlerinin sıklıkla araştırma İLE yapılabileceğini belirtti. Bu doğru. Bunu daha iyi ele almak için yukarıdaki cevabı iki yerde değiştirdim.

Bu tür işler elbette bu şekilde yapılabilir ve eğer - eğer harika! Bununla birlikte, AEDIK'in en çok LEGACY sistemi sağlayıcısı, politikaları veya yönetim beklentilerini ve son teslim tarihlerini - yine, çoğu zaman - mümkün olmayan en az değişiklikle problemi çözmeye zorluyorlar. Genelde basınç yeterince yüksektir; bu şekilde yapabilseniz bile istemeyebilirsiniz. Özellikle, SİZİN kodunuz değilse: arkasındaki teori olmadan (Ryle ve Naur'a göre) düzelttiğinizden daha fazla zarar görürsünüz.

Yine de şunu belirtmeliyim: Sert küresel verilere sahip değilim, kendi tecrübelerime dayanarak konuşuyorum - OP olarak çalıştım, bakıcı olarak 4-10 yıllık deneyime sahip kişileri işe aldım, birçok bakıcı ile konuştum ve Özel bakıcı olarak çalışan insanları tanır . Sadece yeni şeyler kodlayan insanlar değil, aynı zamanda bir projeyi sürdürmek için de kodlayan kişiler değil - tek işi yapan hatalar ve yamalar yapmak olan ve yeni bir özellik bile olmayan, sadece eski bir proje olduğundan ve artık sadece "bakım modunda" olduğu için bir projeye kendini adamış kişiler.


@ dan1111, hangi kısımlar değil? Bunun yinelemeli olmasına rağmen memnuniyetle cevabımı daha iyi hale getireceğim.
LAFK, Reinstate Monica’nın

Sağol Dan. Yorumunuzun cevabını içerdiğine inandığım kısımları vurgulamak için cevabımı biraz daha genişleteceğim.
LAFK, Reinstate Monica,

Cevaptaki ek çalışma için +1. Özellikle, kendi tecrübelerinizin kapsamını açıklamak, cevabın güvenilirliğini belirlemede yardımcı olacaktır.

"Yazılımı koruyan insanlar ... nadiren yeni kütüphane ya da DB takabilir ve nasıl çalıştığını bulmak için birkaç gün geçirebilirler." Bu gerçekten benim deneyimim değil. Bakım programcılarının yabancı bir şeye dalma konusunda iyi olmaları ve özlerini çabucak anlamaları gerekir (bir program veya kütüphane olsun). En azından farklı şeyleri sürdürüyorsanız durum böyle; aynı şeyi her zaman koruyorsanız, yıllarca, bununla birlikte gelen olumsuzluklar "bakım" nedeniyle olmuyorsa, aynı şey üzerinde çok uzun süre çalışarak ortaya çıkarlar (içinde bulundukları yer ne olursa olsun). yaşam döngüsü).
user1172763

Merhaba @ user1172763. Söylemeliyim ki, bakım tanımınız oldukça olağanüstü. Dan için eklediğim kısmın , seninki gibi daha ilginç bakım vakalarına değindiğine inanıyorum . Ancak standart bakım olduğuna inanmıyorum. Sadece doğrulamak için - aşağı oylamanın sebebi, deneyiminizin cevabımla uyuşmaması mı? O zaman lütfen benim söylediğim gibi kaynaklarınızı belirtin, böylece diğerleri okuyabilir ve karar verebilir.
LAFK, Reinstate Monica’yı

1

Kendimi beceri düzeyinde oldukça genç olarak temsil etmek zorunda kalacağım, çünkü özellik geliştirmede belirli bir yola odaklanan üç yıllık tecrübesi olan bir kişinin ihtiyaç duyduğu bilgi derinliğine sahip olamayacağım.

Doğru. "3 yıl, X, Y ve Z kullanarak sıfırdan sistemler tasarlama deneyimi" diyemezsiniz, "3 yıl X, Y ve Z kullanarak sıfırdan MAINTAINING sistemleri deneyimi" yapmanız gerekmez dışarı CV'nizde yalan söyleyin.

Bakım işinden kaçmak için diğer şirketlerle röportaj yaptığımı ve belirli bir konuya odaklanan üç yıllık tecrübesi olan bir kişinin ihtiyaç duyduğu bilgi derinliği seviyesine sahip olamayacağımı düşündüğüm için kendimi beceri düzeyinde oldukça genç olarak temsil etmek zorunda kalacağımı hissediyorum. özellik geliştirmedeki yol

"Sıfırdan sistemler tasarlarım ve yapıyorum" demek istiyorsanız, evet, kendinizi küçük yaşta sınıflandırmanız gerekir.

BT'de oldukça yaygın olan şey (ve ne yaptığınızı söylemiyorum) insanların X yıl boyunca çalıştıkları için X yıl deneyimlerine sahip olduklarından ve {belirsiz yıl sayısı} sonrasında olduklarını varsaymalarıdır. Senior {Widget} geliştiricisi olarak kabul edilmelidir.

Şimdi, beni yanlış anlamayın, bakım işinde yanlış olan hiçbir şey yoktur, herkesin bir süre veya başka bir zamanda yapması gerekir, ancak fark ettiğiniz şey, bunu çok uzun süre yapışmış olmanın sizin için zorlaşacağıdır. Gelecekte bu rolden uzak dur. Bu genellikle yeni teknolojiler / araçlar / yöntemler öğrenemeyen "sıkışmış" olmakla el ele gider.

İdeal olarak, "yeni" sistem çalışması ve eski çalışmaların bir karışımını istersiniz.

Olumlu bir kayda göre, muhtemelen, eski programcıların daha sonraki dönemlerde çok daha fazla çalışmasını sağlayan ne kadar kötü kararlar aldığınızı, birçok farklı mimariyi (iyi ve kötü), farklı yaklaşımları gördünüz. Bunların hepsi vurgulanabilecek kadar pozitif.

İyi şanslar!


0

Buna farklı bir açıdan bakıldığında, kendinizi bakım konusunda uzman olarak satmanın pazarlanabilir bir fırsat olduğunu düşünüyorum.

Çok sayıda projeye sahip olan bir yazılım şirketinin sahibi olarak, en aza indirmem gereken en büyük risklerden biri, gemiye atlayan geliştiriciler ve kodlarının daha sonraki bakımıdır.

Yani, bakım çalışmaları konusunda tutkulu olma yeteneğine sahip olduğunuzu varsayalım (deneyimleriniz hakkında blog hazırlamaya başladığınızdan beri tahmin edeceğimi tahmin ediyorum), eğer bana bir bakım gurusu olarak hizmetlerinizi sunmaya gelirseniz - hepsini cilalamayı garanti ediyorsanız geliştiricilerimin çeşitli projelerimi uzun vadeli bakım için kodlarını yeniden düzenleyerek, optimize ederek ve belgeleyerek - ve garantinizi yedeklemek için bir takip kaydınız vardı, sizi bir an önce işe alırdım.

Benim tavsiyem, bunu uygun bir şekilde denemek olacaktır. Kendinizi bir bakım uzmanı olarak konumlandırın ve blogunuzu geliştirin. Bir şeyler bulmuş olabilirsin.

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.