Çok sıkı bir program üzerinde kodlama nasıl yapılır?


40

Çok sıkı bir programa sahip bir proje üzerinde çalışıyorum. Kodlamak ve test etmek için fazla zamanım yok (her gün 12 saatten fazla çalışsam da gecikmeli) ve sonuç çok kırılgan. Onun kodu da çok ikilemdir.

Bu program, birçok ülkede bulunan müşteri şirketimizdeki tüm ofisler tarafından kullanılmaktadır. Gece yarısı, kullanıcı / testçimizden kaynaklanan hatalar veya bazı özelliklerin nasıl kullanılacağını bilmediğim hakkında düzenli olarak telefon görüşmeleri alıyorum.

Bu projede üç yıl geçtikten sonra kendimi çok stresli hissediyorum ve iyi uyuyamıyorum çünkü hatalar ve telefon görüşmeleri konusunda çok endişeliyim.

Bir kaç sorum var:

  1. Üç yıl boyunca, yazdığım tüm kod sadece mükemmel kullanım senaryosu kodudur (bu nedenle kolayca bozulur). Kötü tasarlanmış ve herhangi bir birim testi yok. Bu gerçek yüzünden birçok problemim var. Bu nedenle, proje çok sıkı bir programa sahip olduğunda çalışan kod yazmanın mümkün olup olmadığını bilmek istiyorum.
  2. Aynı sürede daha iyi kodları nasıl yazarım?
  3. Zihnimi nasıl temizleyebilirim ve uyumaya başladığımda iş hakkında endişelenmeyin?

9
Öneri? En bariz olanı ve sen bunu biliyorsun !!!
Aditya P,

25
Geceleri telefonunuzu kapatın. Sınırları belirle ve onlara bağlı kal. Burada iki farklı sorununuz var, ilki , çalışanlarınızın da yaşayacakları hayatlara saygı duymaması konusunda şirketiniz.
Tim Post

34
işi bırak, yeni bir tane al. ayrıca, birim testinin nasıl yapıldığını da öğrenin
mauris

18
Son tarihler yönetimin sorunudur. Son teslim tarihleri ​​her zaman bu kadar sıkıysa, daha iyi tahminler vermek için çalışmaya ihtiyaçları vardır - sizi bir köpek gibi alacaklarını düşündükleri şekilde karşılayacak şekilde çalışmayın .
Steven Evers,

4
EA oyunları SnOrfus'u işe aldıysa eminim yapardı.
Berin Loritsch

Yanıtlar:


30

Telefon görüşmelerini yasakla

Eğer kullanıcılarınız dünyanın dört bir yanındaysa, sabahın 4'ünde ve yatakta olduğunuzda bir telefon almanızı kesinlikle bekleyemezler. Telefon konuşmalarını yasaklar ve bu senaryoya daha iyi hizmet edebilecek diğer iletişim araçlarına geçerim (e-posta veya DB'yi izleyen bir sorun). Ancak ofiste bile telefon tarifeli telefon programı yapın. Aksi taktirde ofisteyken hiçbir şey yapamazsınız.

Bu size değerli uyku ve dinlenme sağlayacaktır.

Sıkı programı

Bu proje üç yıl boyunca sıkı bir şekilde planlanmışsa, birilerinin işlerin gerçekten işe yaramadığından şüphelenmiş olması gerekir. Belki birisinin planlamacılara bir şey söylemesi, özellikle de kullanıcılarınıza / müşterinize ve yöneticilerinize bunun bir ölüm yürüyüşü projesi olduğunu söyleme zamanıdır. Üç yıldır gelişme gösteriyor, gecikti ve hatalarla dolu. Plan tamamen gözden geçirilmeli, mevcut kodlar yenilenmeli ve sayısız konu çözülene kadar yeni özellikler geliştirilmemelidir.

Kaostan sipariş

İşleri sizin için öngörülebilir ve kabul edilebilir kılacak bir geliştirme metodolojisi oluşturmak. Eğer bir geliştiriciyseniz, geldikleri gibi telefonla arama yapmak herhangi bir iş yapmanıza izin vermez. Her kesinti, bıraktığınız yere geri dönmeniz için 15 dakika sürer. Telefon görüşmeleri kapalı olmalıdır . En azından masanızda çünkü bir geliştiricisiniz. Telefon görüşmelerini, ondan sonra sizi rahatsız etmeyecek bir başkasına yönlendirebilirsiniz.

Bir çeşit olay / hata veritabanı oluşturun. Her sabah işe biraz zaman ayırın ve yeni olaylara öncelik verin (kendiniz, ekibiniz veya müşteriniz / yöneticinizle). Onları bu öncelik sırasına göre çözmeyi deneyin ve hatta telefon görüşmeleri düşünmeye çalışmayın.

Farzedelim

Ya telefonunuzu kapatamazsanız ve kullanıcılarınıza istedikleri zaman sizi arayamadıklarını söyleyemezseniz? Eğer kullanıcının telefon numaranız varsa, bunun tersini yapmanızı öneririm: sizi aradıklarında, bir bildirimde bulunun ve çözüldüğünde onları arayacağınızı söyleyin. O zaman uyurken onları tekrar ara. Eğer uyuduklarını söylerlerse, cevaplarını hatırlayın ve bir dahaki sefere sizi gece yarısı aradıklarında kullanın. İnsanlar genellikle kendi dillerini daha iyi anlarlar.

