Yalnız bir küçük geliştirici olarak ilerlememi nasıl gözden geçirebilirim [kapalı]


38

Şu anda yalnız birincil geliştirici olarak 2 kişilik bir şirkette çalışıyorum. Patronum müşterileri alır, bazı png tasarım şablonlarını hazırlar ve onları bana teslim eder.

Bu sistem iyi çalışıyor ve gerçekten hoşuma gidiyor.

Çalıştığım proje türleri küçük ve orta ölçekli işletmeler için ve genellikle bir CMS sistemi istiyorlar. Sıfırdan geliştirilen, müşterinin kategorileri, etiketleri, ürünleri vb. Eklemesi / düzenlemesi / kaldırması için kişiselleştirilmiş bir arka uç oluşturacağım ve sonra bana verilen tasarım şablonuna göre bunları ön uçlara çıkarıyorum. Zaman geçtikçe, alışveriş sepeti / sipariş özellikleri ve diğer yaygın e-ticaret türü özellikleri ile projeler karmaşık bir şekilde artmıştır.

Yine, bu sistem iyi çalışıyor ve gerçekten çok hoşuma gidiyor.

Sorunum, programcı olarak kişisel gelişimim. Boş zamanlarımın çoğunu programlama okumak için harcıyorum, yığın değişimi yaparak, önerilen programlama kitaplarını okuyarak (şu anda ' Pragmatik Programcı'da , şu ana kadar gerçekten iyi), beyin egzersizlerini ( lumosity.com ve khanacademy matematik problemleri) yaparak, çok şey yapıyorum fiziksel egzersiz ve diğer kişisel gelişim tipi aktiviteleri.

Yardım edemem ama yine de, geribildirimleri kaçırdığımı hissediyorum, eleştiri. Patronum harika ve işim konusunda asla övgüde bulunmuyor ama maalesef ya kodumu kontrol etmekle meşgul, ya da dürüst olmak gerekirse, onun uzmanlık alanlarından biri olduğunu sanmıyorum ve bu yüzden geri bildirim sağlayamıyorum. .

Neyi yanlış yaptığımı ve neyi doğru yaptığımı bilmek istiyorum. Kontrolöre bu kadar mantık koyuyor muyum, kodumu yeterince değiştiriyorum.

Yani yaptığım şey küçük bir 'Aile Bütçelemesi' uygulaması geliştirdi ve şu anda nasıl yaptığımı bildiğim kadar temiz ve etkili bir şekilde yapmaya çalıştı.

Bilmek istediğim şey şu ki, bu uygulamayı gönderebileceğim bir yer var ve bazı deneyimli geliştiricilerin geri bildirimde bulunmasını istiyorum. Kodumun sadece 'codereview.stackexchange' gibi bir alt bölümü olması gerekmiyor, eleştirilmek istediğim tüm iş akışım.

Bunun sorulacak çok şey olduğunu biliyorum ve verilen asıl tavsiyenin bir takım içinde iş aramak olacağını umuyorum, bu kesinlikle daha sonra takip edeceğim bir şey, ama şu an için mevcut durumumla devam etmek istiyorum. İstihdam durumu, ancak çok fazla kötü alışkanlık geliştirmek istemiyorum.

Açıklığa kavuşturmak için daha fazla bilgi sağlayabilir miyim, yoksa bu türden bir soru için doğru yer bulamazsanız, şimdiden özür dilerim. Reddit kullanmak istemedim, çünkü bu topluluk daha iyi düşünülmüş tepkileri teşvik ediyor.


3
Önceden o kadar uzun zaman önce olmayan bir genç geliştirici olarak, bir genç geliştiricinin bu şekilde vahşi çalışmasına izin vermenin kötü bir fikir olduğunu düşünüyorum. PNG'yi taklit etmekten bahsetmiyorum bile, size etkili bir CMS yazmak için gereken bilgiyi vermez. Üstelik kişisel kurulumlar kapalıyken neden sürekli geliştiriciden bağımsız bir geliştiriciden mikro CMS'ler de dahil olmak üzere herhangi bir müşteriye makul bir zamanda yazabileceğinden daha etkili bir şekilde yazıyorsunuz?
Teçhizat,

