Tek geliştirici olmak ve sonuçları [kapalı]


16

Şirketimdeki tek geliştiriciyim. Programlama yapıyorum (ASP.NET 4.0, jQuery ve SQL Server 2008'de) ve veritabanı ile web sunucusunu (win 2008 r2) koruyorum.

Sevdiğim şeyi aynı anda uygulama özgürlüğünden keyif alıyorum, her şeyi kötü bir şekilde yapabileceğimi hissediyorum. Herhangi bir SDLC diyagramı kullanmıyorum, Agile gibi bir yöntem değil. Birden fazla küçük projeyi ele alıyorum. Boş zamanımı en son teknolojilere ayak uydurmak ve yeni şeyler öğrenmek ve test etmek için kullanıyorum. Bunu son 7 yıldır yapıyorum.

  1. Endişem, işimi bir projeye daha fazla geliştiricinin dahil olduğu bir şirkete değiştirdiğimde benim için ne kadar zor olacak?
  2. Herhangi bir tasarım desenini takip etmediğim için, iş ararken veya yeni işe alıştığımda bana karşı oynayacak mı?
  3. Aklınıza gelebilecek başka artıları / eksileri var mı?

Yanıtlar:


8

Özgürlüğü ile bu durumu seviyorsanız, muhtemelen bunu bir sorun olarak gören herhangi bir yere gitmekten hoşlanmayacaksınız (bu çiti atladığımı biliyorum).

Aslında gelecekteki işlere lehinize oynar, çünkü orada insanların% 90'ından daha geniş bir beceri ile sonuçlanırsınız.

Pro / con kararları hakkında tartışacak birinin eksikliği, Pierre'in tanımladığı gibi (onun için +1) bir problemdir, ancak başka bir şirkette, yapmaya çalıştığınız şeyi dinlemeye sabrı olan ve güçlü görüş bu role güzelce, bazen de bir iş arkadaşından daha iyi hizmet eder, çünkü bunlar dış bir bakış açısıdır. (Bunu daha büyük bir dükkanda çalışmama rağmen hala yapıyorum, benzer sorunları çözmek ve tasarımda gelecekteki sorunları görmek için başkalarının ne yaptığını takip etmeme yardımcı oluyor)

Yalnız dev olduğumda yaşadığım diğer bir sorun da, yönetimden gerçekten kötü bir yöne savaşmanın zamanı geldiğinde beni destekleyecek kimsenin olmamasıydı. Kilometreniz değişebilir, ancak yalnız bir insansanız ve tüm yönetim teknik değilse, bir şey yapmamanız veya yapmamanız gerektiğini açıklamak çok zor hale gelebilir ve onlara söylemek için zaman geldiğinde çok zor olabilir. son rüya mevcut teknoloji ile uygulamaya çalışmak makul değildir.


5
Tek teknisyen olmanın diğer bir sorunu, yüksek ateşiniz ve şiddetli bulantılarınız olduğunda ve web sunucusu düştüğünde. Biri, bir otobüsle vurursanız hastaneye bir dizüstü bilgisayar getirmekten başka bir yedekleme planına sahip olmalarını umuyor.
David Thornley

1
Bu bir sorundur, ancak kaynaklarını çok ince yaydıklarında, büyük şirketler için de genellikle bir sorundur.
Bill

35

Yalnızken kimse sana yanlış olduğunu söyleyemez

Böylece bir süre bile olsa yanlış yola girebilirsiniz.

Bu nedenle, gelişim hakkında konuşabileceğiniz birini bulmanızı öneririm. Sadece çevrimiçi değil, gerçek anlamda, fiziksel olarak.

Şirketinizden çıkmanıza gerek yok. Tek olmanın da bazı avantajları var.


3
Bu harika bir tavsiye ...
webdad3

4
Anahtar kelime "mayıs" dır. Bir geliştirici, çeşitli teknolojiler ve metodolojiler ve daha da önemlisi bunları çevreleyen veriler hakkında eğitim almak için vicdanlı bir çaba sarf ederse, par. Tabii ki, bir boşlukta çalışan ve bildiklerine sadık kalan geliştiriciler muhtemelen kendilerini giderek daha eskimiş hale getiriyorlar.
Aaronaught

Burada Pierre ile hemfikir olarak, iki geliştirici [kod veya db ya da her neyse] her ikisinden de daha iyi üretebilir]. Faydaları daha fazla geliştirici ile artar, ancak azalan bir getiri vardır.
jamesbtate

