Üniversite düzeyinde ve kurumsal programlama arasındaki fark nedir? [kapalı]


28

Lisans derecemi henüz BT alanında tamamladım. Kodlamaya büyük ilgi duyuyorum ve gerçekten de profesyonel olmak istiyorum. Şimdi, üniversite dersleri dışında, kendi başıma programlama (C #) öğreniyorum (üniversite düzeyinde programlama çok basit). Şimdi profesyonel programcıya yakın olmak için biraz daha zamana ihtiyacım olduğunu hissediyorum. Ancak bazı yaşlılarım, kurumsal dünya programcılığının kitapçık programlamasından çok farklı olduğunu, dolayısıyla zaman kaybetmenin bir anlamı olmadığını söylüyor. (Programcılar kendileri değillerdir, muhtemelen duydukları bu olabilir).

C # seviyesine ulaşarak fayda sağlar mıyım? ya da vasat seviye görüşmeleri kırmak için yeterliyse, yüksek seviyeler firmalar için önemli değil çünkü eğitim dünyasına güveniyorlar, sadece iş dünyasında işlerin nasıl yürüdüğünü ve daha fazla öğrenmenin bana çok faydası olmayacağını öğretiyorlar? Lütfen yardımcı olabilecek bazı profesyonel programcılar varsa, söz veriyorum, programlama ile ilgilenen her öğrencinin benim aşamada sormak istediği bir şey olduğuna söz veriyorum. “Programlama alanında gerçekten öğrenciden profesyonele nasıl geçersiniz?” - Siz mükemmel olana kadar öğrenmeye devam edin ya da bir firmaya katıldığınızda, temel konular ele alındığında şart mı?


24
Okul size bir iş bulmak için gereken becerileri vermek konusunda asla olmamıştı. İş bulmak için sana gerekli araçları vermekle ilgili . Gerçek dünya deneyiminin yerini hiçbir şey tutamaz, ama yine de okula ihtiyacın var.
Robert Harvey,

5
Başlığın yararlı bir soru sunduğunu düşünüyorum, ancak sorunun içeriği bu sitede konu dışı olan kariyer tavsiyesi istiyor.
Bryan Oakley

Sen bulabilirsiniz sohbet tür soru sormak için yararlı bir yer olmasını Programmers.SE (beyaz tahta) için kanalı - insanlar iş dünyasında gelen becerilerin geniş bir yelpazede çoğu zaman vardır.


3
Beklemede??? Bu kariyer tavsiyesi istemiyor. Evet bu soru tartışma hakkında çok az fakat cevaplanabilir. Bu sorunun çok güzel cevapları var, stackexchange'in hafızası tükenmediği sürece bu sorunun kaldırılması gerekmez. Kabul edilen cevaplara bakınız. Kariyer tavsiyesi veriyor mu?
vish213

Yanıtlar:


32

Okulda ve gerçek dünyada programlama arasında birçok fark var. Kurumsal programlama diye bir şey olduğundan emin değilim .

Nerede çalıştığınıza bağlı olarak, çok büyük farklılıklar olacaktır. Eldeki görevlere bağlı olarak büyük farklılıklar da olacaktır.

Ancak hala bazı ortak sorunlar var.

  • gerçek dünya kodu yaşam döngüsü üniversite ödevlerinden çok farklıdır. Gerçek dünya programlamasında genellikle mevcut bazı kod tabanları üzerinde çalışıyorsunuz. En büyük sorunlardan biri, müşterilerinizin (gerçek iş yerinize ve durumunuza bağlı olarak iç müşteriler veya dış müşteriler olabilirler) kullandıkları kodla uyumluluğun kırılmasını önlemektir. Yazdığınız kod da muhtemelen yıllar sonra kullanılacaktır (bu, bir web sitesi veya bazı cihazlara gömülü kod için aynı değildir). Bunun için hazırlanmak istiyorsanız, her kod için birim test ve fonksiyonel test yazma alışkanlığı edinin. Bu her zaman gerçek dünya koduyla yapılmaz, ancak yaşamınızı hem üniversitede hem de kurumsal dünyada daha kolay hale getirmelidir.

  • tasarım / gereksinimler, gerçek dünyada kolejli bir atmosferden çok daha zordur. Profesyonel kod yazarken, birisinin kodun amacını tanımlaması gerekir ve size yalnızca oyuncak problemleri veya iyi bilinen problemler verilmez. Er ya da geç, tasarımı yapan siz olacağınız çok olası! Müşteriler genellikle ne istediklerini bilmezler (ve ne istediklerini bilseler bile, ihtiyaç duydukları şey olmayabilir) ve yöneticiler genellikle büyük resmi tarif eder ve programcılara birçok ayrıntı ve seçenek sunar. İzlenen yöntemlere bağlı olarak ("çevik" -vs- "V döngüsü", vb.), Seçimler ve ayrıntılı sorun tanımı er ya da geç ortaya çıkabilir, ancak en azından açık fikirli olmalısınız ve gerçekten ne yaptığınızı merak etmelisiniz. gerekli. Devam eden görevin kodlaması çok zorsa veya verimsizse, gereksinimleri değiştirmeyi de düşünebilirsiniz. Müşteri ya da menajerin fikrinizi anlamadığı ya da sizinle aynı fikirde olmadıkları için zaten işe yaramaz ya da aşırı karmaşık bir şeyler yazabilirsiniz. Yine de, her zaman gereksinimleri sorgulamanız gerekir (hayatta kalma becerisidir). Ayrıca, bir görevin ortasında gereksinimlerin değişebileceğini ve bunun için hazır olmanız gerektiğini unutmayın.

  • Üniversitede bir ödev alırken, genellikle bazı kodlar yazmanız gerekir. Gerçek dünyada, genellikle bunun yerine mevcut kodu kullanıp kullanamayacağınızı kontrol ederek başlarsınız: projenin bölümlerini yeniden kullanın veya değiştirin, kitaplıklar kullanın veya satın alın, vb. veya değil (bakım sorunları, performans sorunları, telif hakkı sorunları veya hatta fiyatlandırma sorunları olabilir), ancak mevcut kodu tekrar kullanma seçeneği genellikle göz önünde bulundurulmalıdır.

Açıkçası ekip çalışması, proje ölçeği, vb. İle ilgili başka birçok konu var. Fakat yukarıdaki hususlar kurumsal ortamlarda görülmesi muhtemel olan ancak kolej ödevlerinde göz önünde bulundurmanız gerekmeyen konulardır.


Kurumsal Programlama ile şirketlerdeki programlama ortamını kastettim. Güzel cevap btw :-)
vish213