Ofis telefonu kullanıyorlarsa ve bir cep telefonu kullanıyorsanız çalışma saatleri dışında arayamazsınız ve sonra da ofisten çıktıktan sonra cep telefonunuzu kapatmaya başlarsınız. 12 saattir oradasın ve işten ayrılmayı hak ediyorsun . Cep telefonu kişisel ise, firmanız size yeni bir tane almalı ve kullanıcılarınızı / müşterilerinizi bu konuda bilgilendirmelisiniz. Sonradan sizi kişisel olarak aramaya başlarlarsa (işinizde size ulaşamadıkları için ya:

  1. alma
  2. yanlış numarayı bildiren bir arkadaşınız tarafından cevaplandıysa veya bu numaranın asıl kullanıcısı artık onu kullanmıyorsa.

En önemli şey

Mevcut sorunları çözene kadar herhangi bir yeni işlevsellik geliştirmeyin. En azından yüksek ve orta öncelikli olanlar.


6
Pasif kullanıcıları ile agresif olmayın. Şirket telefonunuzu mesai saatlerinde cevaplamanızı beklemiyorsa, cevap vermeyin. Görevde olan biri için başka bir numara olması gerekir.
JeffO

@Jeff O: Tamamen katılıyorum. Ancak bu 3 yıldan beri devam etmekte olduğundan, insanlık dışı saatlerde yapılan aramaları cevaplaması bekleniyor.
Robert Koritnik

1
Onlara kışkırtmak yerine açıkça söylemenizi öneririm. İnsanların kendi dillerini daha iyi anlamaları o kadar da olmazdı çünkü sizinle konuşmak istemiyorlar çünkü sizi rahatsız ediyorlar.
Rei Miyasaka

3
"Uyurken onları tekrar ara" "İnsanlar genellikle kendi dillerini daha iyi anlarlar" iyi dil;)
Achu

2
Dürüst olmak gerekirse, "Ya eğer" senaryosuna kadar ulaşırsa, en iyi seçenek sadece çalışacak başka bir yer bulmaktır. 12 saat boyunca sürekli çalışmak sağlıksızdır (çoğu için) ve siz de görüşme yaparken daha da kötüdür. Kuşkusuz, sorunu çözmek için elinden geleni yapmalıdır, ama diğerleri başarısız olursa, istifa etsin. Bu durum sürdürülebilir değil.
Dan Lyons

14

Takımdaki tek kişi siz değilseniz - bu durumda, muhtemelen tükenmişliğe giden yolun yarısından fazlasını kullanıyorsunuz - sırayla 'çağrı cihazı' ile karşılaşın. Bu şimdilik yükü hafifletmeli.

O zaman teknik borcunu ödemek için bir aşama planlamak için yönetime adım atmanız gerekir - bu test etme, kod temizleme, yeniden düzenleme anlamına gelir. Ve yakında planlanması gerekiyor. Genel olarak, bu, bir süredir refactoring veya test olmayan yeni bir kod olmadığı anlamına gelir . Olmazsa, daha da kötüye gidecek.

Bu aşamada, kod tabanının en zahmetli bölümlerini seçersiniz, yeniden düzenlersiniz, temizlersiniz ve dışkılarını test etmek için testler yazarsınız. Aramalar durduğunda veya devler delirmeden ele alındığında, başka bir özellik aşamasına hazır olursunuz (eğer istedikleri buysa). Bu noktada, yeni kodla testler yazıyorsunuz ve regresyonları sürdürüyorsunuz. Şu anda, yazılım yeniden yazma yolunda gibi geliyor.

Patronunuzla konuşmanız için satış noktaları:

  • Otomatik testler, gerilemeleri durdurabilir veya önemli ölçüde azaltabilir
  • Stabiliteye odaklanmak, kullanıcıların daha az iş gecikmesine / durdurmaya sahip olacağı anlamına gelir
  • Artık gece yarısı aramasına gerek kalmaması, fazla mesai yapmamaları anlamına gelir
  • Artık gece yarısı aramaları yapmamak, devlerin hızlı bir şekilde tükenmeyeceği anlamına geliyor

Yine de dürüst olalım. Bu noktaya kadar, şirketiniz bunun hakkında bir şeyler yapacak kadar büyük bir sorun olduğunu düşünmedi; Sen yanacaksın. Görünüşe göre, yönetimde hiç kimse gerçek bir gelişim deneyimine sahip değil. Bakmaya başla.


Daha da iyisi, çağrı cihazını sizi bu pisliğin içine sokan yöneticiye / yöneticilere verin ... ya da yanlışlıkla tuzlu su dolu bir kovaya bırakın.
Stephen C

2
Bu proje düzensizce üç yıldan beri devam ediyorsa, teknik borç aşamasının birkaç ay süreceğini varsayalım. Önce yeni özellikler geliştirmeyi bırakmalılar, çünkü çoğu sorunlu sorunların% 20'sini çözüyorlar (çünkü% 80'i umarız bir şekilde karşı karşıya kalıyorlar) ve sonra yeniden yapılanmaya başlıyorlar. Bu bittiğinde diğer% 80 ile dokunmaya başlayabilirsiniz. Ancak mevcut tüm sorunları çözene kadar yeni özellikler geliştirmeye başlamayın. Neden? Bir hatayı ne kadar çabuk çözüyorsanız, çözmek o kadar ucuz demektir. Senin durumunda bile hiçbir şey artık ucuz görünmüyor.
Robert Koritnik,

@Robert Koritnik: Kesinlikle. +1
Steven Evers

13

Verimlilikte küçük kazanımlar elde etmenizi sağlayacak bazı teknikler olsa da, iş çıktısında% 5'lik bir artış şu anda sizin için yararsızdır. Burada özlediğin gerçek yetenek basit ve temeldir:

Hayır demeyi öğrenin

