Mesleğinizi programlayıcı olmayanlarla nasıl paylaşıyorsunuz?


43

Bazen canlı şov çalamayan bir müzisyen gibi hissediyorum. Programlama oldukça havalı bir yetenek ve çok geniş bir dünya, ancak birçoğu "kamera dışı" oluyor - kafanızda, ofisinizde, seyircilerden uzakta.

Elbette diğer programcılarla programlama hakkında konuşabilirsiniz ve meslektaş programlama var ve insanlara gösterebileceğiniz bir şey yaratabilirsiniz, ancak programcı olmayanlara ne yaptığınızı veya bunun nasıl olduğunu açıklamak söz konusu olduğunda işteki günün, biraz zor.

Yaşamınızdaki programcı olmayanları ne yaptığınızı anlamalarını nasıl sağlarsınız?

NOT: Bu, programcı olmayanların gelişim sürecini anlamalarını sağlamanın bir tekrarı değildir , çünkü bu soru müşteri beklentilerini yönetmekle ilgiliydi.


Mesleğin niteliği bu: Çabalarınız için çok az maddi ödül var çünkü ne yaptığınızı anlayan tek kişisiniz. Ancak bilgi, para çoğu için yeterince ödüllendiricidir.
Kimse


12
Güvenlik için bir şeyler yazmadığına sevin. Güvenlik, her şeyden daha az gösterilebilir. "Gördün mü, daha önce yaptığı gibi aynı şeyi yapıyor, ancak şimdi güvende ..."
Shawn D.

2
Birisi hangi kategoriye bu soru uyuyor, bana açıklayabilir programmers.stackexchange.com/faq
Noname

1
@Dave, hafıza bana doğru geliyorsa, site hala betadayken gönderilen soru kategorisine uyuyor. Kurallar o zamanlar tamamen cilalanmamıştı.
EpsilonVector

Yanıtlar:


31

Üç kelime:

dumb it down

Programlama karmaşıktır. Bunu anlamak çok iş gerektiriyor. Ve programlama sevinci daha da belirsizdir.

Başarılarımı ve diğerlerini (yani aileleri) iletmem için daha yaygın bir düzeyde iletişim kurmalıyım. Programlamayı normal gerçek dünyayla karşılaştırın.

(yani bir gösterge tablosuna ve koltuklara sahip bir arabanın nesnesi ve ...)

İzleyicileriniz hakkında bir şey biliyorsanız daha da iyidir, çünkü normal günlük konseptlerden daha karmaşık olduğunu anladıkları şeyleri kullanabilirsiniz.

Örneğin, karım bir okul öğretmeni idi, bu yüzden bazı yazılım geliştirme süreçlerimi kullanmak zorunda olduğu öğretim süreçleriyle karşılaştırabilirim. Çok yardımcı olur.

Ama sonunda basitleştirmek, basitleştirmek ve biraz daha basitleştirmek zorundasın. Ve o zaman bile, birisinin iyi hazırlanmış bir sınıfın iyi ünite testleriyle ne kadar havalı olduğunu anlaması zor. :)


25
+1 "Ve o zaman bile, birisinin iyi hazırlanmış bir sınıfın iyi bir ünite testi ile ne kadar havalı olduğunu anlaması zor." Bazı programcıların bunu anlamasını sağlamakta zorlanıyorum.
CaffGeek

3
Ezoterik kavramları açıklamak için kötü analojileri kullanmaya hayranım.
Malachi

49

Denemiyorum bile. En azından temel bir programlama anlayışına sahip olacak teknik yönelime sahip değilse, onları yalnızca ayrıntılarla sıkıştıracağım. Genellikle "web siteleri oluşturuyorum" veya "X yapmak için bilgisayar programları yazarım" gibi çok yüksek bir seviyeye gidiyorum.


13
+1 - Bu yöntemi her zaman kullanırım. Günümün nasıl geçtiğini gerçekten bilmelerini istiyorsam, onlara bazı terimler atacağım ve cam gibi bakışlarının gözlerinin üstlenmesini izleyeceğim. Sonra birisi konuyu değiştirir.
Joel Etherton

7
Bilgisayardan bahseder geçmez insanların konuyu değiştirme eğiliminde olduğunu buldum. Ya öyle ya da bilgisayarlarından şikayet etmeye ve tavsiye almaya başlıyorlar. Sanırım doktorlar da aynı problemi yaşıyor.
Brian Ortiz