5

Belirli bir teknolojiyi bilen bir şirketteki tek geliştirici, yaptığım programlama türünü yapan tek şirket ve benzer durumlarda müteahhit olarak çalıştım. (Ayrıca farklı araçlar bilen diğer geliştiricilerle ve tam olarak ne yaptığımı yapan diğer geliştiricilerle ekip ortamlarında çalıştım.)

Tek programcı olmanın artıları

  • Bahsettiğiniz gibi, sıklıkla öğrenebileceğinizi düşündüğünüz araçları veya dilleri kullanma özgürlüğüne sahipsiniz. Herkes Current Technology Y kullanırken New Technology X ile çalışma izni almak için akranlarınızdan önce her zaman bir dava açmanız gerekmez.
  • Daha fazla sorumluluğunuz var. Esasen, projelerinizin her birinde hem proje lideri hem de geliştirici olarak işlev görüyorsunuz ve yeni şeyleri belirleme ve uygulama yeteneğinizle, bölüm başkanı da etkili bir şekilde sizsiniz. (Satış elemanlarına bunu söyleme. Karar vericilerle konuşmayı severler ve onlarla konuşmak için zamanınız yoktur.)
  • Yapılan iş için kredi ile ilgili bir soru yok: Açıkçası sen ve yalnız olan şeylerin gerçekleşmesini sağladın.
  • Aslında kendi projeleriniz üzerinde çalışmak için daha fazla zaman harcayabilirsiniz ve temelde başka birinin projeleriyle ilgili toplantılarda daha az zaman harcayabilirsiniz (ancak destek görevlisi, olası yedekleme veya her neyse oradasınız).

Eksileri

  • David'in bir yorumda belirttiği gibi, tek geliştiricisiniz, bu yüzden sensiz hiçbir gelişme yapılmaz. Bir zamanlar kardeşime işteki belirli bir projede "adam" olduğum için övündüm. Durumumu benim için doğru bir şekilde tarif etti: Kapana kısıldım. O şirkete devam edemedim çünkü o projeden asla kurtulamazdım. (O da haklıydı. Onu biraz destekleyebilecek birisine bile teslim edebilmek uzun bir süre boyunca birkaç ay sürdü.) Hiçbir şey yapamadığında gerçek bir tatil yapmak zor olabilir. sensiz yapılabilir.
  • Pierre'in işaret ettiği gibi, sitede kod incelemeleri yapacak veya en iyi uygulamaları sizinle paylaşacak kimse yok. Akranlara çeşitli şekillerde ulaşabilirsiniz, ancak hiçbir şey omzuna bir iş arkadaşına dokunmak ve ondan 5-10 dakika koduna bakmasını istemek kadar etkili değildir.
  • Benzer bir şekilde, yeni araçlarla deneyim kazanmakta zorluk çekebilirsiniz. Şirket dışı eğitim, tatil zamanı kadar nadir olabilir: Birisi, şirketin, Dil 2.0 uygulamalarını çalıştıracak kimsenin olmadığı bir hafta boyunca Dil 3.0'a bakmanıza izin veremeyeceğinden şikayet edecektir.
  • Kariyer gelişimini yönetmek son derece zor olabilir. Çalışabileceğiniz bir konumunuz olmayabilir, başlıktaki bir değişikliği bile elde etmek zor olabilir ve yıl sonu incelemelerinin herhangi bir referans çerçevesi yoktur, bu nedenle başkaları için mükemmel çalışma büyük ölçüde fark edilmeyebilir hiç kimse gerçekten ne yaptığınızı anlamıyor.

Bir programcı ekibinin parçası olarak çalışacağınız bir şirkete geçmeye karar verirseniz, solo deneyiminizin size çok fazla zarar vereceğini düşünmüyorum. Tasarım kalıpları ile ilgili deneyim eksikliğiniz, onları öğrenme isteğiniz kadar önemli değildir. (Benzer bir geçmişe sahip bir adayla röportaj yaptığınız ve aynı zamanda şirketin kullandığı yöntemlerde deneyimlediğiniz durumlar olabilir, ancak bu temelde herkes için geçerlidir.)