Reddetmeniz gerektiğini bildiğiniz tüm makul olmayan beklentilere hayır deyin. Ne olduklarını biliyorsun. Bu çok açık. Şimdi hayır diyemiyorsan, bulabileceğin bir iş bul. Akıllı işverenler bu yeteneğin arzu edildiğini göreceklerdir.


1
Her şeyden çok, bu gerekli olan beceridir. Mükemmel cevap!
Joe Z,

8

Hiçbir şey değişmezse , projenizin başarısız olacağını anlayın . Yapmanız gereken şeyi yapmanın en önemli adımı budur. Bir geliştirici, günde 12 saat çalışamaz ve faydalı kodlar üretemez. Aptalca hatalar yarattığınız bir noktaya varacaksınız ve gerçekte ilerlemeyi kaybedeceksiniz, çünkü her gün bir gün önce yaptığınız şeyi düzeltmeye başlamak zorundasınız. Zaten orada gibisin.

Yine akıl sağlığından önce ele alınması gereken iki önemli sorun var:

  • Yönetim yaptıkları şeyin işe yaramadığını bilmek zorundadır . Aynı hataları tekrarlamaya devam etmek aynı sonuçları üretecektir. Bir şey değişmeli.
  • Sahip olduğunuzu düzeltmek için zamana ihtiyacınız var. Bu, saldırınızı planlamak için zamana ve 8 saatlik iş günlerini kullanarak üzerinde çalışmak için zamana ihtiyacınız olduğu anlamına gelir.
  • Nasıl çalıştığını değiştirmelisin. Ne kadar çok stresiniz varsa, o kadar fazla tünel vizyonunuz olduğunu anlayın. Sorunları çözmenin yaratıcı yollarını düşünemezsiniz ya da böyle stresli olduğunuzda bir sorun olursa ne olacağını düşünemezsiniz. Bahsetmiyorum bile, ciddi sağlık komplikasyonları ihtimalini arttırdın. Stresinizi bırakmanın yollarını ve stresi azaltmanın yollarını bulun.

Durumunuzu düzeltmek için yönetimden satın almanız gerekir. Sorun şu ki, acıyı hissetmiyorlar ve onların dikkatini çekmek için hastaneye inmek istemezsiniz. İlk adım, bulunduğunuz yerin yönetimine ve sahip olduğunuz baskıya açıklamaktır. Eğer bulamazlarsa, başka bir yönetim seviyesine geçin. Veya çalışma koşullarınızı muhtemelen İK departmanına bildirin. Uzun süre boyunca günde 8 saatten fazla çalışmanızı gerektiren bir yasa ihlali olabilir ve İK departmanı kesin olarak bilecektir.

Yönetimin savunmanızı duyduğunu varsayarsak, aşağıdaki işlemleri yapmak istersiniz:

  • Kanamayı durdur. Yeni özellik yok ve servis çağrıları başka biri tarafından yapılıyor. Eldeki göreve odaklanman gerekiyor.
  • Düzeltilmesi gereken en ciddi hataları belirleyin ve bunları düzeltmenin ne kadar süreceğini anlamaya çalışın. Bu kaba bir tahmindir ve düşük sayılardan daha büyük sayılara sahip olmak daha iyidir. Gün boyunca toplantıları ve kesintileri hesaba katmak için, yönetiminizin günde 5 saat çalışmasına dayanan tahmine ihtiyacı var. Bu toplantı ve kesintiler için 3 saat sürebilir.
  • Bu kritik hatalar için gözden geçirilmiş zamanlamayı kabul etmek için yönetimi alın.
  • Sizin için başka birinin test etmesini kabul etmek için yönetimi alın. Bu işinizi yapamayacağınızı kabul etmiyor. Bu sadece bazı kalite güvencesi sağlar, böylece her sürüm bir öncekinden daha iyidir.
  • Şimdi onları tamir et. Sorunu yeniden oluşturmak için birim sınamaları yazın, böylece ne zaman çalıştığınızı bilirsiniz. Daha da önemlisi, başka bir yerde yaptığınız bir şeyin tekrar kırılıp kırılmadığını bileceksiniz. Kodu daha iyi çalışması için refactor.

Bu kritik hata düzeltme işlemini tamamladığınızda , bir sonrakini planlama zamanı geldi . Tüm özelliklere ve hata düzeltmelerine öncelik verilmelidir ve sürümlerin bekleyen iş yükünün bir alt kümesinin etrafında planlanması gerekir. Çalışma hayatınıza bir miktar akıl getirirken, stres seviyeleriniz düşecek, kaliteniz artacak ve genel olarak daha verimli olacaksınız.


6

Yanlış Ekonomi davası olarak düşündüğüm şeyden acı çekiyor gibi görünüyorsunuz ve çalışmayan şeylere ne kadar uzun süre uyursanız sorununuz o kadar kötüleşir.

Bazı Anahtar Göstergeler:

  • Gerçekçi olmayan bir program gibi görünüyor.
    • Yönetim adına sağlam gelişim uygulamaları hakkında zayıf bir anlayışa sahip olduğumu kabul ediyorum.
    • Yönetimden bir anlayış veya destek eksikliği olduğunu varsayarım.
  • Günde 12 saat çalışıyor.
  • Yüksek düzeyde stres.
  • Uyku eksikliği.
  • Anksiyete.
  • Tasarıma ve kod kalitesine az dikkat.
  • Güvenlik ağı test eden bir birim eksikliği.

Proje çok sıkı bir programa sahip olduğunda çalışan kod yazmanın mümkün olup olmadığını bilmek istiyorum?

Kısa cevap evet. Uzun cevap karmaşıktır ve yönetim adına ve muhtemelen müşteri adına algılarda büyük bir değişiklik ve sizin tarafınızdan yapılan Herkül çabalarını gerektirecektir ... ama bir an sonra bunların hepsine geri döneceğim.