2
İlk başta Coldfusion'da inşa edilmiş kendi evde CMS'sine sahipti. Dili deneme yanılma yoluyla öğrendim ve onu kullanarak birkaç proje tamamladık. Zamanla onu ikna etsem de, PHP'yi kullanmak daha iyi bir fikir olurdu, çünkü onu kullanmada daha fazla deneyimim vardı ve güvenilecek daha büyük bir topluluk var (google'a çok fazla güvenmiyorum). O zamandan beri yavaş yavaş ciBonfire'da tekrar kullanılabilir bir modüler CMS inşa ediyorum. Gerçekten iyi geliyor, kataloglama sistemi neredeyse tamamlandı. Sorun şu ki öğrendiğim gibi öğreniyorum, memnun edecek müşterimiz var.
hoppipolla

2
@OliverHyde "Sorun, öğrendiğim gibi öğreniyorum, memnun edecek müşterilerimiz var." Bu da başka hiçbir yerde farklı olmayacak.

Yanıtlar:


21

Becerilerinizi geliştirmek için doğru yoldasınız ve kodunuzun güvenilirliği ve kurumsal hazırlığı konusunda kararsız olduğunuz anlaşılıyor.

Bu, küçük bir geliştirici için geçmesi gereken normal bir süreçtir ve bir gün rock-star geliştiricisi olmanın anahtarı olduğu için iyileştirme ilginiz çok önemlidir.

En iyi uygulamaları öğrenmek için bir referans olarak, tutkulu / meraklı programcılar için ücretsiz olarak sunulan açık kaynaklı projelere katılmanızı tavsiye ederim. En iyi uygulamaları nasıl kullanacağınızı ve uygulama tasarımına nasıl karar vereceğinizi anlamanıza gerçekten yardımcı olacaklar. Buna ek olarak, açık kaynaklı proje geliştirmeye katılmaya çalışın, çünkü bu kendi öğrenme ve gelişiminizi çarpıcı biçimde artıracaktır.

Yazılım geliştiriciler için yerel topluluk etkinliklerine katılmayı da tavsiye ederim. Bu gruplardan bazılarını communitymegaphone.com adresinde bulabilirsiniz . Yerel dost programcılar ile konuşun, çoğunlukla bir meslektaşınıza yardım etmeyi umursamayan iyi insanlardır.


Hmm, belki nereden başlayacağımdan emin değilim, bazı açık kaynaklı projelere katılmaya çalışacağım: / Bazı araştırmalar yapmalıyım. Topluluk olaylarıyla ilgili olarak, yerel toplantılara gidiyorum, Yeni Zelanda’da eyaletlerde göründüğünüze kıyasla kıtlar, ancak oluyorlar ve çok yardımcı oluyorlar. Geri dönüşünüz için teşekkür ederiz.
hoppipolla

Kesinlikle kodunuzu arayan diğer gerçek insanlarla ilişkiye geçin. Bunun için yedek yoktur.
jeffreypriebe 19:12

Evet, 'kişisel bütçe' uygulamamı derliyorum ve belki de yeniden denetleme veya bazı topluluk forumlarında değerlendirme için sunacağım.
hoppipolla

9

Daha fazla tecrübe kazandıkça, yanlış yaptığınız yeri görmek için kesinlikle geri dönüp önceki projelerinizi / kodlarınızı gözden geçirebilirsiniz. Gezmek güzel bir şey. X önce yazdığım kod / belgelere baktım ve nerede hata yaptığımı ve nerelerde düzelebileceğimi farkettim.

Blogları, kitapları, SE vb. Okuduğunuz gerçeği, kendi kişisel gelişiminizin bir parçası olarak programlama konusunda size daha fazla fikir vermeli ve deneme yanılma ve projelerinizin ve kodunuzun evrimi kesinlikle sizin gerçeğinizin kanıtı olmalıdır. iyileştirme. Öz eleştiri çok iyi bir şey olabilir.

