Çaylak geliştiricileri projenize nasıl dahil edebilirsiniz?


9

Sıfır veya genel hobisi düzeyinde programlama deneyimi olan bazı çalışanlara iş yükünü benden almayı öğretmeyi düşünüyoruz.

Bazı dost canlısı belgelere ve öğrenmek için bir esintiye sahip Python / Django kullanıyoruz.

Şu anda şirketim için tek kişilik bir IT departmanıyım ve şirketin ihtiyaç duyduğu her şeyi geliştirmek için yeterli saatim yok. Biz bir yazılım şirketi değiliz, ancak görevleri otomatikleştirmek, müşteri hizmetleri özelliklerini geliştirmek, verileri analiz etmek vb. İçin kurum içi BT'ye sahip olmak yardımcı olur.

Kod tabanınızda çalışan çerezleri yavaşça nasıl entegre edersiniz? Stajyer var diyelim - ne yapıyorlar? Hatalarını / tuhaf tasarım kalıplarını yıllarca ele alacağımız için çekirdek kodu tasarlamalarına veya geliştirmelerine izin vermekten tamamen isteksizim. Birincil geliştirici olarak, kodlarının etrafında çalışmak zorunda olan kişi olacağım.

Benim düşüncem çaylaklar sadece mevcut kodu değiştirmek, hiçbir zaman temel özellikleri inşa etmek oldu. Özelliğin kendisini oluşturduktan sonra basit görevlerle onlara iş yükleyebilirim .

Çalışanlarımızın şirkette değer bulmasını / bulmasını isteriz ve genellikle insanların 'rütbeleri yükseltir'.

Genel / hobi düzeyinde programlama yapan insanlara öğretmek standart bir uygulama mıdır? Bir yazılım firmasındaki "rütbeleri yükseltmek" küçük seviyedeki programcılar için nasıl çalışır? Çekirdek kod üzerinde ne zaman çalışmaya başlıyorlar?

Yardımdan daha fazla zarara yol açıp açmayacağına ve potansiyel site kodunu (yalıtılmış ortamlar?) Riske atmadan yardımlarını kullanabileceğimiz bir yol olup olmadığına karar vermeye çalışıyorum.


3
"genel / hobi düzeyinde seviye programlama" bence "genç seviye programcıları" ndan çok farklıdır. İlki, sistemlerini değiştirmek için haftada bir kabuk / toplu komut dosyası ile oynayan biri gibi geliyor. İkincisi, CS derecesini yeni bitirmiş birine benziyor. Bu iki türün ele alınması çok farklı olacaktır. Just sayin '...
SinirliWithFormsDesigner

@FrustratedWithFormsDesigner Teşekkürler! Terminolojiye aşina değilim. Hobbyist demek istediğim birkaç programlama dili öğretti, bir ya da iki program geliştirdi, bir web sitesi .. Junior seviyesi Bir yazılım şirketinde işe alınacak yeterli programlama bilgisine sahip biri olduğunu düşündüm, ama şimdi bana öyle geliyor ki bu ikisi oldukça benzer olabilir (tanımlarımda)?
Yuji Tomita

3
Resmi CS eğitimi almış ve deneyimi olmayan genç çocuklar naif, ancak çoğu zaman yetenekli, yeni şeyler hızlı öğreniyor ve iş uygulamalarınıza uyum sağlıyor. "Hobi veterinerleri" genellikle alışkanlıklarının köleleri oldukları için çok daha tehlikelidirler, bu nedenle değişikliklere isteksiz olabilirler ve ekosisteminize uyma konusunda sıkıntılar yaşayabilirler. Ancak yine de - sadece onlara özgürlük vererek, onların aptallıklarını veya akıllılıklarını görebilirsiniz. Onlara ilkel sıradan görevler verirseniz, ne iş hakkında hiçbir şey öğrenmez ne de onlar hakkında hiçbir şey öğrenemezsiniz.
c69

@ c69 Teşekkürler! Benim sorum çaylak bizim kod tabanı içine kolaylaştırmak için nasıl? Amaç, onları güvercin deliği yapmak ve sadece sıradan görevler yapmak değildir. Birisine kod tabanımıza erişim vermek ve sistemimizin bir parçası olarak ilk django / programlama projelerini oluşturmalarını sağlamak sadece tehlikelidir (ya da bunu demek istediniz mi? Deneyelim ve görelim mi?). Not: Hobi veterinerleri hakkında usulüne uygun bir şekilde not edildi
Yuji Tomita

Yanıtlar:


5

Çaylakı etkisiz bir role devrederseniz, asla önemli bir şey öğrenmeyecektir ve kesinlikle sizin için çok yararlı olmayacaktır.