Aynı sürede daha iyi kodları nasıl yazarım?

Gerçekçi olarak, varsayımınız size zaman kazandıracak ve hala mükemmel bir sonuç elde edecek bir şey yapabiliyorsanız yapamazsınız. Ayrıntıları doğru bulmaya odaklanmak için zaman ayırmanız gerekeceğinden, kodunuzu uygulamak için harcadığınız zamanı artıracak teknikleri uygulamanız gerekir. Bu zaman alır ve sahte ekonomilerinizin sizi en çok incittiği yer burasıdır. Ancak, işleri daha iyi yaparak, kodunuzun kalitesini yükseltirsiniz ve bu da sisteminizin kırılganlığını azaltır. Yine, bunu daha ayrıntılı olarak açıklayacağım.

Zihnimi nasıl temizleyebilirim ve uyumaya başladığımda iş hakkında endişelenmeyin?

Anksiyete uyku eksikliğine neden olur ve uyku kaybı endişe yaratır. Bu hiç olmadıysa bir kısır döngüdür ve kontrol edilmezse büyük olasılıkla kaygının kötü ikizine yol açar, Depresyon . Büyük olasılıkla egzersiz eksikliği ve muhtemelen zayıf beslenme alışkanlıkları ile birlikte olduğunu düşündüğüm kronik uyku kaybı, hepsinin Kronik Yorgunluk ile sonuçlanması muhtemeldir . Tüm bunlar, işyerinizde karşılaştığınız tüm sorunlara ve ev yaşamınızda ortaya çıkabilecek muhtemel sorunların belirtisidir. Bu, sahte ekonomilerin en büyük kanıtının yattığı yerdir ve muhtemelen ilk önce ele almanız gereken en ciddi sorundur.

Ben de her türlü öneriyi bekliyoruz.

İlk önce tıbbi bir profesyonel olmadığımı söylemeliyim, bir şey yapmadan önce doktorunuzdan gerçekten tavsiye almalısınız. Bununla birlikte, ilanınızda tarif ettiğiniz deneyimler aracılığıyla yaşadığımı ve bununla başa çıkmanın ne kadar zor olduğunu ve bu konuda bir şeyler yapmanın ne kadar önemli olduğunu biliyorum. Depresyon, endişe, kronik yorgunluk, stres ve bunlara eşlik eden diğer bütün küçük acılarla yaşadım, bu yüzden size bu deneyimlere dayanarak bazı önerilerde bulunacağım:

  • Doktorunuza gidin ve belirtilerinizi tartışın. Yorgunsanız, sık sık depresyonda ya da endişeli hissediyorsanız, sık sık soğuk algınlığı ve grip hissederseniz ve fiziksel olarak nasıl hissettiğinize doktora söyleyin. Doktorunuza izin verilirse, size anksiyete önleyici ilaç veya hatta depresyon önleyici ilaç verilebilir. Kendini isteksiz hissediyor olsan bile, kapıyı gururla bırak ve öngörüldüğü gibi al. Gerçekten yardım ediyorlar ve gelecek olan her şeyle başa çıkacak gücü bulmanızı sağlıyorlar.
  • Sorununuzu bildiğiniz gibi tartışmak ve her konuda nasıl hissettiğinizi keşfetmenize yardımcı olacak ve sorunla başa çıkacak stratejiler geliştirmenize yardımcı olacak iyi bir psikolog isteyin. Yapmanız istenecek olanlardan bazıları anlamsız ya da biraz dileksizlik gibi görünebilir. Yine de yapın, çünkü yine de, özellikle, özellikle fikrinizi nasıl temizleyeceğinizi öğretmede gerçekten yardımcı olur.
  • Gerçekte ihtiyaç duymadığınız sürece uyku haplarından kaçının, bağımlı olabilir ve uyku problemlerinizi daha da kötüleştirebilirsiniz. Şahsen onları sadece bir hafta sonundan sonra ihtiyacım olan uykuyu alamadığım zamanlarda alıyorum ve bu genellikle tembel ve doymamış bir hafta sonu geçirdiğimde oluyor.
  • Diyetinizi değiştirmeye bakın. Kafeini yalnızca yüksek bir endişe düzeyine katkıda bulunduğu için kesin olarak kesin. Karbonhidratlarınızı azaltın ve diyetinizi dengeleyin, yani daha doğal meyve ve sebzeler yemek, tükettiğiniz kırmızı et miktarını azaltmak ve yağ ve yağları azaltmak demek istiyorum. Meşrubatları kesin ve pes etmenin imkansız olduğunu düşünüyorsanız, kendinizi günde bir fincan kahve ile sınırlandırın. Diyet, yorgunlukla mücadele etmenize yardımcı olmada kritik öneme sahiptir. Ayrıca, son yemeğinizi daha erken yiyin, böylece tam bir karnınıza yatmayacaksınız.
  • Her gün egzersiz yapın. En az haftada en az bir kez zorlayıcı bir egzersiz yapın ve en az hafif bir terle çalışma noktasına kadar her gün en az 30 dakika yürüyün veya bisiklete binin. Bu sizi fiziksel olarak yormanıza yardımcı olacak, uykunuzla ve yorgunluğunuzla yardımcı olacak.
  • Uyku alışkanlıklarınızı değiştirin. İş için erken kalkmayı hedeflediğiniz için, yatmak istediğinizden daha erken yatmanız gerekir. Uyuyamıyorsanız, loş bir odada dinlenin ve sıkıcı bir şeyler okuyun ve gerçekten hemen uyuyamıyorsanız endişelenmeyin.