Aynı çizgide, bir takımdaki deneyim eksikliğiniz birçok şapka giyme yeteneğinizle dengelenir. İyi takım oyuncuları olan ancak bir projeyi yönetme yeteneğini asla geliştirmeyen bazı geliştiriciler vardır; bunu yapabileceğini zaten göstermiştin.

Yalnız bir geliştirici olduğunuzda, benzer geliştiricilerin kullandığı araç ve teknikleri okumak için biraz zaman harcamanızı tavsiye ederim, bu yüzden bunları kendiniz kullanmasanız bile, var olduklarının farkında olabilirsiniz ve bir röportaj sırasında, "Evet, MVC çerçeveleri hakkında biraz okudum, ama ben bunları kendim kullanmadım" demesine rağmen. Diğer geliştiricilerle iletişimde kalmak için neler yapabileceğinizi yapın: yerel kullanıcı grubu toplantılarına gidin, blogları okuyun ve yorum yapın (veya kendinizinkini koruyun), zaman zaman atölyelere gitmeye çalışın, web seminerleri izleyin ve bu gibi şeyler yapın. (Kurum içi eğitim için lynda.com gibi siteleri de düşünebilirsiniz: başka bir yerde bir hafta sürecek bir konferans kadar iyi değil, ancak videoları istediğiniz zaman izleyebilir ve herkesi panik moduna gönderemezsiniz çünkü ofisin dışında.)


2

Bu tür bir durumda olduğunuzda programlama becerileriniz her gün kötüleşir. Kodlama, herhangi bir programcının işinin en kolay parçasıdır.

Bir çözüm uygulamak için bir ekiple iletişim kurmak / çalışmak son derece zordur. Bu beceriler ancak bunu yaparak keskinleştirilebilir. Ayrıca bir ekibin parçası olduğunuzda, çoğu üye sizin gibi teknolojilere ayak uydurmaya çalışır, bu nedenle ekibin harika bir şey bulma şansı çok daha yüksektir.

Lütfen bunu kişisel olarak size bir saldırı olarak kabul etmeyin. Ben de yalnız bir programcıyım ama en kısa zamanda bir takım arıyorum.


Yalnız geliştirmek, genellikle yararlı bir araç olan 'karton programlayıcısını' kaçırdığınız anlamına gelir. Temel olarak, bir sorunu sık sık açıklamak için bir başkasına sahip olmak, çözümün kendisini orta açıklama (diğer tarafın öneride bulunma şansı vermeden önce) sunması anlamına gelir
Phil Lello

0

@Pierre 303% 100 yanıtını kabul ediyorum. Ayrıca, kendinize uygun uygulamaları öğretmeyi kendinize almanız gerektiğini de ekleyeceğim. Belki bir sertifikasyon da yardımcı olacaktır.

Evet, iş değiştirirseniz zor olacak ... Sadece şu anda alışkın olmadığınız süreçler için değil, aynı zamanda kişiliklerle de. Programcılar çok rekabetçi. Şu anda bununla uğraşmak zorunda değilsiniz. Ama programcılar> = 1 olduğunda

Kulağa iyi bir konser vermiş gibi geliyor ... Ben buna devam edecektim.

Sadece 2 sentim.


0

Büyük bir geliştirme evinde bulacağınız standartların / uygulamaların çoğunun durumunuza kolayca uygulanabileceği gerçeğini kaçırdığınızı düşünüyorum. Bu ayarlamaları tek kişilik bir ekipte yapmak SO üzerinde daha önce ele alınmıştır. Rehberlik için biraz arama yapın:

Kişisel projelere çevik nasıl uygulanır?


SDLC, Agile ... vs gibi tüm metodolojileri kullanarak örnek proje bulmak için herhangi bir bağlantı var mı?
bp581

'Agile' ve 'Scrum' gibi kelimelere fazla takılmayın; başarılı ekiplerin zaten kullandıkları yöntemlerin sadece resmi tanımları. Ancak, çevrenin doğal bir parçası olan bir yerde çalışmak için yeterince şanslı değilseniz faydalıdır.
Phil Lello
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.