Bunu söyledikten sonra, başka bir geliştiricinin eleştirel gözüne sahip olmak her zaman değer katar ve aklınıza gelmeyen fikirleri / seçenekleri sağlayabilir. Kod incelemesi için tam bir proje bırakabileceğiniz belirli bir siteyi bilmeme rağmen - şüphelendiğinizin pasajlarını codereview.stackexchange'e algılayıp yorumlamaları için koyabilir ve daha sonra gemide bu geri bildirimi alabilir ve uygulayabilirsiniz. uygun yerlerde başka bir yerde.

Alternatif olarak, bazı açık kaynak kodlu materyalleri yazabilir ve github'a (veya eşdeğerine) atabilirsiniz. Açık kaynak topluluğu, çalışmanızı kesinlikle eleştirecek ve uygun gördüğü yerlerde geliştirecektir.

Günün sonunda, ürettiğiniz ürünler istediğiniz şekilde çalışırsa, işletme gereksinimlerini karşılar ve bakımları yapılabilir - doğru bir şey yapıyorsunuz demektir.

Kavramsal programlama soruları, kalıpları, vb. İçin. Bu soruları her zaman buraya PSE'de ve SO'da kod uygulama sorunları için gönderebilirsiniz.


Şerefe, sanırım bütçe uygulamamı bozar ve kodlayıcıda bazı pasajları gönderirim.
hoppipolla 17:12

3

Düşüncelerimi, bazı bilgelik sözlerini ve üzerinde düşünmeniz için bazı soruları paylaşın.

Deneyimli bir programcı olarak Yıllar boyunca en iyi kodun basit (KISS konseptine bakınız) ve başka bir programcı tarafından değiştirilmesinin kolay olduğunu buldum.

Ayrıca, kodun tıkanmaması için yeterli alan bırakılması (nefes alma alanı) ve eşit şekilde yapılandırılması. Değişkenleriniz için iyi bilinen bir adlandırma kuralı kullanın, onlara anlaşılır adlar verin (başka bir programcının anlayabileceği) ve çok az ve çok az değil, konuya yönelik yorumlarınızı yazın.

Yukarıdakileri takip ederseniz, zaten iyi bir yoldasınız demektir.

Üstelik, geliştiriciler mimarlar gibi bir şey olduğu için, üzerine düşünmeniz gereken çok önemli bir söz vereceğim;

  1. “Eklenecek bir şey kalmadığında değil, götürecek bir şey kalmadığında mükemmellik elde edilir” - Antoine de Saint-Exupery.

ve

  1. "Mükemmellik için çabalamak sizi motive ediyor; mükemmellik için çabalamak moral bozuyor" - Harriet Beryl Braiker.

Ancak,

  1. "Çoğu olay, kabaca etkilerin% 80'i nedenlerin% 20'sinden geliyor" - Pareto prensibi

Yukarıdakilerle, çaba ile etki, maliyet ve kalite arasında iyi bir denge olduğunu anlamanızı istiyorum.

Ve yansıtılacak sorular;

  1. Bundan beş yıl sonra ne yapmaktan hoşlanırım?
  2. Kodlama becerilerimi geliştirme çabam uzun vadede profesyonel kariyerime fayda sağlayacak mı?

1

Https://codereview.stackexchange.com/ adresine göz atmak isteyebilirsiniz.

Mevsimlik uzmanlardan kodunuz veya tasarımınız hakkında geri bildirim almak için harika bir yer olurdu.


Evet, sanırım sorumun özü, oraya göndermeye uygun, tam teşekküllü bir uygulama ya da bunu yapabileceğim başka bir yer var mıydı? Kod görünümü, incelenecek kod parçacıkları olarak daha hedefli görünüyor. Temel olarak github projesine bir link verin ve onların serbest kalmasına izin verin. Bugün toparlanıyorum ve bağlantı yayınlamak için bazı topluluk forumlarını arayacağım. :)
hoppipolla