Tıbbi olarak ilgili tüm şeylerden geçtikten sonra, işinizle ilgili neler yapabileceğinize bakalım:

  • Birisi Pomadoro Tekniğini kullanmayı önerdi. Bu aynı zamanda zaman boks olarak da bilinir ve bence bu iyi bir fikir. Temelde 20-25 dakika yoğun bir şekilde konsantre oluyorsunuz, sonra küçük bir mola veriyorsunuz. Yaklaşık 3-5 dakika kalkıp dolaşmanızı ve gözlerinizi dinlendirmek için mesafeye bakmanızı öneririm. Bu süre zarfında görevleriniz hakkında düşünmemeye çalışın. Bir içki alın, banyoya doğru yürüyün veya ofisinizde kısa bir büyü için hareket edin.
  • Patronunuzla ilişkinize bağlı olarak, çalışma zamanlamasının sağlığınızı etkilediğine dair endişelerinizi karşılamak ve tartışmak için bir yol bulun. Şirketin müşterisini hayal kırıklığına uğratmak için risk almak istemediğinizi ve işinizi yapmaya devam etmenizi sağlayacak bir strateji denemek ve geliştirmek istediğinizi belirtin, ancak bu ihtiyaç duyduğunuz anlamına gelir. Sağlık kaygılarınızı gidermek için zaman ayırmak için. Ancak bunu son çare olarak kullanın, çünkü işte çalışan sahte ekonomileri açıklamak daha iyi olacaktır:
    • Yorgun işçiler, büyük ölçüde azaltılmış verimlilikle sonuçlanırken, yorgun olmayan işçiler daha kısa sürede daha fazlasını yapma kapasitesine sahipler ve sizi desteklemek için kullanabileceğiniz bazı rakamlar ve çalışmalar bulmaya çalışacağım. İyi bir patronla, buna bile ihtiyacın olmamalı. Aşağıdaki makaleler sizin için bazı yararlar olabilir: makale 1 , madde 2 , madde 3
    • Testlerin atlanması ve bazı detaylara dikkat edilmesinin ardından size maliyeti daha düşüktür. Teknik Borç kavramına bir başlangıç ​​noktası olarak bakın.
  • Çalışma saatlerinizi günde 8 ila 9 saate düşürmeye çalışın.
  • Bir tatil dönemi rezervasyonu yapın ve bir süre sessiz bir yerlerden kurtulun. Tek yaptığın şey arabanı ormana sürmek ve bir hafta boyunca kamp yapmak olsa bile. Cidden, pillerinizi şarj etmek için bir süre hiçbir şey yapmayın.

Gerçek programlama ile ilgili şeyler açısından:

  • Temiz Kod ve Yeniden Düzenleme kitaplarını okuyun ve içindeki teknikleri uygulamak için zaman ayırın. Bunlar, kod kalitesi sorunuyla başa çıkmanıza yardımcı olacaktır. Daha önce de belirttiğim gibi, işler daha uzun sürecek gibi görünecek, ancak daha önce nasıl çalıştığınıza bağlı olarak ortaya çıkan karışıklık ve sorunlarla başa çıkmak için daha az zaman harcayacaksınız.
  • Kod kalitesini geliştirme çabalarınızda size yardımcı olmak için geliştirme ortamınıza entegre edebileceğiniz araçlar bulun. Örneğin, Visual Studio'da geliştiriyorsanız, Resharper ve NCrunch gibi bir araç kombinasyonu kullanmak, bunları dini olarak kullanıyorsanız ve bahsettiğim kitaplarda anlatıldığı gibi iyi teknikler uyguluyorsanız, genel verimliliğinizi büyük ölçüde artırmanıza katkıda bulunabilir. .
  • Birim testleri yaz ve ilk önce bir test kullan. Bu sizi en çok yavaşlatıyor gibi görünecek, ancak testler sırasında genel olarak gelişiminizi hızlandıracaksınız, çünkü hata ayıklama süresinin azaltılmasına katkıda bulunabilirler ve test edilmiş kodları değiştirme konusunda size güven verirler. Gereksinimleri karşılamak ve kodu yerine getirmemek için testlerinizi yazın. Bu, testinize harcanan zamanı en aza indirmesi gereken test çalışmalarınızı yapıcı şekilde odaklayacaktır.

Hepsinden önemlisi, kendinizle başlayarak beklentileri yönetmeniz gerekir. Siz sadece insansınız ve sadece istediğiniz zaman bu kadar çok şey yapabilirsiniz. Patronunuzun beklentilerini yönetmeniz ve patronunuzun 9 veya doğrudan kendinizin olmasını istemelisiniz) müşterilerinizin beklentilerini yönetin. Bu, yaptığınız işi ciddiye almak anlamına gelir. Yeni özellikler için zaman ve hatalar için zaman ayırın ve son tarihlerinizin kayacağını varsayalım. Teslim tarihlerinin kayma olasılığı ile uğraşırken, yalnızca bir dizi kritik özellik sunmaya söz verin ve özelliklerin geri kalan kısmını "mümkünse güzel" olarak bırakın. Bir sonraki teslimat tarihinde, bir önceki teslimatın "iyi olması güzel" nin önceliklerini artırarak bu süreçten tekrar geçersiniz. Bunu geliştirme metodolojinize minimum başlangıç ​​noktası olarak yerleştirin, ve ardından, işlemlerinizi nerede ayarlayabileceğinizi görmek için birkaç teslimattan sonra gözden geçirin, verimliliğinizi artırın. En yüksek verimlilik, yaşam tarzı değişikliklerinizden kaynaklanacaktır, ancak işinizi düzene sokmak için yapabileceğiniz çok az şey vardır, örneğin, dokümantasyon ve son kullanıcılar arasında iletişim ve iletişim ile ilgili genel masrafları azaltmak gibi.