3
@Bri doktorların çoğu hariç, yeni sistemler kurmak yerine sorunları çözüyorlar;)
Armand

2
Evet. En kolay cevap şu ki: "Bir şeyler yaratıyorum ... daha spesifik olarak, ... için yüksek kullanılabilirliğe sahip, gerçek zamanlı bir küme sistemi yaratıyorum" - ve işte
buradalar

Bu benim işim. Sonra 5 saniye sessizlik bekleyip, "Annnn ve bu konuşma katili yok oldu. Öyleyse ne iş yapıyorsun?" Diyorum.
pdr

12

Bunu problem çözme konusunda açıklamaya çalışıyorum. Ben sadece sorunu çözmek için bir bilgisayar programı kullanmayı seçtim. Bu şekilde ne yapmaya çalıştığınızı, çözmeye çalıştığınız sorun açısından tartışabilirsiniz. Bunu anladıktan sonra, bunu programlama yoluyla çözme atlaması çok uzak değildir ve genellikle teknik olmayan tipler tarafından yapılabilir.


12

Kardeşim Rob bana bunu sordu. (Çocuk kitapları, müze iç mekanları, benzeri şeyler gibi bir sanatçı ve illüstratör.)

Ona Harry Porter'ın Röle Bilgisayarını göstererek açıklamaya çalıştım , çünkü bilgisayarların özünü ve programlamayı içtenlikle hissettirdiğini düşünüyorum.

İstediği şey bu değildi ve ben de bir tür kopyalanmış gibiydim.

Ancak daha sonra asıl sorunun ne olduğunu anladım. Bu Oscar Wilde alıntı hatırlattı:

Gerçek şu ki, medeniyet köle gerektirir. Yunanlılar tam oradalardı. Çirkin, korkunç, ilginç olmayan iş, kültür ve tefekkür yapmak için köleler olmadığı sürece neredeyse imkansız hale gelir. İnsan köleliği yanlış, güvensiz ve moral bozucu. Mekanik köleliğe, makinenin köleliğine, dünyanın geleceğine bağlı.

Bir mühendis olarak beni heyecanlandıran şey, mekanik köleler inşa etmem. Çocukken dereye bir baraj koymak istedim ve bir su çarkının elektrik yapmasını istedim, böylece izledim , bu benim için bir şeyler yapabilirdi . Arabadaki motorda, bir eksantrik mili var. Aslında ilkel bir program. İstediğim zaman valfleri açar ve kapatır, böylece yapmak zorunda kalmam.

Bir sanatçının dünyası tamamen farklı. Gözleri kapalı, Beethoven'in 9. senfonisinin bir yorumunu dinlerseniz, taşınırsınız. Tüm dikkatinizi vermelisiniz ve bittiğinde, onu çok özlediniz. Frank LLoyd Wright'ın şaheser evi Falling Water'i ziyaret ederseniz, taşınırsınız. Dürüst olmak gerekirse, içinde birinin nasıl yaşayabileceğini bilmiyorum. Nerede karışıklık bulabilirsin? Seni tamamen yakalar. Mimari bir senfoni.

Sanat senin için bir şey yapmaz , sana bir şey yapar .

Yaptığım işte sanatı bulmaya çalıştım. İçinde güzellik var, bakarsanız bakın, ama bakmak zorundasınız. Bizi bu şekilde bağlardı.


3
Başlangıçta Harry Potter Röle Bilgisayarı olarak, sihrin elbette ne yaptığımızı tarif etmek için kullanıldığını okudum ;)
jk.

JAK: Bahse girerim yalnız başına öğrencileri sınıflarına
sokar

@jk. Çoğu zaman eserlerimizde kara büyü görmüyorum.
heishe

7

Bir hikaye anlatmak. Yaptıklarınıza odaklanmayın, bunu yaparken ne hissettiğinize, tutkulu olduğunuza veya bunlardan sıkıldığınıza, iş arkadaşlarınızla olan ilişkilere odaklanmayın.


1
İş arkadaşlarınızla ilişkilere odaklanmak için +1. Herkes bu tür şeylerle ilişki kurabilir. "Patronla öğle yemeğine çıktım ve" diyordu ... "," Günümün yarısını yarış koşullarını kaldırmaya çalışırken geçirdim "den çok daha tatlıydı
Andy Hunt

