Yeni bir şirkette kodlamaya başlamak için gereken süre [kapalı]


12

4 yıldır yazılım mühendisiyim ve şirketimi ilk defa değiştirdim.

Şirket çift programlama ile çalışıyor ve 3 gün oldu, tek bir kod satırı bile yazamadım. Benim için çok sinir bozucu çünkü önceki şirketimde çok üretkendim.

Kod tabanı büyük, rspec, haml, yasemin ve diğerleri gibi aşina olmadığım 5-6 dil / araç kullanıyorlar. Ama yine de kendimi çok kötü hissediyorum.

Bu haftasonu uygulamayı daha iyi anlamak için UML oluşturdum, ama yine de bu hafta iyi miktarda kod yazamayacağımı tahmin ediyorum.

Bu normal mi?

İşinizi değiştirdiğinizde ve aşina olmadığınız diller / kütüphanelerle yazılmış büyük bir kod tabanına daldığınızda yaşadığınız deneyim nedir?

Elbette tam olarak gereken zamanı istemiyorum , ancak geçmiş deneyimler veya süreci yapacak şeyler harika olurdu.

Btw, aşağıda soruları ve cevapları zaten okudum, Büyük kod tabanlarına nasıl dalarsınız?

/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase

/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase

GÜNCELLEME

Tüm harika öneriler! İşten yeni geldim, çok çalıştım!

Çift programlama hakkında:

Genellikle kod yazarlar ve bir saniye bile kaçırmamaya çalışıyorum! Kodu yazmaya çalışırsam, sonsuza kadar süreceğini biliyorum, çünkü hangi dosyaları düzenlemem gerektiğini bile bilmiyorum, ama bunun yanında, dediğim gibi, 6-7 dil / çerçeve kullanıyorlar tüm bu sözdizimlerini bir arada öğrenmek ve öğrenmek kolay değildir.

Şirket mühendisler için ne kadar iyi hazırlandı:

İyi organize olduklarını söyleyemem, hemen kod yazmaya başlamamı bekliyorlar.

Not almak, proaktif olmak:

Veri modelleri hakkında yeni bir komut / veya herhangi bir şey yazdıklarında daima notlar alıyorum. Akranlarım çok zeki ve kibar insanlar ve bazen çok sayıda aptalca soru bile sormaya çalışıyorum .

Bu yaygın mı ?:

@Telastyn, cevaplarınız için teşekkürler, bu beni biraz daha iyi hissettirdi. Sorunum bu kadar nadir değil gibi görünüyor, ama bu işten önce gerçekten üretkendim ve şimdi gerçekten işe yaramaz ve akıllı değilim.

Umarım hataları çözmeye / sorunları uygulamaya başlayabilirim.

Kullandıkları çerçeveler / diller hakkında:

Bu konuda gerçekten dürüst oldum, aslında bilmediğim bir şey bildiğimi söylemedim. Ama o kadar farklı şeyler beklemiyordum ve teklifi kabul ettiğim gün çalışmaya başladığımdan beri kendimi hazırlamak için zamanım yoktu.

@Southpaw Hare, deneyiminizi paylaştığınız için çok teşekkürler. Kesinlikle haklısın. Tüm bunları öğreneceğimin garantisi yok, ama deniyorum. Sonunda, tüm sözdizimini bir kerede öğrenmek zor ve bence bu da asıl sorun. Çünkü o dili bildiğim için yakut kodda iyi gezinebiliyorum ve tarayıcı denetçileri sayesinde js kodlarında dolaşıyorum, ancak sorun gerçek kodları bilmediğim çerçevelerle / dillerle yazıyor.


Bahsettiğinizden beri Büyük kod tabanlarına nasıl dalabilirsiniz? , davanızla ilgili olmayan cevaplarda neler var?
gnat

3
Eşli programlama olduğunuz için üretken olmak için kod yazmak zorunda değilsiniz. Başka birinin kod yazdığını gözlemlemek oldukça yararlı olabilir. Yakında kod yazmaya kendiniz yetecek kadar bilgi sahibi olacaksınız.
kevin cline

@Kevincline, yeni geliştirici olarak eşleşiyorsa, klavyedeki olandan emin olmalı, aksi takdirde oldukça kötü bir çift kurulumu olacaktır ...
Jimmy Hoffa

Eğer şirket böyle yaparsa, gerçekten başka seçeneğiniz yok. Zamanı geldiğinde bilmenizi istediklerini bildiğinizden emin olun. Sorular sor. Geri bildirim almak. Dikkatli olmazsan çok zaman kaybedebilirsin.
JeffO

@JimmyHoffa, bunun benim için daha iyi olacağını biliyorum, ama bu durumda akranımı çok yavaşlatırdım. Düzenlemem gereken her sözdizimini, gerçek dosyayı, veri modelini veya başka bir şeyi sormam gerektiğinden, eşimi yavaşlatır.
Robert Johnson

Yanıtlar:


10

Bu, sistemin karmaşıklığı ve kuruluşun yeni programcılara katılmaya ne kadar hazır olduğu gibi şeylere bağlıdır. 30 dakikadan birkaç haftaya kadar sürebilir. Mutlaka yanlış yaptığınız bir şey değildir ve bu konuda kendinizi kötü hissetmemelisiniz.