Tüm bunlarda proaktif olun. Patronunuza, hem nihayetinde hem de genel olarak şirket üzerinde iyi yansıtacak olan konuların gerçekten iyileştirilmesi için birlikte çalışabileceğinizi gösterin.

Ayrıca, şimdi kesin kararlar vermeyin. Sağlığınız ve iş yükünüzle ilgilenene kadar bekleyin ve bir süre nasıl devam ettiğinizi görün. Zihniniz daha net hale geldiğinde ve kendinizi daha iyi bir yerde olduğunuzu hissettiğinizde, kalmaya değip değmeyeceğine ya da devam edip etmeyeceğine karar verme zamanı gelecektir. Temel olarak söylemek istediğim, her seferinde bir sorunla başa çıkmak ve gerisini sizin dikkatinize ihtiyaç duyuncaya kadar biraz yahni olarak bırakmak.


4

Eğer programınız sıkıysa, Kendinizi Tekrar Etme konusunda zorlayıcı olmanız gerekir . En çok kullanılan yöntemleri belirleyin ve yoğun şekilde kullanılmalarını sağlayın.

Bugün ne üzerinde çalışacağınızı planlayın, bir yere yazın ve ona bağlı kalın. Herhangi bir zamanda hatırlamanız gerekenleri yedi veya daha az öğe ile sınırlamaya çalışın.

Bir adım daha gideceğim ve başkalarının çalışmasını tekrarlamaktan kaçının. Mümkün olduğunca dilin kütüphanelerini kullanın. Mümkünse üçüncü taraf kütüphaneleri kullanın.

Yazması daha uzun sürüyor gibi görünebilir, ancak yalnızca bir şeyi yapan yöntemleri hedefleyin. Karar verme veya bir şeyler yapma yöntemini sınırlandırıyorum. Kuplaj azalırken kodunuzun uyumu artmalıdır. Test etmenin daha kolay olduğunu bulmalısın. Bu, ilerici ayrışmaya kendini iyi borç verir.

Mümkün olduğunca basitleştirin. Şablonları, kontrol listelerini ve önemsizlikleri düşünmekten kaçınmanıza izin veren teknikleri kullanın.

Kesintiden kaçınmanız gerekecektir. Her kesinti, programa göre yaklaşık 15 dakikaya mal olacak. Zamanını koru.

Bu uzun sürerse, performansınızın düşmeye başladığını tespit ettiğinizde eve gidin. Sürekli 12 saat çalışıyorsanız, performansınız 8 saat boyunca ne alacağınızla ilgilidir. Performansınızın ne kadar kötü bir şekilde bozulduğunu farketmeyebilirsiniz. Biraz egzersiz yapmak ve dinlenmek için dört saatinizi ayırın. Gün ortasında kestirip yemek yiyip istemediğinize bakın ya da öğle yemeğinden sonra bir saat izin alın.


4

Yerinde olsam, müdürümle konuşup, belirledikleri son başvuru tarihlerinin gerçekçi olmadığını açıklardım. Sadece böyle çalışmaya devam ederseniz, her şeyin yolunda gittiğini düşünecekler, yaşadığınız sorunların farkında olmayacaklar ve sisteminize her gün daha az yazılı olarak kod ekleyeceksiniz. işinizi daha da karmaşıklaştıracak.

Alternatif olarak, daima başka bir işe geçebilirsiniz :-)


2

Yaptığın her şeyi izle

Yaptığınız her şeyi ve sizin ve ekibinizin ne kadar zaman harcadığını izlemek için zaman ayırın. Bu, farklı şeyler yapmanız gerektiğini onlara göstermek için yönetime getirdiğiniz şeyle sonuçlanacaktır. Yaptıklarınız ve başkaları tarafından bildirilen sorunları çözmek için ne kadar zaman harcadığınıza dair sert gerçeklere sahip değilseniz, onları değişikliklerin yapılması gerektiğine ikna etmek çok daha zor olacaktır. Bunun doğru olması için her saat herkes tarafından izlenmelidir. Bu, son 3 haftanın 80 saatini, aynı sürede sıfırdan kurulabilecek bir sistemi düzeltmek için harcadığınızı söylemek için kullanılır.

Bir şeyleri değiştirmeye çalış

Topladığınız izlemeyi ve başkalarının yazılımı geliştirmek için bir plan oluşturmak için yaptıkları harika önerileri kullanın. Yazılımın en çok soruna neden olan kısımlarını seçin. İşleri normal bir yönetilebilir hıza getireceğini düşündüğünüz planı bir araya getirin. Çalışması için zaman ver.

Ayrılma zamanının gelebileceği gerçeği için kendinizi hazırlayın

Yönetim işleri değiştirmeye ve sizinle birlikte çalışmaya istekli değilse, devam etmeyi düşünmenin zamanı olabilir. Yandığınızı başkalarına katılıyorum. Özgeçmişinizi ve portföyünüzü hazırlamaya başlayın. İşler iyileşebilir ve ilerlemeniz gerekmeyecek ancak yönetim değişiklik yapmak için satın almazsa devam edin. Zihinsel ve fiziksel sağlığınız, sizden çok fazla alan bir işte kalmaktan daha önemlidir.


"Her şeyi takip et" bölümüne katılmam gerekiyor, çünkü eğer bu veriler yönetime iletilirse, çalışanın zamanı nasıl yönettiği konusundaki en küçük kusur konusunda çok kritik olabilirler. Bu, çalışanın stresini artıracak.
Acumenus