3

Bu amaç için iki go-analojileri şunlardır: bir tarif ve büyük bir bürokrasi. Bunu QA'da açıkladığım şey: 15 yaşındaki bir programcılığa açıklamak için 30 dakika

Programlamanın nasıl takip edildiğini somut ve tahmin edilebilir bir sonucu olan titiz bir talimatlar dizisi yazmakla ilgili olduğunu açıklamak için tarif analojisini defalarca kullandım.

Bürokrasi analojisini sadece birkaç kez kullandım, çünkü çoğu insanın tarif analojisinin ötesinde gerçekten anlamalarına gerek yok, ama her iki zaman da kişi için çok aydınlatıcıydı. Programlamanın, her kod satırının tamamen hatırlanması anlamına geldiğini düşünüyor gibiydiler (örneğin. "Ama ne kadar berbat bir hafızanız varsa, o zaman bir bilgisayarı nasıl programlayabilirsiniz?") Ama bu gerçekten birlikte çalışan birçok bağımsız modül oluşturma ile ilgilidir. daha büyük hedefi başarmak için. Bir programın modülleri, büyük bir şirketteki bölümler gibidir: çoğunlukla kendi parçalarıyla ilgilenen ve diğer bölümlerle notlar aracılığıyla iletişim kuran bağımsız birimler.


Birisi mekanik köleler inşa ettiklerini, bir başka müşteri sorunundan sonra, köleler olduğumuzu ve kendimizle birlikte yaşamamız için mekanik distopyalar inşa ettiğimizi söylüyor.
gbjbaanb

2

Kodun kendisi yerine kodun arkasındaki fikir açısından bir şeyi açıklarken en çok yanıt aldığımı düşünüyorum. Tüm teknik jargonu çıkardım, programlamayla ilgili terimlerden bahsetmekten kaçının ve sadece fikir ve gerçekte ne yapıldığı hakkında konuşuyorum .

Örneğin, son zamanlarda bir spam filtresinin nasıl çalıştığını açıklamaya çalıştım. Sadece spam’de bulunan ve spam’de bulunmayan kelimelerin kaydını tutar. Kayıt, bilinen spam ve spam olmayan postalar kullanılarak oluşturulmuştur. Ondan sonra, ne zaman yeni bir e-posta geldiğinde, sadece kelimelerin kaçının spam gibi göründüğünü (örneğin spam kelime kayıtlarımızda ortaya çıkıyor) ve kaçının spam olmadığını gösteriyor. Çok fazla spam kelime varsa, muhtemelen spamdir ve spam kutusuna gönderilir. Konuştuğum teknoloji dışı insanlar bu fikri çok iyi takip ediyorlardı.


1

metaforlar

Çoğu zaman, bunu bir program olarak tanımlamıyorum, benzer ilişkiler içinde tamamen farklı bir kavram olarak göstermeye çalışıyorum.

Programı görselleştirmeyi çok daha ilginç hale getiriyor ve bazen yeni bir ışık altında görmeme yardımcı oluyor.

Elektriği daha önce hiç çalışmamış birine elektrik akımı ve gerilim hakkında konuşarak tarif etmiyorsunuz, değil mi? Ayrıca, bazı kavramları ultra farkında bir bilgisayar işleminin onları sihirle sanki ortaya çıkardığını anlatmak eğlencelidir. Küçük bir hikaye hayal gücü, ne kadar soğuk ve rasyonel bilgisayarların gerçekte olduğu gerçeği olarak onlara zarar vermez.



1

Programlanmamış birçok kişi, programcıların sık sık avlanmak için çok fazla zaman harcadığına ve görsel olarak hatalı bir virgül için binlerce kod satırı aradığına inanıyor gibi görünmektedir. Bu yüzden ilk önce onlara durumun böyle olmadığına eminim ve olsaydı, tamamen umutsuz olurdum.