1
Aynı anda, bir geliştiricinin bir saatte çiğnemesi için çok fazla şey olabilir. meta.codereview.stackexchange.com/questions/537/… her seferinde bir parça deneyin. Kod görünümü için uygun olmaz, ancak yüksek seviye tasarım dokümantasyonu o bir tür ilk ime için kod tabanınıza bakarak bir gözden geçirene yardımcı olabilir
Jessica Brown

@OliverHyde Bir kaynak dosya gönderirseniz, en karmaşık olanlardan birini söyleyelim, o zaman tüm proje için geçerli olan dosya hakkında geri bildirim alacaksınız. Bu, program diliniz ve kodlama stiliniz hakkında geri bildirim almanın iyi bir yolu olacaktır. Genel program tasarımı hakkında geri bildirim arıyorsanız, (SSS'ye göre) bu siteye gönderebilirsiniz.

1

Kitap, blog ve Yığın Taşması Soru ve Cevaplarını okumaya devam edin. Kendinizi daha sosyal bir şekilde geliştirmek istiyorsanız, neden açık kaynak kodlu bir proje üzerinde çalışmaya başlamıyorsunuz? Kendi projeni yaratmayı kastetmiyorum , ama varolan bir projede çalış.

Bu şirketteki tek geliştirici siz olduğunuz için, bir gün başka birisini işe almanızın mümkün olabileceğini hayal ediyorum. Kendine söyle, bu gün, adam kodunu okumak zorunda kalacak. Aletiniz hakkında zaten bazı belgeler yazıyor musunuz? Çalışmanızın başkaları tarafından okunabileceğini unutmayın, yalnız geliştiriciler için iyi bir şeydir ve daha iyi kodlar yapmanıza yardımcı olur.


1
Evet şimdi kodlama ile yapmaya başladım. Patronum, gelecek yıl ek bir geliştirici kiralamaya bakabileceğini söyledi .... bahis belgelerimin üstüne
çıksın

1

Sizinle benzer bir durumdayım, 5 kişilik bir şirketin tek programcısı olarak işe alındım ve bunlardan sadece biri geliştirdiğim / eklediğim uygulamalar ile doğrudan ilgileniyor. Neyse ki, sıfırdan bir şey oluşturmak zorunda değildim, ancak şimdiye kadar yalnızca selefimin yaptığı uygulamaları değiştirdim. Bunu yaparken, kodunun hangi bölümlerinin iyi olduğunu, hangi bölümlerin kötü olduğunu ve birinin bunları nasıl iyileştirebileceğini kabul ederek kendimi çoktan geliştirdiğime inanıyorum.

Kod okumak, kendi kodlamanızı geliştirmenin büyük bir parçasıdır, bu yüzden her şeyden önce kendinize açık kaynak kodlu bir proje aramanızı, kodu okumanızı, anlamanızı ve neyin iyi, neyin kötü neyin geliştirilebileceğini yargılamaya çalışmanızı öneririm. Belki blogunuzda bir kod incelemesi bile yazabilirsiniz.

Şerefe!


Evet şerefe! Uzun süredir burada çalışıyorum ve çevrimiçi kod inceleme web sitelerini kullanma ve kendi kendini inceleme konusunda kendimi iyi bir ritim buldum.
hoppipolla

-1

Ayrılmak. Öğrenebileceğiniz bazı boktan sıcak adamlar da dahil olmak üzere, daha büyük bir geliştirici ekibinde çalışacağınız yeni bir işveren bulun.

Açıkça istemekte tüm doğru motivasyonlara sahipsiniz.


4
Bu ilk seçenek olmamalı. OP işinden zevk alıyor ve görünüşe göre bugünlerde nadir görünen iyi bir patronu var. Atlamadan önce hoşunuza gitmeyen bir işle, kötü bir patronla ve yeni şeyler öğreneceğinizin hiçbir garantisini veremeyeceğinizi düşünün.
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.