Bununla birlikte, yapmanız gereken, kendiniz ve başkaları için düzeltmek konusunda proaktif olmaktır. Yöneticinize hayal kırıklıklarınızı anlatın ve bunların üstesinden gelmek ve diğer yeni işe alım sürecini iyileştirmek için birlikte çalışın.

Mücadele ettiğiniz şeyler hakkında notlar yazın, bunları düzeltmenin veya etrafta dolaşmanın yollarını beyin fırtınası yapın ve sürecinizi belgeleyin. İlerlemenize yardımcı olabilecek diğer kişileri güncel tutun ve yardıma ulaşın. Yardım istemekten utanç verici bir şey yok.


1
Birden fazla ay, karmaşık, büyük (1 milyon + SLOC) için nadir değildir, özellikle alan da niş ve / veya karmaşıktır.
mattnz

1
+1: Bazı şirketlerin, özellikle bu nedenlerle ne kadar deneyimleri olursa olsun, yeni işe alımlara mentorları vardır. Ben her zaman bana en yakın oturan kişi yardım etmek ve onlara soru TONNES sormak için enayi - ve sonra ben açıkça onlar / yöneticilerine yardım ettikleri zaman pezevenk olarak pezevenk.
Steven Evers

@mattnz Yep. Birden fazla ay, birçok haftadan çok daha fazlası. ;)
Rein Henrichs

5

Bu normal mi?

Çoğu kod tabanı için öyle. Cehennem, şirketimde bir bilgisayara dokunmanıza izin verilmeden önce İK ile 2 gün görüşüyorsunuz. Bu bir aykırı değer, ancak geliştirme ortamı kurulumunu yapmak, etki alanını, kod yapısını, ekip normlarını belirsiz bir şekilde tanımak için ne kadar sürdüğünü düşünün ...

Takım lideri olarak 1 (iki hafta) sprint için etkili bir şey yapmamanızı ve sonraki 1-2 sprint için ~% 50 oranında çalışmanızı bekliyorum.


2

diğer uç noktaya salıncak .. Ben sadece 2-3 dili olan bir şirkette çalıştım ama programcılar kod üssünde gevşek izin önce bir yıl daha iyi aldı, muhtemelen ilk satırlarını taahhüt 1 veya 2 ay önce kodu.

Kendinizi bunun üzerinde dövmeyin, röportajda bu platformlardaki bilgi eksikliğiniz hakkında dürüst olsaydınız, kendilerini ne içine aldıklarını biliyorlardı. Zaman ve zaman uzatılamaz, kısa kesilemez veya sıkıştırılamaz, sadece bundan en iyi şekilde yararlandığınızdan emin olun.


1

Bu gerçekten yaptığınız işe ve içinde bulunduğunuz role bağlıdır.

Sözleşmeye dayalı bir iş yapıyorsanız, işi yapmak için elinizin altındaki tüm becerileri kullanarak kelimenin tam anlamıyla koşarak vurmanız beklenir. Sözleşme çalışması genellikle iyi tanımlanmıştır ve bunu en azından tecrübelerime göre (genellikle) yapabilirsiniz.

Öte yandan, büyük bir öğrenme eğrisine sahip muazzam bir eski kod tabanına sahip bir yerden başladım. Orada olduğumuz ilk altı ay boyunca üretim kodu yazmamız beklenmiyordu.

Sabırlı olun, olabildiğince emin ve kodlamaya başladığınızda iyi pratik kullanıma koyun. Eğer yatarak veya acele ediyorsanız, bu kadar büyük bir sistemde iyi bir şans vardır, özellikle de test kapsamları parlak değilse, bir şeyi kırmanız gerekebilir.


0

Tamamen tanıdık olmayan bir şeye alışmak için biraz zaman normaldir - kendinizi suçlamam veya kötü hissetmem. Bununla birlikte, bu işin beceri setinizde bulunma olasılığını kabul etmeye istekli olmak önemlidir. Bu her zaman böyle değildir, olasılığı zihninizde açık bırakmaya değer.

Sorun kod tabanı boyutunda olmayabilir, ancak ilgili dilleri bilmiyor olmanız. Kendi kişisel deneyimime göre, oldukça geniş bir kod tabanında kullanılan dillerin hiçbirini bilmediğim bir şirkette işim vardı. Ne yazık ki, 5 ay kadar sonra bunu yeterince öğrenemedim ve bunun yerine başka bir şirkete gittim. Orada, ana dilde yetkindim ve kod tabanı boyutunun karşılaştırılabilir olmasına rağmen, oldukça iyi yaptım.

Yeni diller öğrenmeye gelince, insanlar genellikle olduğundan daha kolay olduğunu düşünür ve kendilerini hızlı bir şekilde öğrenmenin yüksek standartlarına uyarlar. Muhtemelen düşündüğünüzden daha uzun sürmesi muhtemeldir, bu yüzden karar verdiğiniz ne olursa olsun bunu aklınızda bulundurun.


2
Bazı insanlar bunun gerçekte olduğundan daha zor olduğunu düşünüyor. Çoğu zaman yetenek yerine güvene düşer.
ChaosPandion
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.