Bilgisayar programlamayı sıklıkla bir yemek kitabı yazmakla karşılaştırırım. Bir yemek kitabı, insanlar için bir talimatlar seti iken, bilgisayar programı bir bilgisayar için bir talimatlar setidir. Bazı programlar yemek kitaplarından çok daha karmaşıktır ve programlar daha sık değiştirilir, ancak yapıda bazı benzerlikler vardır. Bir yemek kitabı, bir sos hazırlamak için talimatların yedi kopyasını içeriyorsa ve tarifin değiştirilmesi gerekiyorsa, birinin bu kopyaları bulması ve hepsini düzeltmesi gerekir.


Bilgisayarı programlamayı kolaylaştırmak için programlayamadığınız acı verici bir dünya olurdu ("görsel olarak virgül için arama.").
compman

1

Bence iyi bir benzetme bir fabrika kuruyor. Çoğu insan, sonunda sonunda çıkan bitmiş bir ürünle birlikte, farklı konveyör bantlarında ve makinelerinde karıştırılan bazı öğelerin karıştığını gördüğünüz "Nasıl Yapıldı" gibi bir şey gördü. İnsanlara böyle şeyler inşa ettiğimi söylüyorum, ancak fiziksel öğeler üzerinde çalışan fiziksel fabrikalar yerine, sanal ve veriler üzerinde çalışıyorlar. Elbette bu, her türlü programlama için iyi bir analoji değildir, ancak karmaşıklık hakkında iyi bir fikir verir ve birçok uygulama türüne paralel olup olmadığını düşünüyorum.


0

İşini gerçekten paylaşamıyorsun, sadece işinle ilgili başlıkları başkalarıyla paylaş

Ancak, yapabileceğiniz şey, geminizi paylaşmak yerine, hayatınızı sizinle aynı gemide bulunan kişilerle paylaşmaktır (:


0

Genelde nasıl yapıldığı hakkında konuşmam, bunun yerine işin özellikleri hakkında konuşurum .

Genelde inanılmaz derecede karmaşık olduğunu vurguluyorum, o kadar karmaşık ki hiçbir kimsenin tam olarak ne olduğunu tam olarak anlamaya başlamayı ümit edemez. Muhtemelen 30 yıl boyunca birbiriyle etkileşime giren çeşitli parçaları (elektronik çerçeveler aracılığıyla) ve artı aktif kod satırı başına yaklaşık bir saat çalışmayı gerektirecek ve o zamana kadar donanımın o kadar değiştiği için çalışmaya geri dönmeniz gerekecekti. En son sürüm grokking başka bir 10 yıl.

Diğer önemli kısım, binlerce, belki de milyonlarca insanın hayatlarını zenginleştirmek için kullanabileceği, benzersiz (ya da en azından ayrıntılı olarak) ve çok şey öğrendiğiniz bir şeyi kullanabileceği kadar esnek bir şey yaratmanın ne kadar ödüllendirici olduğudur.

Hiç kimse bu noktada ağzımı çorapla doldurmazsa, ilgili karmaşıklığı ve esnekliği gösteren bir uygulama göstermekten mutluluk duyarım.


0

Onlara senfoni ve matematiksel tez ve roman yazmanın dışında, programlamanın bu karmaşıklık ve karmaşıklık düzeyindeki görevlerle / yapılarla uğraşmanın tek şansı olduğunu söylüyorum. Tabii ki, iyi bir web uygulamasının tarihi bir şaheser olduğunu söylememekle birlikte, insanlar aklınızı her gün bu seviyede kullandığınızı fark ettiklerinde, o zaman “anlarlar”. Birçok iş layık ve yüksek ücretli, ancak tekrar tekrar tekrar tekrarlanan oldukça basit, usule dayalı bir iş aşağı gelir.

En azından ben böyle bakıyorum. Yanlış olabilirim.


0

Diğer 15 cevaba farklı bir cevap olarak ...

İşimin ayrıntılarını açıklamak yerine (programlama), işin çözdüğü çözümlere, yani inşa ettiğim sistemler / yazılımların gerçekte kullanıcı için çözdüğü çözümlere odaklanmaya çalışıyorum. Derleyici veya başka bir şey yazmadığınız sürece bu genellikle programlama dışı bir etki alanıdır, bu durumda bunun neden yararlı olduğunu açıklamanız gerekir.

Bu şekilde, insanların karmaşık doğası ve “gerçek dünya” ile olan ilişkisini kavramalarını kolaylaştırır.

Bir benzetme olarak, bir ortaçağ demircisi olarak, muhtemelen (yerel meyhanede bulunan bayana) düşmanı parçalara ayırmak için kılıç yaptığımı açıklardım; onlar sorar). Umarım, bir düşmanı parçalara ayırmanın yararlı olduğunu (...) ve yapmakta zorlanabileceğini (çelik, zırhlı düşmanlar, dumanlı işyeri, vb.) Yapabileceğini ve böylece karmaşık bir görevi yerine getirdiğiniz için teşekkür edersiniz.