3
İyi cevap @kriss. Müşterinin dilinde "program" dilinde değil, konuşmayı öğrenmenin önemli olduğunu eklerdim. Bu hem müşterinize hem de size yardımcı olacaktır.
Paddy Landau,

38

Kurumsal programlama ve kolej programlama arasındaki temel fark ölçek. Okulda asla bir kişinin bir dönem içinde başlayamayacağı ve bitiremeyeceği bir ödev alamazsınız. Bir profesyonel olarak, "bitmiş" olmadan yıllarca süren yazılım üzerinde onlarca başka programcı ile çalışabilirsiniz.

Mikro düzeyde iş o kadar da farklı değil. Sonuçta, eğer çok farklı olsaydı, bir üniversite diploması şirketler için hiçbir değeri olmazdı. Ancak 12 kurabiye pişirme ile 12.000 kurabiye pişirme arasındaki fark gibi. Eskiden gerçekten iyi, ikincisinden tamamen habersiz olabilirsin.

Okulda çoğunlukla doğru bir program yapmakla ilgileniyorsunuz . İş yerinde yazılımınızın doğru olması yeterli değildir. Sürdürülebilir, test edilebilir, verimli olmalı ve aynı anda birden fazla kişi tarafından çalışılabilmelidir. Bu, okulların öğretmeye çalıştığı bir şeydir, ancak bunu yapmak dışında tamamen öğrenemezsiniz.