Size bir tavsiye vereyim, okuldaki ilk BT işim, satış mühendislerine çeşitli projeler için alıntılar yazarken yardımcı olmak için yazılım üzerinde çalışacağım nispeten küçük bir üretim firmasındaydı. Ayrıca tüm şirket için BT'yi tek başına yöneten BT adamına da yardımcı olmam gerekiyordu.

Adam stresli bir aşırı çalışma dağınıklığı ve şimdiye kadar çalıştığım en kötü mikro yönetim mükemmeliyetçisiydi. İş yükünü hafifletmem gerekiyordu ama neredeyse beni ve işimi harcadığım kadar endişelenerek kontrol ediyordu (neredeyse ofisten hiç ayrılmadı, sanırım ailesini hor gördü). Tek bir hata kadar çok şey yaparsam, aklını tamamen kaybedecek ve "Sana bu konuda güvenmemem gerektiğini biliyordum, çok önemli!" ve diğer rants.

Yapmaya çalıştığım nokta bu şekilde OLMAMAK. Sadece çaylakları sefil hale getirmek ve morallerini yok etmekle kalmaz, aynı zamanda çalışmaları hakkında endişelenerek her iki uçta da mumu yakacaksınız.

Kendilerini kanıtlama şansı verin ancak resmi teknik özelliklere, tasarım incelemelerine ve kod incelemelerine sahip olun. Ayrıca, gereksinimleri karşıladığından emin olmak için ürettiklerini test edebilirsiniz.

Bazılarının ne kadar yetenekli olabileceğini görünce şaşıracaksınız.


1
Ayrıca, çaylakı yararlı hissetmedikleri bir role devrederseniz, daha iyi bir iş bulmak için kazandıkları küçük deneyimi alacakları da söylenmelidir. Bir çaylak bile talimatları takip edebilmelidir, bakım görevleri iyidir, ancak büyümelerine yardım etmeye istekli olmadığınız sürece her zaman bir çaylak olmasını bekleyebilirsiniz.
Ramhound

Girişiniz için teşekkürler - büyük beğeni topluyor. Kelimenin tam anlamıyla deneyimi olmayan insanları düşündüğümüz için bir yerden başlamalıyız. Python 101'e giriş, django eğitimi, bash betikleri, sürüm kontrolünün nasıl kullanılacağı vb. Mikro yönetim ile ilgili uyarınıza dikkat edeceğim. Ve evet! İnsanlarımızın oldukça yetenekli olduğuna inanıyorum.
Yuji Tomita

5

Eskiden büyük bir projeyi kodladığımız bir yazılım mağazasında çalışıyordum (önemli rampa süresi).

Çaylaklara veteriner muamelesi yapıldı. Onlara teknik bir lider atandı ve "kendi başlarına" özelliklere başladılar. Mimari tarzı dikte edildi, ancak kendi temiz tasarımlarını bulmakta özgürdüler. "Garip tasarım desenleri" (günlük) akran kod değerlendirmeleri sırasında ayık.

Başka bir dükkanda gördüğüm bir hata: "çekirdek" zor ve "ui" kolay olduğunu varsayalım. Çerezlerin çekirdeğinde daha kolay bir zaman vardı ve UI ön uç kodunu bozdu.

İyi şanslar!


1
Sık kod değerlendirmeleri sadece ne önerecektim. Gününüzden bir saat sürecek ve onlara neyin yanlış olduğunu öğretirken maça geri ödeyecek, düzeltmek zorunda kalacak ve becerileri gelişecek. Bir süre sonra, kod incelemelerinde ilk birkaç hafta kadar zaman harcamanıza gerek kalmaz. Ayrıca kaynak kontrolünü nasıl kullanacaklarını (ve nasıl kullanacaklarını) bildiğinden emin olun. Daha sonra herhangi bir hata oldukça kolay bir şekilde geri alınabilir.
HLGEM

1
@isgab - 30 yıllık tecrübeyle bile etkili bir Kullanıcı Arayüzü Tasarımı elde etmek zordur. Microsoft ve Apple'a bakın, her ikisinin de bir kullanıcı arayüzünün nasıl çalışması gerektiği konusunda farklı fikirleri var.
Ramhound

Core vs ui hakkında söylediklerini seviyorum. Ben her ikisi için artıları ve eksileri olduğunu düşündüm (arka ucunda çaylak, ön ucunda çaylak). Bir yandan, HTML genellikle deneyimle ilgilidir - neyin işe yaramadığını bilmek. Projelerin izole edilmesi de "güvenlidir". Arka uç tam olarak olması gerektiği gibi çalışır, ancak şimdi oluşturulan kodun gelecekte korunması ve üzerinde çalışılması gerekir.
Yuji Tomita