(Yani, örslerin dökülmesi derleyicileri oluşturmaya eşdeğer olur ve ne için kullanıldıklarını açıklamanız gerekir…)


0

Egzotik parçacıklar ve anti zamanlarla garip bir evrende yaşadıysak, bir ev inşa etmekle karşılaştırırım:

Gerçekten havalı bir ev için bir fikriniz var, bu yüzden neye benzeyeceği ile ilgili kaba bir taslak çiziyorsunuz ve nasıl devam edeceğine dair genel bir plana sahip oluyorsunuz. Hırdavatçıya gidip, duvarları inşa etmek için kereste satın alıyorsunuz, ancak düşmeye devam ediyorlar çünkü zemin düzensiz. Böylece temeli ayarlamak için çimento alıp alırsınız, ancak çimento kurur ve bunun nedenini çözemezsiniz. Hırdavatçıya geri dön ve nedenini sor, ama çalışan katatonikleşiyor. Kullandığınız çimentonun 1989 sonbaharında geliştirildiğini söyleyene kadar 8 farklı hırdavatçıya gidersiniz, ancak mülkünüzü 1989 kışında satın aldınız, bu yüzden uyumsuzlar ve size en son 2013.1.1 çimentolarını satıyor. Temel atmak için geri dönersiniz ve en kısa sürede çimento kaybolur. Bu kez tüm çalışanlar katatonik oluyor. Böylece evinizi google'da buluyorsunuz ve bir zamanlar nükleer test sitesi olduğunu görüyorsunuz. Daha sonra nükleer testlerin toprak üzerindeki etkilerini google'a çevirip serbest radikallere neden olduğunu görüyorsunuz. Bunu google'da tutup elektromanyetik radyasyon, sonra fermiyonlar, sonra bozon, yaylı tel teorisi ve bir kedi hakkında bir şeyler araştırmaya başlıyorsunuz. Vazgeçmek istemiyorsunuz çünkü çok zaman harcıyorsunuz, bu yüzden şişeye sert bir şekilde çarptınız. Eve geç geldin ve öfkeni karına çektin, evi inşa edemediğinin sebebi olduğunu iddia ediyorsun çünkü onunla çocuklar senin bütün zamanını alıyorlar. ve bir kedi hakkında bir şey. Vazgeçmek istemiyorsunuz çünkü çok zaman harcıyorsunuz, bu yüzden şişeye sert bir şekilde çarptınız. Eve geç geldin ve öfkeni karına çektin, evi inşa edemediğinin sebebi olduğunu iddia ediyorsun çünkü onunla çocuklar senin bütün zamanını alıyorlar. ve bir kedi hakkında bir şey. Vazgeçmek istemiyorsunuz çünkü çok zaman harcıyorsunuz, bu yüzden şişeye sert bir şekilde çarptınız. Eve geç geldin ve öfkeni karına çektin, evi inşa edemediğinin sebebi olduğunu iddia ediyorsun çünkü onunla çocuklar senin bütün zamanını alıyorlar.Neredeyse evi bitiriyor, neden ilk önce evi inşa etmek istediğini bile bilmiyor.


-1

Onlara yaptığım şeyin işlerini yapmak için neler yaptıklarına bakmak ve işlerini kolaylaştıracak bilgisayar yazılımı oluşturmak olduğunu söylüyorum.


veya işlerini değiştirin, oh noes !!!
jhocking

-2

Bazılarınızın söylediği gibi, onlara mantıklı gelen analojileri kullanın. Kodum google benzeri bir şey yaparsa veya finansal yararları gösteriyorsa veya bunun bir şekilde insanlara nasıl yardımcı olduğunu ...


-2

Bazen pes ediyorum ve sadece günümü metin dosyalarını düzenlemek için harcadığımı söylüyorum. Tüm hikaye değilse genellikle doğrudur.

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.