2

Tanrı aşkına, proje yöneticiniz nerede?

Verimli bir zaman belirlemenize yardımcı olacak bir proje yöneticiniz yoksa, bir tanesine ihtiyacınız var. Gelişme sürenizi arttırmaya, kapsamdaki sürünmeyi sınırlandırmaya, beklentileri yönetmeye vb.

Yaşamak için yaratıcı bir iş yapıyorsun. Müşterileriniz / kullanıcılarınız ve sizinle arasında bir engeliniz yoksa, gelişiminize nasıl etkili bir şekilde odaklanabilirsiniz?

İyi bir PM bir çok şey için iyi olabilir ...

1. 'Yüksek Güç' kartını oynamak için:

Kullanıcılarınız sizi yeni özellikler için rahatsız ediyor, ancak bir hata düzeltme sürümüne odaklanmak için gerçekten biraz zamana ihtiyacınız var. Kullanıcılarla konuşmak zorunda olduğunu kim söyledi? Sözleşmeleri yazmak sizin sorumluluğunuz mu? Müşteri beklentilerini yönetmek sizin işiniz mi? Sözleşmenin şartlarını belirleme konusunda nihai karar gücünüz var mı?

Hayır? Öyleyse neden müşteri ile etkileşimden sadece siz sorumlusunuz? Gelişme zordur ve çok fazla konsantrasyon gerektirir. Geliştirme zamanını geri kazanma yeteneğine ihtiyacınız var ve bunu iyi bir PM ve iyi bir bahane ile yapabilirsiniz.

PM’nizin size göre ne yaptığından bağımsız olarak, müşteriler sizi şartname dışındaki değişiklikler konusunda rahatsız etmeye başlarsa, sadece söyleyin.

"Belirtim dışındaki değişiklikleri müzakere etmek maaş notumun üstünde ..."

Kibarca söylemenin bir yolu, *** gibi vermiyorum.

Onlara 'Scoop Creep Dog' yazarak takip edin.

"Spesifikasyonda değişiklik yapmak istiyorsanız, PM ile temasa geçmek zorundasınız"

Şimdi beni yalnız bırak. Bir kullanıcının geliştiricilerle doğrudan etkileşimde bulunabilmesi, elinden alınabilecek bir ayrıcalık olarak kabul edilir. Durum böyle değilse, yönetiminiz sizi başarısızlığa uğratıyor.

2. Beklentileri Yönetme 101

Aklı başında kim böyle çılgın bir program çalışabileceğini ve 7/24 teknik destek alabileceğinizi düşünüyor . Senin için ayağa kalkacak birine ihtiyacın var çünkü zamanın değerli ve mesleğine ithaf edilmeli.

Bu, müşteriler için ve çalıştığınız şirket için geçerlidir. Müşteriler için, onlar aşıyorsanız her zaman sorabilirsiniz ...

"Bu hizmet sözleşmeye yazılıyor mu?"

Değilse, istekleri reddetme hakkına sahipsiniz. Beni yanlış anlamayın, müşterilerinizi mutlu etmek için yukarıda ve öteye gitmek güzel, ama onlara beklenenler ile onlara bir iyilik olarak verdikleriniz arasındaki farkı bildirmeleri de aynı derecede önemlidir.

Çalıştığınız şirket için mesajı taşıyacak birine ihtiyacınız var ...

“Yapmam istenen iş bana maaş dereceme eşit mi?”

Başka bir deyişle, zamanınızın% 50'sini zamanınızın% 50'sini çok daha düşük ödeme pozisyonu olan telefon teknolojisi desteği için harcamak için ödüyorlar mı? Bu sizin için tehlikeli bir konudur, bu yüzden sizin için iyi bir dava açmak için güvenebileceğiniz bir Başbakana ihtiyacınız var. Ona yapman gereken argüman ...

“Yılda 60 bin maaş alıyorum, ancak potansiyel verimliliğimin yarısı para iadesiyle harcanıyor.”

Ya da siz beni işe aldınız ve zamanımın yarısını düşük dereceli bir pozisyonu doldurarak geçirmemi sağlayarak istekli bir şekilde para kaybediyorsunuz. İster inanın ister inanmayın, potansiyelinizi artırarak uzun vadede daha fazla para kazanabilirler.

İşe gelince, bir kazan-kazan durumu sunabilirseniz, şirketin pozisyonunu değiştirmesini sağlamak çok daha kolay. Bunun yapması için bir müzakere ustası olmanıza gerek yok. Tabii ki, eğer şirket kaynakları sınırlı ise, bu size ters tepebilir.

3. Herkes bazen bir amigo kızı kullanabilir

İyi bir PM doğal olarak bir insan-insan olacaktır. Yaptıklarının özü insan ilişkileri. İyi bir PM müşterinize duymak istemediklerini söyleme ve yine de mutlu bir şekilde uzaklaşmalarını sağlayacaktır.

Ayrıca, zaman zaman zorlaştığında harika bir ahlaki destek kaynağı olabilirler. İsterseniz basit bir moral artışı, iyi bir PM için başa çıkmak için çok fazla olmamalıdır. Yanında birine ihtiyacın var, ya da moralin düşüyor ve iş çok zor geliyor.


Beklentilerin yönetilmesinden sorumlu olan organizasyonda daha yüksek biriniz yoksa, yönetiminiz başarısız olur ve yüksekler muhtemelen projenin ne kadar kötü çalıştığının farkında bile değildir.

Veba gibi şirketler için çalışmaktan kaçınmamın ana nedeni bu. Daha yüksek birine sahip olduğum küçük şirketler için çalışacak kadar şanslı oldum, söyleyeceklerimi güvenle tutacağım ve gerektiğinde harekete geçebileceğim sorunları dürüstçe tartışabilirim.