2

Onları uygulamak için küçük, ayrık parçalar işlevselliği vererek başlamak istersiniz. Söz verdiğiniz girişi ve beklediğiniz çıktıyı tanımlayın ve noktaları birleştirmelerine izin verin. Daha sonra kaliteyi sağlamak için takım lideri kod incelemesini kullanın ve bunları birbirlerinden öğrenmeleri ve kendilerini öğretmeleri için eğitmek için akran incelemeleri kullanın.

Bu, atomik mantık birimlerinin ayrıştırılmış bir şekilde oluşturulmasına izin veren genel bir uygulama mimarisine sahip olduğunuzu varsayar. Değilse, içinde birden fazla geliştirici çalıştıkça keder dünyasına gidiyorsunuz - eski profesyoneller için bile durum böyle.

Kaçınılmaz olarak, onu alan, hızlı öğrenen ve yükselen bazı insanlarınız olacak. Mevcut yeteneklerinin ötesinde küçük bir adım olan görevleri beslemeye devam ettiğinizden emin olun. Hiçbir şey birisini imkansız başlayan bir görev gibi eğitmez. Kaçınılmaz olarak, gerçekten onu yakalamaya çalışan ve asla yakalamaya çalışan bazı insanlara sahip olacaksınız. Bu insanlar çabaları için teşekkür etmeli ve incelikle başka bir şeye geçmelidir.


1
"Onlara mevcut yeteneklerinin ötesinde küçük bir adım olan görevleri beslemeye devam ettiğinizden emin olun." - Bu yapılmazsa, bu kişilerin bilgilerini başka bir şirkete götürdüklerini görebilirsiniz. Çaylak'ı beslemez, eğitmez ve yürümezseniz, köpek gibi kaçarlar.
Ramhound

Diğer seçenekler
şunlardır

1

Şirketiniz diğer çalışanlardan zaman ayırmayı ancak programlama deneyimi olan birini işe almayı nasıl karşılayabilir? Antrenman, sorun giderme ve el ele tutuşma sürelerinizin maliyeti yüksektir.

Bu alanda şimdiye kadar yaptığım tek şey, insanlara bir rapor yazarı veya Excel için bazı VBA / Makro kodu kullanmayı öğretmektir. Genellikle yeniden kullanmak için veri setlerini veririm. SQL öğrenmelerini sağlamak bir gerçektir, ancak yapıldığını gördüm (dışarıda eğitim almaları için para ödendi.) Bu insanların çoğu, kodlamayı öğrenme yeteneğine sahip, ancak zaman almamış olabilecek finansal analistlerdi. Bunu operasyonlardaki bazı insanlarla denemek uzun bir çekimdir.

Doğru kişiyi aldığınızdan ve gerçekten kodlamayı öğrenmek istediklerinden emin olun. Onlara her şeyi öğretmek için zamanınız olmayacak. Kendi başlarına çok şey yapmak zorunda kalacaklar.


Önceden sıfır deneyime sahip (ya da çok az miktarda) kişilerden bahsettiğimizi söylemiştim, bu yüzden profesyonel bir programcı kiralamak için gereken ödeme notlarından bahsetmiyoruz.
Yuji Tomita

Ah, ve şirketimiz biraz bir aile gibi: her şeyi kendimiz yapmayı ve insanların işleri üstlenmesini istiyoruz. Bir çaylakın iş akışını benimkine nasıl yapılandıracağımı merak ediyordum.
Yuji Tomita

0

@louisgab kod inceleme konusunda haklıydı. Bu benim de ilk adımım olurdu. Size yardımcı olacak kritik bir şey, kod incelemesinde veya daha sonra bulursanız, kendi hatalarını düzeltmeleri gerektiğinden emin olmaktır. Onlar, onları düzeltmek zorunda olmadıkça hata yaptıklarının farkında bile değiller. MA Ayrıca kullandıkları çözümün neden bir hata olduğunu ve önerdiğiniz şeyin neden daha iyi olduğunu açıkladığınızdan emin olun. İlk birkaç hafta, bu diğer insanlara sahip olmanız nedeniyle daha fazla işiniz varmış gibi hissedeceksiniz, ancak kodunuzu gözden geçirir ve açıklar ve öğrenmelerini beklerseniz, birkaç hafta içinde, sadece hepsini kendin yap. Ancak, yönetiminizin bilmesi gereken hıza ulaşmaları için zamanınızın kararlı bir taahhüdü vardır.

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.