Tecrübelerime göre, "şirket kodunun" çoğunluğu sürdürülebilir, test edilebilir ve verimli olmak için çabalamıyor, ancak sorunu kısa sürede elinizde çözmek için yeterince iyi. Pek çok durumda, kod "doğru" değil, sadece "yeterince doğru" dur.
Simon

26

Bu soru geçersiz bir varsayıma dayanmaktadır:

“Programlama alanında gerçekten öğrenciden profesyonele nasıl geçersiniz?”

Bunu yapmak için para alarak profesyonel olursunuz. Sen asla bir öğrenci olmayı bırak. Yaparsan, kariyerin biter.

Dünyaya git ve bir iş bul. Öğrenme coşkunuz bir varlıktır.


4
Bunların hepsi iyi bir tavsiye, ancak soruyu gerçekten cevaplamıyor, değil mi?
Bryan Oakley

6
Profesyonel bir programcının öğrenmeyi asla bırakmadığını kabul ediyorum - ancak ücret almamak sizi profesyonel yapar. Korkunç korkunç kodlar yazmak için para alan birçok amatörle tanıştım. Profesyonel, işi doğru yapmakla - ve doğru işi yapmakla - kod çalmak için para almamakla ilgilidir.
Bevan

@Bevan Aynı zamanda bir "programcı" ile "geliştirici" arasındaki farkın olduğu da söylenebilir. Nerede durduğumdan emin değilim.
Izkata

3
@Bevan: "Profesyonel" kelimesi gerçekten belirsizdir; Vikisözlük girişinde listelenen duyular arasında hem "Bir mesleğin (genellikle yüksek) standartlarına göre" veya bunlarla ilgili) veya "Özellikle geçim kaynağı olarak para için yapılır" ifadesi yer almaktadır. Otomatik olarak ödenmek, birincisi hakkında hiçbir şey söylemese de, sizi ikinci anlamda profesyonel bir programcı yapar.
ruakh

12

Kısa cevap, evet - iş dünyası birçok üniversite ortamından oldukça farklı.

Bu, şirketler bunu biliyor dedi. Üniversite mezunlarının neredeyse işe yaramaz olmasını bekliyoruz. Programlamak için kendi öğrenmeye zaman harcadıysanız, bu harika. Başvurmak için harika olmanıza gerek yok, ama vasat kalmanın bunu kesmeyeceğini anlayın.

İş dünyasında ihtiyacınız olan şeyleri kendi başınıza öğrenemezsiniz. Kendi başınıza öğrenmeye devam ederken en kısa zamanda başvurunuz.


4

C # seviyesine ulaşarak fayda sağlar mıyım?

Hayır. Öğrencilerin, onları ayıklarken birkaç ay boyunca işe yaramaz olmalarını bekliyoruz. Talimatları öğrenmek ve uygulamak için hevesiniz en iyi varlıklardır. Üniversite mezunları ile görüşürken, grubu rahatsız eden bir hotshot'a uymayan bir takım oyuncusu istiyorum.

... yüksek seviyeler firmalar için önemli değil çünkü eğitim dünyasına güveniyorlar, çünkü sadece iş dünyasında işlerin nasıl yürüdüğünü ve daha fazla öğrenmenin bana çok faydası olmaz mı?

Bu her şirket için farklı ancak genel olarak daha büyük şirketler daha yapılandırılmış bir eğitime sahip olacaklar. Bu sizin ilk büyük kararınız, resmi eğitimden ve yüksek derecede bir yapıdan hoşlanıyor musunuz? Eğer öyleyse, bunu sağlayan işleri arayın.

Programlama alanında gerçekten öğrenciden profesyonele nasıl geçersiniz?

Bir öğrenciden bir meslek sahibi olarak meslek sahibi olarak değişiyorsunuz. Yaşlılara okulunuz aracılığıyla bir şirketle işbirliği yapmalarını öneririm. Ayaklarınızı ıslatmanın ve yeni bir mesleğin endişesini aşmanın en iyi yolu budur.