Sizi iş gereksinimlerinize uygun tutmak ve dikkat dağıtıcı şeyleri yönetmek için yanınızda birine ihtiyacınız var. Eğer buna sahip değilseniz ve gelecekte bulmak için hiçbir umutunuz yoksa, iyi şanslar ...


1

Vay vay vay ! Atlarınızı kovboy tutun! Orada gelişim tamamen yanlış görünüyor. Kodlama sırasında burada bazı yazılım temellerini kaçırıyorsunuz. Evet, temellerini temizle ... hayat çok daha kolay olacak.

Şimdi okula dönüş

  1. Hızlı-Geliştirme-Taming-Yazılım-Programları *
  2. Efsanevi Erkek Ayı *

* Okumalısınız


2
sonraki soru - sıkı bir programda bazı kitapları okumak ve kodlamak için nasıl :-D
Ventsyslav Raikov

1
@Bond - dostum, projeye başlamadan önce bu kitabı okumuş olmalıydık. Aksi halde fark etmemiz gereken sürekli öğrenme yazılım geliştirmemizin bir parçasıdır. Okumayı günlük çalışmamızın bir parçası olarak düşünmemeliyiz. Zaten her gün bir süre okuyor olmalıydık. Bir yazılım geliştiricisinin, mesai saatlerinde bile zamanını okuyarak geçirme hakkı olduğunu düşünüyorum. Kişisel olarak, günde 5 sayfa okumaktan bile büyük bir etki yarattığını gördüm. Şimdi okumaya başlamak, bir sonraki projenizde zaman kazanmanıza yardımcı olacaktır.
Imran Omar Bukhsh

kesinlikle sana katılıyorum dostum, her gün okurum. Ancak çalışmıyorum (yukarıdaki soruya göre kod anlamına geldiğini sanıyorum) günde 12 saat. Yapsaydım, kesinlikle hiçbir kitap okumazdım. Hayattan işten daha fazlası var.
Ventsyslav Raikov

@Bond - true, ancak eğer doğru şekilde çalışmazsak, fazla hayat kalmaz. Şirketimde günde 5 saat çalışıyorum. Yaklaşık 1,5 yıl içinde sürünen bir motor yaptık. Ayda 1 milyondan fazla ziyaretçimiz var.
Imran Omar Bukhsh

1

Bir TODO listesi hazırlamayı, gereklilik sırasına göre sıralamayı ve bazı işleri ertelemek istemesem bile koşulsuz olarak bu sıraya bağlı kalmayı seviyorum.

Ne üzerinde çalışacağınızı merak ederek harcadığınız zamanı azaltarak ne kadar zaman kazanabileceğinize şaşıracaksınız.


1

Şu anda yapabileceğin şey

  • Bir meslektaşınızla eşleştirin
  • Yazdığınız veya değiştirdiğiniz tüm kodlar, yeterince iyi olmaya karar vermelisiniz. Tercihen çift programlama olarak, sadece programı eşleştiremiyorsanız akran değerlendirmesi yapın.
  • Bundan sapma!

Bu, en azından bundan sonra yaptığınız şeylerin, bu kod bitlerini geliştirmeyi umduğum İKİ kişi tarafından onaylandığı anlamına gelecektir.

Başka ne yapılabilir, yönetime bağlıdır. Onlara bu soruyu cevapları ile göstermek isteyebilirsiniz!


Çift programlamasına kesinlikle karşı çıkmam gerekiyor. Bu, bağımsız düşünürlerin veya yaratıcı beyinlerin çalışma şekli değildir. Aynı zamanda, bir takım arkadaşının incelemesinin yerine geçmez.
Acumenus

1

Telefon görüşmelerini yasaklama ve "SADECE böcek izleyiciye git" kuralını uygulayan katı bir kural. O zaman günün ilk hamlesi, yeni girilen böcekleri triyaj etmek, sıfırları temizlemek, öncelik vermek ve İLK hata düzeltmeleri üzerinde çalışmaktır. Ve hata düzeltmelerinizin gerçekten hatayı düzelttiğinden ve yeni hatalar sunmadığından emin olun.

Bu son kısmı nasıl yapıyorsun? Test senaryolarını mevcut kodunuza ekleyerek. İşlevleriniz varsa, beklediklerinizi girip çıktıklarını ve önemsiz verirseniz kibarca başarısız olduklarını test edin. Entegrasyon ve performansı önden arkaya test etmek için bir tür otomatik UI testi kullanın.

Kod problemlerini çözmek için sabah saat 3'te yataktan kalkmıyorsunuz değil mi? Eğer öyleyse, aldığınız her şeyi hakediyorsunuz.



0

Siz ve sizin gibi geliştiriciler, doktorlar ve avukatlar gibi bir yazılım geliştirme lisansı talep etmek için düşünebilmemin tek sebebi sizsiniz. Bu şekilde, minimum temel programlama iyi uygulamalarını takip etmediğiniz için lisansınız iptal edilebilir. Sadece endüstriyi beceriksizlerden korumakla kalmaz, aynı zamanda bu yetkin programcıları, programcılarının iyi uygulamaları takip etmemelerinde ısrar eden yöneticilerden koruyacaktır.

Bilginize, hemen hemen herkes sıkı bir süre için çalışıyor. Ancak, ne yaptıklarını bilen geliştiriciler en iyi uygulamaları takip eder, çünkü uzun vadede işi daha hızlı yapar. O zaman üst üste 3 yıl boyunca 12 saat gün çalışmak zorunda kalmazlar.

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.