Mükemmel olana kadar öğrenmeye devam edin ya da temel konular ele alındıktan sonra bir firmaya katılmak zorunlu mu?

Bir iş bul, beklemeyin. Gergin olmak yaygındır, ancak yetenekleriniz konusunda dürüst olun ve daha fazla bilgi edinmek için hevesini saklamayın. Özellikle kariyerinizin başlarında, şirketleri birkaç kez değiştirmek çok yaygındır.

Derecenizi bitirdiğiniz için tebrikler ve profesyonel programlamaya giderken iyi şanslar.


1

Kolej seviyesinde programlama ile kurumsal düzeyde programlama arasındaki temel fark, kurumsal düzeyde programlamanın sınıf ortamında karşılaşacağınızdan çok daha fazla işbirlikçi bir süreç olduğunu ve vurgulamanın pedagojik öğrenmeden ziyade ürün geliştirmeye çok daha fazla olduğunu söyleyebilirim.


1

Kurumsal dünya programcılığının ileri düzeyde bir programlama kültürü olmasını bekliyorsanız, hayal kırıklığına uğrayacağınızı düşünüyorum. İş dünyasında programlama, yazdığınız kodun sorumluluğunu üstlenebilme ve bakımını yapma konusunda daha fazladır.

Ama sorunuza

Programlama alanında gerçekten öğrenciden profesyonele nasıl geçersiniz?

Bunun kurumsal ve kolej düzeyinde programlama ile ilgisi yoktur, fakat genel olarak programlamadır. Gerçekten kendi yazılımınızı oluşturmaya başlamak istiyorsanız, açık kaynak kodlu yazılım projelerinde oluşturmak ya da çalışmaya başlamak istediğiniz bir şey. Karşılaştığınız soruları sorun. Ve diğer insanların kodlarını okuyun.


1

Karl'ın ölçekle ilgili cevabı çok açık. 15 sayı dizisini sıralayamazsınız, milyonlarca hesap sayısının veri kümesini sıralamanız gerekir.

Bir veri yapıları ve algoritmalar sınıfı muhtemelen size sıralamak için bir düzine farklı yol söyleyecektir. Gerçek bir uygulamada, fıkra ile bir sıraya girmeniz ve veritabanının onu optimize etmesine izin vermeniz muhtemeldir.

İş dünyasına hazırlanmak için geldiğimde önerebileceğim iki yol var: a) Düşük ücretli veya ücretsiz bir staj yaptırmak bile başkalarının çalışmasını izlemenize izin verecektir. b) Etrafınızdaki tüm uygulama mağazalarında, Apple / Google / MS mağazalarına bir uygulama yazıp yayınlamayı deneyebilirsiniz. Bu, iş akışlarını daha iyi anlamanıza, testin değerini, doğru ortamı ve araçları kurma gereksinimini ve daha fazlasını anlamanıza yardımcı olacaktır.


1
Sadece eklemek istediğiniz app mağazaya ekleyerek küçük ölçekli bir proje için gönüllü çalışmayı deneyebilirsiniz. İlk görevim, annemin iş yerinin tatil ve fazla mesai raporları
bulmasına yardımcı olmaktı

0

Kurumsal programlamada iyi yapmak için ihtiyacınız olan temel şey sabır ve teknolojiyi anlamayan kullanıcılarla iletişim kurabilmek. Ünite testi, versiyon kontrolü, dikkatlice hata ayıklama ve doğru izleme / kayıt kullandığınızdan emin olun. Dilleri değişebilir, fakat sakin kalmak ve dikkatlice bakmak, her zaman işe yarayacak.


-1

Sağlanan mükemmel cevabın yanında “kurumsal programlama” aynı zamanda net olmayan ya da değişmeyen şartlarla da ilgilidir.

Profesörünüz, ödevinizi vermeden iki gün önce programlama ödevinizin gerekliliklerini değiştirirse ne yapardınız?

Sanayide bu oldukça yaygı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.