Bir bilgisayar bilimi derecesi neden profesyonel bir programcı için önemlidir? [kapalı]


63

Bilgisayar bilimi diplomam var. Kapıları açmak, bir iş bulmak için mükemmeldi. C # .NET programlamanın profesyonel alanında bana yardım ettiği kadarıyla (bölgedeki en popüler platform ve dil, birleşik devletler olmasa bile dünyadaki en popüler işletim sistemi ellerinde olsa bile işe yaramaz). Neden profesyonel kariyerinizde bir programcı olarak size yardımcı olduğunu düşünüyorsunuz (dışarıdan bazı görüşmecileri etkilemek için ilkeler algoritmasını kullanmak dışında)?

Günümüz dünya adaptasyonunda, hızlı bir zihin, güçlü iletişim, OO ve temel tasarım becerileri, geliştiricinin bir müşterinin kabul edeceği bir yazılım yazmasını sağlar. Bu beceriler sadece cs programında gözden kaçırılır. Aklımda, Wrox tarafından 500 sayfalık bir C # kitap okumak, 4 yıldan beri compci matematik matematik dersi kurslarından çok daha kullanışlı bir beceri seti sunuyor. Birçoğu aynı fikirde değil. Peki, bir bilgisayar bilimi derecesi neden önemlidir?


59
"Bilgisayar bilimi astronomi ile teleskoptan ziyade bilgisayarlar hakkında değil." - Edsger Dijkstra
Eric Lippert

4
Ezberleme yeterli değil. Reg Ex'in nasıl kullanılacağını bilmek ve ne zaman kullanılacağını bilmek deneyim gerektirir. Eğitimin bir parçası olarak kitap okumayı da dahil ederim. İşle ilgili deneyim, nadiren işleri doğru şekilde yapmaya teşvik eder.
Zachary Scott

10
Hiç sahip olmadığın zaman önemli
Aditya P

2
Ben de 2.8 vardı, oldukça ortalama. Ama daha çok C / Java ve bazı web şeyleri, No C # şeyleri öğrenildi. Her neyse, CS'nin "sonraki en iyi şey" olduğunu düşünüyorum, çünkü CS 4 yıllık programlar tamamen kolay değildir ve dereceyi almak için çok çalışabileceğinizi gösterir. Neden bu kadar önemli? sana iş alır!

1
@ luis.espinal Ben bu istatistikleri sorguluyorum. Tüm kodların% 70’inin C’de olduğundan şüpheliyim (sessizce bütün Fortran, COBOL, PL1 ve Rexx’in mutlu bir şekilde geçtiklerini düşünün). Çokluk, kesinlikle, ama büyük bir çoğunluk, şüpheliyim. Çok sayıda gömülü aygıt var, ancak gömülü aygıtların sayısı orijinal kaynak hakkında hiçbir şey söylemiyor. İlk özel cihaza yazıldığında, aynı olan tüm sonraki cihazlar için genellikle iyidir; ve muhtemelen, daha sonraki bir revizyonun aynı satırında veya aynı ürün ailesinden farklı bir satırda olsun, yakın türevler için bir sürü yeniden kullanılır.
JustinC

Yanıtlar:


133

Neden bir bilgisayar bilimi derecesi ?:

  • Bir HashTable'da binlerce öğe depolayan ve daha sonra yalnızca değerleri yineleyen bir geliştiriciyle çalıştım. Bir karmaşadan asla erişemedi. Açıkçası bir HashTable'ın nasıl çalıştığını veya neden kullanacağınızı bilmiyordu - bir CS derecesi bu konuda yardımcı olabilir.
  • Düzenli ifadelerle çalışırken, temel otomata teorisi ve biçimsel dillere maruz kalan insanlar için neler olup bittiğini düşünmek ve ifadelerini gidermek daha kolay görünür - bir CS derecesi bu konuda yardımcı olabilir.
  • Okuldan yeni gelen bir geliştirici, derhal çeşitli paradigma zihniyetindeki (OO, fonksiyonel, mantıksal) sorunları çözebilir ve yeni bir derece geliştirmeyen geliştiricinin de aynı şeyi yapmadan önce deneyime ihtiyacı olabilir.
  • Okullar hesaplamalı karmaşıklığı öğretiyor. Derecesi olmayan geliştiriciler neyin en iyisi olduğunu hissedebilir ancak resmi bir anlayış bazen bir meslektaşınıza sonuçları açıklarken bazen iyidir.
  • Derecesi, makinenin birçok modeline giriş sunar - donanım, işletim sistemi, ortak veri yapıları, ağ iletişimi, VM'ler. Zihninizin arkasındaki bu modellerle, bir şeyler ters gittiğinde bir sorunun yaşandığı bir kamburluk geliştirmek daha kolaydır. Yine, derece geliştirmeyen geliştiriciler aynı modelleri oluşturuyor ancak zaman alıyor.
  • Herhangi bir disiplinde uzman rehberliği, öğrencinin çıkmazları ve kaçırılan konuları engellemesine yardımcı olabilir. Okuma harika ama harika bir öğretmenin yerine geçemez.

Bu, CS derecesinin mükemmel bir geliştirici olmak için gerekli olduğunu söylemek değildir. Zorlukla. Çalıştığım en iyi geliştiricilerin hiçbirinin derecesi yok. Derecesi size çalışan bir başlangıç ​​verir. Mezun olduğunuzda, pek çok problemi çözmek için çeşitli dillerde ve ortamlarda makul miktarda kod yazmışsınızdır. Bu, uzman olmanız için gereken 10.000 saate kadar yolunuzu göstermenizi sağlar .

İkinci bir fayda, işverenlere uzun vadeli bir hedefte bulunup başarılı olabileceğinizi göstermesidir. Birçok şirkette, öğrendiğinizden daha önemli olduğuna inanıyorum.


4
+1 - Bu mantıklı. Uzman rehberliği muhtemelen tanımadığım şekillerde bana yardımcı oldu. Her iki geliştiricinin de öğrenmeye eşit derecede motive olduklarını varsayarsak, 4 yıllık genel eğitimin 4 yıllık endüstri deneyimini geride bıraktığını merak ediyorum. Dereceden önce sahip olmadığım, kesinlikle bir şey için önemli olan bir disiplin seviyesi var.
P.Brian.Mackey

4
Uygun terminolojiyi öğrenmek ve aynı malzemeyi öğrenen diğer insanlarla çok fazla zaman geçirmek aynı zamanda bu pahalı kağıt parçası ile birlikte gelen faydalardır.
sal

65
Öte yandan, bu listenin çoğunda hala başarısız olan derecesi olan insanlar gördüm :)
Joel Gauvreau

1
Gee onlar da grafik teorisi duymuş olabilir. Bu, uygulamaların istemcilere ve sunuculara, ağlara, DAG'lara ve ağaçlara bölünmesini biraz daha kolaylaştırabilir.
Tim Williscroft

3
@JustinC - Sizin "derece sahiplerinin onları herhangi bir nedenden dolayı savunmaya meyilli olmaları" iddiası, soruyu sormamın temel nedenlerinden biri. Bu kör irrasyonel savunmayı ilk elden gördüm. Bunun tersi de geçerlidir.
P.Brian.Mackey

87

40 yıl içinde, .NET ve C # 'nın eski işletim sistemlerinde oluşan eski bir kod yığınından başka bir şey olmamasını bekliyorum.

Ancak, temel bilgisayar bilimi kavramları, Shannon, von Neumann, Knuth, Dijkstra, Hoare ve diğerleri, onları 40 yıldan daha uzun bir süre önce, resmi mantık ve matematiğin temellerinden çıkardıklarında olduğu gibi canlı olacak.


28
+1 - çok doğru, ama 40 yıl içinde umurumda değil.
P.Brian.Mackey

3
@ P.Brian.Mackey: Tahmin ediyorum ki 10 yıl sonra C # dışarı çıkacak ve 20'de daha fazla hafıza olacak ve bundan 30 yıl sonra gri saçlı eski kod arkeologlarına ihtiyaç duyacak . Belli bir dizi araca kendilerini bağlayan insanlar kendilerini gizlemektedir. 1970'lerin sonlarından ve 1980'lerin başlarından itibaren sistem yazılımındaki eski makaleleri okumak için iyi bir servete sahip oldum. Bu yazılım sistemlerinden çok azı bugünün radarında. Belki 1 veya 2 (Unix ve Lisp). Bugünün kurulum üssü daha büyük olmasına rağmen, benzer bir şeyin olmasını bekliyorum.
Paul Nathan

4
@ P.Brian.Mackey Ne yapacağınızı söyleyin, ancak konuyla ilgili bir fikrim varsa yine de 40 yıl ve bundan 80 yıl sonra tekmelemeyi planlıyorum.
Matthew Scharley

2
@ Paul Nathan: Amacınızı daha da ileri götürmek için, 1930'lardan itibaren programlamanın temel dayanaklarından bazıları (örneğin, en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis ). Acaba bundan nasıl 80 yıl sonra kod yazacağımızı mı merak ediyorum :)
phooji

3
@phooji (yük "legacy-c-sharp-rutinleri" ...): P
Mark C

37

Her gün okulda okuduğum bütün CS'leri (*) iş yerimde kullanıyorum. Dil tasarımı, arama motoru optimizasyonu, kant analizi veya benzeri herhangi bir alanda programlama yapmak istiyorsanız , ilgili bir derece olmadan yapabileceğinizi varsayalım , ancak iş hakkında öğrenmeniz gereken çok şey var gibi görünüyor. Çalışma alanım göz önüne alındığında özellikle fazla eğitimli değilim; Çalışma arkadaşlarımın çoğunun bilgisayar bilimi alanında doktora yapmış ve birkaçı CS profesörü olmuştur.

Derecemi almak benim için çok değerliydi; hem dolar hem de memnuniyet olarak defalarca kendisine para ödedi.

Bu, amacını tamamen anladım dedi. Bilgisayar programlayan çoğu insan CS derecesi gerektirmeyen işlere sahiptir; Örneğin, pratik programlamanın yanı sıra mevcut endüstri trendlerine ayak uydurabilen sağlam bir topluluk-kolej düzeyinde bir altyapıya ihtiyaçları var. Ve bu iyi. Başarılı bir akvaryum mağazasını işletmek için deniz biyolojisi derecesine ihtiyacınız yok ve bence akvaryum mağazaları harika. Ama eğer Woods Hole bir iş bulmak çok zor hepsi sen nasıl yapılacağını biliyorum akvaryum balığı yetiştirmek olduğunu.


(*) Uygulamalı Matematik ve Bilgisayar Bilimleri alanında Waterloo'dan B.Math var.


4
CS profesörlerimden birinin, yalnızca% 2'sinizin bilgisayar bilimi ilkeleriyle düzenli olarak başa çıkabileceğiniz bir iş bulacağınız konusunda bir şeyler söylediğini hatırlıyorum .
kırmızı kir

15
@el kaynaştırıcı: Gerçekten; Şimdi, belki de bu tartışmaya cevap veren ilginç bir soru , yüksek öğrenimin sadece belirli bir iş için eğitim alması mı? Öyle olduğuna inanmıyorum. Üniversiteler meslek okulu değildir; işlevleri araştırma yoluyla bilgi oluşturmak ve öğrencileri bu bilgi dünyasına maruz bırakmaktır. Bunun öğrencilere iş becerileri kazandırması bana bir amaçtan çok, yan bir etki olarak gözüküyor. Waterloo'da açıkça teorik olarak pratik yapılacağımız söylenmişti.
Eric Lippert

1
Üniversite ortamında, genel olarak ve programdan bağımsız olarak, orijinal araştırmanın oluşturulması, lisans programı adı verilen eğitim süresinin ötesinde olmadan nadiren gerçekleşir. Araştırmalar bundan önce gerçekleşir, ancak genellikle yüksek lisans veya doktora programında olanlar için gerçekten yeni materyallerin incelenmesi. Başka bir deyişle, genellikle keşfedilmekten uzağa yönlendirilirsiniz, ancak zaten bilinenleri güçlendirmeye yönlendirilirsiniz. Lisansüstü araştırma, herhangi bir özel bilgi birikiminin büyümesinden çok araştırma süreci hakkındadır. Özel araştırmaların farklı bir amacı var.
JustinC

1
Artık en iyi işlerin bir derece gerektirmediği gün, üniversitelerin artık programlarını destekleyecek öğrenci sahibi olmadıkları gündür.
P.Brian.Mackey

Anders ne sıklıkta kullanır;)
Matthew Whited

22

Bu önemlidir çünkü teknoloji statik kalmaz. Bilgisayar bilimi tüm dijital teknolojilerin temelidir. Kendi kendini eğiten programcıların çoğu, tek bir teknoloji döngüsünü sürdürüyor, çünkü büyük bir paradigma değişimini sürdürmek için gerekli temelden yoksunlar. Elbette, kuralın istisnaları var, ancak bilgisayar bilimindeki güçlü bir temel, büyük bir paradigma değişimini sürdürme ihtimalini büyük ölçüde artırıyor.


4
Coders At Work'i okuyana kadar bir bit bükücünün ne olduğunu bilmiyordum . Sanırım bir iki paradigma kaymasından kurtuldun ve deneyimden bahsediyorsun. :)
Dave Neeley

3
Katılmıyorum. Temel kavramları çevrimiçi olarak öğreten kaynaklara erişmek kolaydır (ve bunları kendi başınıza bulma becerisini kazanmak için faydalıdır). Örneğin, academearth.org/subjects/computer-science , başlamak için iyi bir yerdir. Yeni mimari kalıplarla ilgili ayrıntılı bilgiler, çalışma için ücretsiz olarak mevcuttur, bkz. Chromium.org/developers/design-documents/… . Genellikle, çevrimiçi olarak ücretsiz olarak kullanılabilen malzemeler, yerel bir kolejden beklediğinizden çok daha iyi ve günceldir.
Evan Plaice

13
Bence tam olarak geriye doğru aldın. Bir programcı asla öğrenme yapılmaz. Kendi kendini öğreten programcılar , resmi düzenlemeye, dışarıdan uygulanan son başvuru tarihlerine vb. İhtiyaç duymadan bilgi edinme yeteneklerini ortaya koymuşlardır ; ki bu, pazardaki değişikliklerden kurtulmak için tam olarak ihtiyaç duyulan şeydir.
Mud

2
(devam) Yazılım paradigması kayması hakkında konuşuyorsanız ... Hangi paradigma kayması? OOP tam olarak yeni değil, ne de işlevsel programlama. Veritabanları çok uzun zamandır kullanılıyor. Kayan nokta sayıları 1985'ten bu yana standardize edilmiştir (IEEE 754). Gördüğüm tek büyük değişim, dağıtım işlem sistemlerine geçiş (büyük ölçüde rakipleri büyüten ağa bağlı sistemler ve birçok çekirdek donanım platformundan yararlanan programlar) ve standart bir uluslararası karakter setine (UTF-8) geçiş; Her ikisi de gerçekten compsci kapsamında değildir.
Evan Plaice

2
@ Çamur ve Evan: Sanırım yazımın "Tabi, kurallar dışında, istisnalar" bölümünü kaçırdın. İkinizin de genç ve serbest kaldığını varsayıyorum. Bu dinamik yaşlandıkça değişecek. Bu alanda otuz yılı aşkın bir süredir bulundum. Bir aile yetiştirme stresinin resme girmesinden ve kişinin kendi yaklaşımları üzerine temeli öğrenmek için gereken zamanın sıfıra inmesi gerektiğinden sonra birçok kendini öğreten programcının alev aldığını izledim.
İkiniz

14

Ne yapmak istediğine bağlı. Amacınız genel olarak işletme yazılımını programlamaksa, işletme sorunu ve pratik karmaşıklık yönetimi konularının zor kısım olduğu yerlerde, o zaman evet, bir CS derecesi pek yardımcı olmaz. Bununla birlikte, amacınız ana zorluğun teknik sonunda olduğu şeyleri programlamaksa, CS derecesi daha faydalı olacaktır. (Her ne kadar bir CS derecem olmasa da, bunu söylemek için büyük bir ikiyüzlü gibi hissediyorum, bu yüzden "ya da CS derslerinde kendi kendine öğretmenlik" eklemekten çekinmeyin.)

Karmaşıklık yönetimi, büyük programlarda programlama ve ortak iş sorunlarını çözme konusunda harika olan birçok programcı var, ancak onlardan bir bellek ayırıcısı veya paralellik kütüphanesi yazmalarını istemeniz durumunda kesinlikle kaybedilir. koleksiyon kütüphanesi, bir işletim sistemi veya bir derleyici vb. Bunun tam tersi de olduğundan eminim. İkisinin de yeri vardır ve saygıyı hak eder, ancak bir CS derecesi teknik açıdan çok daha fazla yardımcı olur.


Neden? CS, problemin niteliği ne olursa olsun, karmaşık problemleri çözme ile ilgilidir. Hiç bir şey programlamıyor olsanız bile CS yararlı olmalıdır - bu unutulmuş ancak yine de temel sibernetiklerin soyundan gelir.
SK-mantık

12

CS derecesinin, bir kişinin iyi bir yazılım geliştirici olduğunu kesin bir göstergesi olduğunu sanmıyorum. Aslında, kariyerime bir matematik derecesi olan bir programcı olarak başladım, ancak güçlü bir CS yanlılığıyla (matematik ve CS çalışma programıma dahil edildi). Bence, bunun neden önemli olduğunu gösteren iki sebep var.

1 - Çünkü Mühendisler İşe Alım için Ön Uç Değil

İnsan Kaynakları insanlardır. Ve birçok insanın gözlerini yuvarladığını hayal ederken, "Tanrıya şükür!" Diyorum. Hangisi daha önemli - mühendislere bir şeyler yapmalarını (veya bir şeyler kırmalarını) ya da 1000'den fazla özgeçmişe ayırmalarını ve 1000'den fazla röportaj yapmalarını sağlamanız mı?

Bu nedenle, mühendisler tarafından izlenebilecek kilit bir gruba ulaşana kadar İK ve İK çalışanları adayları taramaktadır. İnsan kaynakları, zaman içinde CS derecesine sahip olmanın, adayın yazılım geliştirme hakkında bir şeyler bildiğinin oldukça güçlü bir gösterge olduğunu öğrendi. Umarım 20 yıl boyunca yazılım yazmanın, adayın yazılım yazabileceğinin iyi bir göstergesi olduğunu da biliyorlar.

2 - Çünkü CS hakkında bir şeyler öğrenmek için bir sisteme sahip olmak hiç yoktan iyidir

CS bilmesi gereken çok büyük bir alandır. Ve her zaman değişiyor. Bugünlerde, lisansımdaki kurs çalışmalarının% 75'inin kariyerimle alakasız olduğunu söyleyebilirim. Üstatımın 5 yıl önceki dersleri de hızlıca değer kaybetti. Ancak başladığımda, bana bilgisayar organizasyonu, ağlar, iyi yazılım mühendisliği süreci, nesne yönelimli tasarım, derleyiciler ve şu anda pazarlanabilir büyük bir programlama dilinin sözdizimi / anlambilimi hakkında bir şeyler öğretmek için büyük bir kuruma para verdiğim için memnun oldum.

Kitap / web sitesi / tur projesi açıkça belli olmadığı zaman, bana bir şeyler açıklamak için birisinin bana bir şeyler açıkladığı bir ortamda olduğu için mutlu oldum.

Bilgisayar sağlığının ve SDE'nin benim sorunum olmadığı bir laboratuara girebildiğim için mutluydum - çözmek için gereken tüm araçları düzeltmek yerine, az çok kilitlenip sorunun küçük bir kısmına odaklanabildim. sorun.

Kurslar açıkça iyi bir iletişim öğretmediyse de, gerçekten öğrenmenin tek yolunun CS dereceleri sunan birçok önde gelen kurumun önemli bir parçası olan ekipler halinde çalışarak olduğunu düşünüyorum.

Ve bana ne öğretildiğimi gerçekten anlamadım mı, anlayamadığımı bildiren sık sık geri bildirimli (yani notlar ve sınavlar) bir program.

Bu şeyler zihnimde birleşerek konuyla ilgili herhangi bir kitaptan daha değerli olmakla birlikte, kesinlikle hepsi hepsi değil. Kesinlikle, yüksek öğrenim kurumlarının geliştiğini görmenin sakıncası olmayan şeyler var ve mezun olduktan yaklaşık 10 yıl sonra, başlangıçta aldığınız derecenin o zamandan beri yaptığınız işlerden daha az önemli olduğunu düşünüyorum.


12

Benim için neden, bazı zorlu kurslar geçirdiklerini ve vazgeçmediklerini biliyorum. Derleyiciler, Veri Yapıları, Kesikli Matematik (ve diğerleri) gibi kurslardan bazıları CS programlarından birçok insanı yıkama eğilimindeydi. CS derecesine sahip olmak demek, çok çalışmak ve eğlenmek için dışarı çıkmak yerine uzun süre çalışıp, ücret ödeyerek (uzun geceler işe yarayan programlar çalışır) anlamına gelir.


+1 - lol, bununla fazla tartışamam. Rağmen, ayrık matematik sevdim. Yoda'da çok fazla gösterim yapan harika bir profesör vardı.
P.Brian.Mackey

10

Bana göre bu bir zihniyet meselesidir .

Zihniyetiniz verilen bir probleme nasıl yaklaşacağınızı tanımlar ve kavramlarda eğitim almayanlardan daha geniş bir fırsatları değerlendirmenize olanak tanır.

Tipik bir örnek, "Seyahat Eden Satıcı" problemidir. 1) genel versiyon için NP tamamlandı, yani tüm olasılıkları denemelisiniz, fakat 2) problem hakkında daha fazla şey biliyorsanız, yaklaşık olarak belirli bir sınırlama veya AC'nin her zaman AB + BC'den daha uzun olduğunu bildiğinizi (mesafeler için geçerlidir ancak fiyatlar için geçerli değildir) bildiğinizden daha kısa sürede çözmenize olanak sağlar.

Başka bir örnek, sayısal yanlışlığı en aza indirmek için hesaplamalarınıza matematiksel olarak düz yoldan farklı bir şekilde yaklaşmanız gerektiğini bilmeniz gereken Numeric Analysis. Bu, teorik bilgiyi alır ve açıkça onun tarafından ısırılmadıkça yoldan gelme ihtimaliniz yoktur.


9

Gerçekten mi? Vay.

Yani bana C # ve OOP becerilerinin yeterli olduğunu ve rastgele sıralama için kendi algoritmanızı geliştirebileceğini ve NP yaşamındaki gerçek problemlerle nasıl başa çıkılacağının ince nüanslarını deşifre edebileceğinizi mi söylüyorsunuz?

C # ve OOP iyidir, ancak önemsiz olmayan mantık tasarımı olan herhangi bir şey yapmaya çalışıyorsanız, bilgisayar bilimlerinin temellerini yerine getirmelisiniz.

Dostum, eğer veri yapıları veya algoritmaları becerileriniz işarete kadar değilse hangi C # kabını kullanacağınızı bile bilemezsiniz.

Şimdi büyüyelim.


23
Sakin ol kaplan.
whatsisname 17:11

23
“rastgele sıralama için kendi algoritmanızı geliştirin ve NP'in gerçek yaşamdaki tüm problemlerle nasıl başa çıkılacağının ince nüanslarını deşifre edin” ya da günlük hayatımın ne kadarının gerçek hayattaki işlerinin bu aktivitelerden oluştuğunu yeterince vurgulayamıyorum .... / sarcasm
quentin-starin

4
Demek istediğim, birlikte çalıştığım ve birlikte çalıştığım kişilerin% 95'inin 0 zamana yakın algoritmalar geliştirmek için harcadıkları. Zamanımın çoğunu kodu daha kısa ve okunması kolay hale getirerek geçiriyorum. "Daha ince nüanslar" için çok az zaman harcanır. Aslında, en azından bir beyaz tahta üzerinde bir iş akışını düzenleyerek biraz zaman geçirmeyi ilginç buldum ... sadece kendim için yaptığım bir şey. NP ile iş arkadaşlarınızla düzenli olarak görüşüyor musunuz? İşlevsel programlama dilleri yerine özel türler yazmak istediğinizde hangi iş kolundasınız?
P.Brian.Mackey

3
@ P.Brian.Mackey: Yazılım geliştirme bir yukarı veya dışarı meslektir. Kuruluşunuz için 50 yaşın üzerinde olan kaç yazılım geliştiricisi çalışıyor? Bir yazılım geliştiricisi yaşlandıkça, CS derecesi bir iş sahibi olmakla işsiz olmak arasındaki fark anlamına gelebilir. Halen bilgisayar bilimi alanında lisans ve yüksek lisans dereceleri alırken, bu alandaki ilk eğitimimi yetmişli yılların sonlarında Donanma ve DoD teknik okullarından aldım. Askerlikten ayrıldıktan sonra CS derecesini tamamlama zahmetinde bulunmadığım erkeklerin hepsi artık sahada değil.
bit-twiddler 17:11

7
Neden herkes, CS kavramları hakkında herhangi bir bilgiye sahip olmak için resmi bir üniversite CS müfredatının gerekli olduğu varsayımını kör bir şekilde kabul ediyor gibi görünüyor? Belki de tümdengelimli akıl yürütmelerinin başarısızlığıdır. Sanırım daha fazla CS kursuna ihtiyaçları var.
quentin-starin

6

Dereceye gerçekten fazla dahil olmadığınızı farz ediyorum, o zaman, ihtiyaç duyduğunuz ve çıkanları aldım ya da CS ana dallarına "programcı" değil "kodlayıcı" olarak görünen bir okula gittiniz. Ayrıca, en iyi / en sevdiğim "CS" derslerimden bazıları - en azından Üniversitemde - Elektrik Mühendisliği bölümü altında olanlar. Çeşitli mimarilere ve tarzlara maruz kalmam çok önemli oldu ve derecem de bunu "kontrollü" bir ortamda kolaylaştırdı.

Sadece algoritmalar ve şirin havlar olmayan sınıflar:

  • Derleyiciler
  • İşletim sistemleri
  • VHDL / Gömülü Sistemler
  • Montaj ve Mikro Kontrolörler
  • Yazılım Mühendisliği

Ve nihayet benden mahvolmuş bir sınıf sadece algoritmalar ve veri yapılarıydı - Yapay Zeka. Üniversite sisteminden geçen şeyler öğrenme sürecinde büyük ölçüde hızlanacak şeyler var ve daha sonra iş aramada neyin değerli olduğunu öğrenmiş olacağım.


"Kodlayıcı" ve "programcı" tanımınız nedir? Bana göre, bunlar aynı olabilir ve "bilgisayar bilimcisinin" aksine.
Mark

Kodlayıcı sadece kodu yazar, mutlaka daha iyi kod yapmak için geçerli olan farklı tasarım paradigmaları veya düşünce süreçleri hakkında düşünmez. Programcılar aslında yazdıkları kod hakkında düşünür ve aşağıdan yukarıya doğru kod ilk bakış açısı yerine yukarıdan aşağıya bir bakış açısıyla yaklaşır.
Jeff Langemeier

"Kod maymunu" ve "programcı" tanımınız nedir? Programcı, paranın kodun yapamayacağı sorunu çözme yollarını düşünebilir ...
Coyote21

Tutku bir derece tarafından verilmez. Sadece senin kim olduğunun bir parçası.
P.Brian.Mackey

@ P.Brian Bazen böyle olur, tutkunuz bir dereceye kadar ödüllendirilir ve söz konusu dereceye ulaşıldığında daha fazla teşvik edilir.
Jeff Langemeier

4

Benim düşüncem, "Computer-Sciency" pozisyonları için başvuruda bulunmadığınız sürece, bilgisayar becerilerine odaklanma anlamına gelen herhangi bir derecenin hemen hemen eşdeğer olduğu.

Aslında, tanıdığım programcıların çoğu tamamen farklı bir disiplinde derece aldı. Bildiğim en iyi programcılar İnşaat Mühendisliği, Dilbilim, Ekonomi ve Finans derecelerine sahiptir.

Sonunda, biraz tecrübe sahibi olduktan sonra, derecenizin bir işveren için başarılı bir başarısızlık sınavı haline gelmesi. Yani, onu etkileyici bir okuldan veya yüksek lisans derecesinden almadıysanız, ana dalınızın ne olduğu hiç önemli değil.


En iyi programcılardan biri yalnızca Excel / VBA ve R'de çalışan bir ekonomist. Excel'de inanılmaz işler yaptı.
sal

@ sal Excel ve R'de bir şeyler yazmak CS derecesi gerektirmez. Excel veya R yazmak en muhtemeldir.
Alnitak

@alnitak - Excel veya R yazmak da CS derecesi gerektirmez. Bu benim cevabımın ve
sal'larımın bir nevi meselesi

@ JohnFX: Latin Amerika’nın Amerika’nın en iyi yirmi CS programından birinden onur derecesiyle mezun oldum. Bu alanda kayıtlı bir bilgisayar operatörü ve liseden hemen sonra programcı olarak başladım. İlk bilgisayar sistemimi ve yazılım geliştirme eğitimimi ABD Donanması ve Ulusal Güvenlik Ajansı'ndan aldım; bu nedenle birkaç yıl boyunca BSCS olmadan sahada çalıştım. Söyleyebileceğim tek şey, tam anlamıyla BSCS'imi tamamladığımda ayrılan göklerin gibiydi.
bit twiddler

@ bit-twiddler - bu cevabımı desteklemek ya da çürütmek anlamına mı geliyor? Mezuniyet sonrası veya büyük bir isim okulu dereceniz varsa, bunun benim son iddiamı desteklediği görülüyor.
JohnFx

4

benim için ve meslektaşlarımın çoğu için yapmadık (hiçbirimizin CS dereceleri yoktu)


3

Peki ya sonra

Aşağıdaki konuları geçtiyseniz:

Bilgisayar Mimarisi ve Organizasyonu

Yazılım Mühendisliği

c.DBMS

Temel Elektronik

e. Temel Dijital Elektronik Devre

f.Microprocessor

C. Compiler Tasarım

Yukarıdakilerin sadece formalite için olduğunu düşünüyor musunuz .. Yukarıdaki hususların "iyi programlayıcı" yı "harika bir programcı" yaptığını unutmayın.

Elektrik ve elektronik konularının önemini okumak için bunu okuyun


3

Bilgisayar bilimi diplomam var. Kapıları açmak, bir iş bulmak için mükemmeldi. C # .NET programlamanın profesyonel alanında bana yardım ettiği kadarıyla (bölgedeki en popüler platform ve dil, birleşik devletler olmasa bile dünyadaki en popüler işletim sistemi ellerinde olsa bile işe yaramaz ).

% 70 kod + C (üst düzey uygulamalardan daha fazla gömülü aygıt olduğundan) yazılmıştır. Zar veya TIOBE endeksi gibi popüler iş aramalarına göre Java, işletme için en popüler programlama dilidir (Windows sunucularından daha fazla Unix / Linux arka uç sunucusu olduğu için). Daha fazla akıllı telefon ve tablet vardır (bilgisayar platformu). Gelecek) C # veya .NET dışında bir program üzerinde programlanmış olan Windows veya Linux işletim sisteminden bazı versiyonları çalıştırmak.

Yönlendiricinize evde bakın, cep telefonunuza bakın, arabanızın içindeki bilgisayara bakın, evdeki mikrodalgaya bakın, evinizin A / C sisteminin içindeki kontrolörlere, telefonunuzun içine ve iş faks ve yazıcınıza / tarayıcı. Bilgisayarlı cihazların sayısına bakın (hangi Windows sistemlerinden daha fazla.)

Sence C # ile programlanmışlar mı?

.NET veya C # 'nin dünyanın en popüler platformları olduğuna gerçekten inanıyorsanız, CS okuluna geri dönüp para iadesi isteyebilirsiniz.

Neden profesyonel kariyerinizde bir programcı olarak size yardımcı olduğunu düşünüyorsunuz (dışarıdan bazı görüşmecileri etkilemek için ilkeler algoritmasını kullanmak dışında)?

Belki de programlama hakkında basit gelişim dinamik web sayfaları ve kurumsal uygulamalar yapmaktan daha fazlası olduğu için? Bunun için bir lisans derecesine bile ihtiyacınız yok, bir AA yeterlidir - Biliyorum çünkü programlama kariyerime AA dereceli bir şekilde başladım ve yavaşça ama kesinlikle bir CS'ye doğru çalıştım ve daha sonra tam zamanlı bir geliştirici olarak çalışırken yüksekokulda çalıştım. .

Gömülü geliştirme var, aygıt sürücüsü geliştirme var, işletim sistemleri geliştirme var, algoritma geliştirme, sinyaller, iletişim, ağ protokolleri, veritabanı motoru geliştirme, dosya sistemi geliştirme, dağıtılmış hesaplama, derleyiciler var. Araştırma değil, kar amacı gütmeyen kuruluşlarda gerçek iş. Doğal olarak yetenekli olanı engellemekle, tipik olarak, bir CS derecesi olmadan bu endüstriyel alanların hiçbirinde kesemezsiniz (bazen bir BS derecesinde bile değil).

CS derecesi alan ve buna önem veren bir kişi bunu biliyor. Neden gelmiyorsun

Günümüz dünya adaptasyonunda, hızlı bir zihin, güçlü iletişim, OO ve temel tasarım becerileri, geliştiricinin bir müşterinin kabul edeceği bir yazılım yazmasını sağlar.

OO, CS nedeniyle ortaya çıktı. Ve OO yaptığını düşünenlerin çoğu iyi bir iş bile yapamıyor. Sadece dışarıya bakın ve yazılımın berbat durumuna bakın (özellikle Java ve .NET'te, PHP'den bahsetmeyin) ve analitik becerileri, ancak genellikle yardımcı olur. OTH, temel bir CS geçmişine sahip olmamak, OO ve analitik beceriler söz konusu olduğunda genellikle bir kırmızı bayraktır. Bu iddiayı destekleyecek sektörde yeterli ampirik kanıtımız var.

Bu beceriler sadece cs programında gözden kaçırılır.

CS programına bağlı olarak ve öğrenciye bağlı olarak. En azından benim için tasarım, OO analizi, ticari araçlar ve uygulamalar üzerine birçok iyi kurs gördüm, yerel firmalarla ve stajlarla, kurumsal destekli projeler ve araştırmalarla, teknik yazıyla ortak kurslar düzenledik. Maalesef, bu ifadeyi ilişkilendiremiyorum veya anlayamıyorum.

Aklımda, Wrox tarafından 500 sayfalık bir C # kitap okumak, 4 yıldan beri compci matematik matematik dersi kurslarından çok daha kullanışlı bir beceri seti sunuyor.

Yine yaptığınız işe bağlı olarak. Kuruluşta bile, CS'leri bir şeyleri düzeltmek veya geliştirmek için kullandım. Bunların hepsi modelleme, mimari, dağıtık hesaplama, güvenlik ve yüksek performans, yüksek kullanılabilirlik ve hata toleransıdır. Bunları CS’de öğrendim.

Bağlama özgü , teknolojiye özgü bir beceri seti edinmek için bir Wrox kitabı kullanmanın yanlış bir tarafı yoktur . Ben kendim yapıyorum. Ancak CS arka planım üzerinde çalışmam gereken içeriği veriyor. CS geçmişim olmadan, yapabileceğim tek şey programlamak, kodlamaktı (kariyerimin başında sadece AA derecesine sahip olduğumda yapabildiğim tek şeydi).

Birçoğu aynı fikirde değil.

Şaşırtıcı, değil.

Peki, bir bilgisayar bilimi derecesi neden önemlidir?

Sence google, hadoop, cassandra veya yüksek performanslı veritabanı motorları ile kim geliyor? Sence Windows işletim sistemi çekirdeğini kim yazıyor? C # gelişiminizi yapmak için kullandığınız sevgili araçları kimler programlıyor?

Emin olduğum bir şey C # geliştirme yapmak için kullandığınız araçların ardında bir CS adamı olması.

CS derecesine ihtiyacınız olup olmadığı, yaptığınız işin türüne, yapmak istediğiniz işin türüne, yapabildiğiniz işin türüne bağlıdır.

İşletme ve web geliştirme alanında CS derecesi gerektirmeyen çok fazla çalışma var. Bunu kabul ediyorum. Ayrıca, programlama dünyasının sadece iki alandan çok daha geniş olduğunu biliyorum; birçok alan (çoğu aslında) bir CS derecesi veya daha fazlasını gerektiriyor.

CS derecen var, nasıl bilmediğini bir gizem.


TIOBE, bir programlama dilinin ne kadar kullanıldığını belirlemek için çok önemlidir. Belirli bir dilin internette ne kadar popüler olduğunu (referans sayısı bakımından) yazılı kod satırları açısından değil bir ölçüsüdür.
Billy ONeal

Dile özgü değişkenlikleri nedeniyle, LOC programlama dilleri arasında ilgisizdir ve bu nedenle endüstrilerde programlama dili kullanımını ölçmek için kullanılamaz. Ve internetteki dil aramalarının popülaritesi, eğer kaçınılmaz önyargının farkındaysanız, kullanımın derinliği ve ilgisinin (veya eksikliğinin) kısmi bir vekil gibi davranır . Tek başına, ** TIOBE endeksi hiçbir şey ifade etmiyor - sadece bir aptal başka türlü düşünebilirdi; ve sadece bir aptal belirttiğimin bu olduğunu düşünürdü .
luis.espinal

Diğer göstergelere (iş aramaları ve ürün tipi geliştirme gibi) ek olarak alındığında, teknoloji kullanımındaki eğilimlerin tahmin edilmesine yardımcı olur. Başka bir deyişle, ne için kullandığınıza, nasıl kullandığınıza ve diğer göstergeler ile bir araya geldiği zamana bağlı olarak yararlı veya yararsızdır.
luis.espinal

Demek istediğim, bu dizini , bir programlama dilinin kullanımı hakkında bir açıklama yapmak için kullanıyor gibi görünüyorsunuz . LoC yazılı derken yanlış konuştum - ama ne demek istediğimi "yazılı kod miktarı" demenin iyi bir yolu yok. TIOBE bir popülerlik yarışmasıdır ve bu yarışta Java, tanıtma programlarının linqua franca'sı olduğu sürece herkesi uçuracak . (Bunun nedeni, bu öğrencilerin başka hiçbir şey bilmediği anlamına gelmez; ancak öğrencilerin genellikle profesyonellerden daha yüksek sesle oldukları içindir. (Yani, gerçekten sizin)
Billy ONeal, 21:11

1

CS derslerimde zaman zaman oldukça faydalı olan ve hatırladığım bazı temel şeyler var. Şelale süreci ve adımları, kariyerimde defalarca kullandığım bir şey oldu, Çevik için bir miktar değişimle birlikte, basamaklar kadar sert değil ama aynı basamaklar var.

Problem çözme becerileri ve çeşitli algoritmik sezgiler de zaman zaman yardımcı olabilir. CS derecesinin dolaylı faydaları için söylenecek bir şey var. Örneğin, bir şeyin neden doğru olduğunu göstermek için bir cevabın nasıl doğrulanacağını öğrenmek, üniversitede geliştirdiğim birkaç yeteneğimden sadece biri ancak bunun program sonunda bunun bir faydası olacağından ne kadar açık olacağından emin değilim.


1

Thorbjørn Ravn Andersen ile ilgili görüşlere katılıyorum. İyi bir CS müfredatıyla geliştirdiğiniz ana şey budur.

Temelde veri yapıları ve algoritmalar gibi şeyleri anlamaya gelir. Bunu kendi başınıza öğrenemezsiniz, ancak iyi bir CS müfredatı daha iyi pozlama sağlayacaktır.


Bilgisayar organizasyonu ve bilgisayar mimarisi gibi sadece CS ve bilgisayar mühendisliği ana dallarının öğrenmeye meyilli olduğu başka konular da var. Bilgisayarların sıralı ve birleşik mantıktan nasıl oluşturulacağını öğrenmek, birini daha iyi bir yazılım geliştirici yapar çünkü bir bilgisayarın içinde gerçekten neler olup bittiğine dair bir fikir verir. Ayrıca, yeni bir işlemciyle çalışan ilk programcıların hiyerarşik bellek ve G / Ç, boru hatları, blok kümelenmiş ortak önbellekleri, kontrol üniteleri (mikro kodlanmış ve kablolu) ve skaler ve vektör işleme arasındaki fark gibi kavramları anlamaları gerekir.
bit twiddler

CS'nin üniversite eğitimi, yalnızca nasıl çalışması gerektiğini ve gerçekten nasıl çalıştığını bilen kalifiye bir danışmanla gerçekten ilgilendiği bir laboratuvarda olduğundan daha iyi pozlama sağlayacaktır.
JustinC

@bit Anlaşıldı. Evet, cevabım oldukça glib. Bir nedenden dolayı bu şekilde olması amaçlanmıştır.
George Marian,

@justin Ne söylemeye çalıştığından emin değilim. Nitelikli danışmanlarla yalnız kaç laboratuvarda çalışacak programcılar?
George Marian,

@JustinC: Laboratuvarda işlerin nasıl yürüdüğünü öğrenir (teknisyen seviyesi). Kişi, üst düzey bilgisayar organizasyonu ve mimarlık derslerinde (mühendis düzeyinde) işlerin neden işe yaradığını öğrenir. Bilgisayar mimarisi ve bilgisayar organizasyonu üzerine birkaç üst düzey üniversite ders kitabı satın alırsanız, ne demek istediğimi anlayacaksınız.
bit-twiddler

1

yazı

Kurumsal yazılım geliştirme, kod yazmak ve muktedir önemlidir yazma . Demek istediğim: e-posta yazmak, hata raporları, teknik belgeler vb. Yazmak ve kodlamak hem düşüncenin netliğini hem de uygun ifade ekonomisini gerektirir.

İki yazılım geliştiricisi arasında benim iddiam, sağlam bir üniversiteden CS derecesine sahip (güçlü bir CS programı ve beşeri bilimlerde zorunlu seçmeli dersler) ikisinin de becerisine sahip olmasıdır. (Doğru, bu bir garanti değil: beşeri bilimlerden insanlar harika kodlayıcılar ve üst raf yazarları olabilir; pek çok CS notu yazamayan kodlama makineleri vb.)

Okuma

Bir akıl hocam, geliştiricileri okudukları şeyle yargılayabileceğini iddia etti. Orijinal yazı WROX kitaplarından bahsediyor. Bana göre, CS derecesine sahip birisinin bu tür profesyonel BT kitaplarını araştırması ve bunları etkili bir şekilde kullanması daha muhtemeldir. Eğer biri CLR ile başa çıkabilirse , o zaman "Professional C #" ile ilgilenebilirsiniz.

Matematik

Matematik, mantık, ispat, titizlik vb. Geliştirir ve yan etkisi de yazma konusunda yardımcı olmasıdır. Çoğu işletme BT yoğun matematik becerileri gerektirmese de, CS derecesine sahip bir kişi gerektiğinde buna sahip olacaktır. Bu, yaşamayı, onsuz yaşamaktan ve okulda neyi özlediğinizi merak etmekten çok daha iyi bir yoldur.


1

Sanırım bu gerçekten yaşadığın CS programının kalitesine bağlı. Ne demek istediğinizi biliyorum, günlük olarak yazdığım kodların çoğu sadece standart VB.Net'tir, SQL Server'dan verileri alın, forma koyun, veritabanına geri kaydedin, bazı raporlar hazırlayın. Yıkayın, durulayın, tekrarlayın. (Bazen çok sıkıcı) Geçtiğim CS programı, teori ve temel bilgileri içermenin yanı sıra birçok pratik şey öğretti. Yazılım tasarımı, veritabanı tasarımı ve proje yönetimi gibi alanları ele aldık. Programlama dillerini öğrenmek kolay bir bölümdü, yazılım sistemleri oluşturmanın tasarım ve metodolojisi benim üniversite deneyimimden aldığım şeydi. Gerçek dünya problemine dayanan, hatta bazen kampüsteki diğer bölümler için yazılım sistemleri tasarlayan projeler verildi.

Programcılar olarak açıkça kendi başımıza öğrenme yeteneğine sahibiz, bu bizim alanımızdaki bir gerekliliktir. CS programına girdiğim için çok mutlu olduğumu söylemeliyim. Profesörlerim muhteşemdi ve bana biraz ders verdi. Sınıf arkadaşlarım çok eğlenceli insanlardı ve bilgisayar laboratuarında çok eğlenceli geceler geçirdik. Doğruyu söylemek gerekirse, o günleri özlüyorum ......


1

Her şey, açıkça yaşama kabiliyetinde.

Dereceyi atlarsanız, muhtemelen dersleri çok kişisel bir şekilde öğrenmeniz gerekecektir (zor yoldan). Derecenin olmaması, zorla öğrenme yolunu deneme yanılma yoluna sokacağınız anlamına gelmez; bununla birlikte, derece, başkalarının gece geç saatlerde kazandığı, sinirli programlama oturumları ve genellikle “zor yoldan yapması” gerektiği hakkında önceden edindiği bir hazine sandığına maruz kalmanızı garanti eder.

Gerçekten mükemmel olan kişi başkalarının doğru bulduğu şeyleri atmayacak, bunun yerine bilginin sınırlarını bilene kadar buna meydan okuyacak ve daha sonra yeni kazanılan fikirlerin "sistemi" ile kendi kararlarını verene kadar oynayacak. Önceden gelenlerin omuzlarında duruyor ve onları yeniden keşfetmeye gerek kalmadan geçen yılların çözümlerini yaşıyor.

Tabii ki, bilgisayar bilimi diplomasına sahip bir kişi her zaman daha iyi bir aday değildir. Akıntıya yönlendirilen eşsiz bireyler var ama (bazı garip sebeplerden dolayı) ondan içmeyi reddediyorlar.


0

Ben bir CS lisansını yeni bitirmiş olan 21 yaşındayım. Programlama konusunda harika olsanız da, eğer bir CS dereceniz varsa, zaten çeşitli alanlara maruz kalacağınızı hissediyorum. Yeni şeyler öğrenmek istiyorsanız , ilgisiz olsa bile araştırmaktan korkmazsınız . Bir teknoloji veya programlama dilinde uzmansanız, iyi. Ama maceracı olacağını ve diğer teknolojilere bakmaya istekli olacağını sanmıyorum. İşte bu şekilde kendinizi kirletirsiniz (ve hızlıca). Para kazanmanıza yardımcı olmayacağından, keşfettiğiniz şeyin alakasız olacağını düşünmeyeceksiniz. (CS UG'nizde zaten birçok alakasız şey çalıştınız;).
Mezun olduktan sonra sizi bir Yazılım Uzmanı yapan CS'deki tutku budur.
Kabul eden var mı?


1
CS derecesine sahip olmadıkları için birinin “diğer teknolojilere bakmak” ile ilgilenmeyeceği varsayımını yapamazsınız. Bu bir yanlışlık.
Steven Striga

0

Pekala, CS'ye girdiğimde, vay, sanırım gerçekten çok iyiyim ve burada hiçbir şey öğrenmeyeceğim ... 5 yıl sonra, sadece takım olarak çalışmayı öğrendim ve bazı şeyleri öğrendim. beni sadece kod yazabilen birinden ve kodlamadan önce ne yaptığını düşünebilen birinden ayıran mühendislikten, kısacası, metin editörüme veya ide'ye tek bir harf bile yazmadan önce düşünmeyi öğretti.


0

Açık kaynaklı bir dil kullanarak iş bulmak için bu çömelme anlamına gelmez. Çoğu şirket kalifikasyon yerine becerilere dayanarak işe alım yapar ve PHP gibi diller, CS eğitimi almış olmadan yetenekli olabilecekleri bir hobi ününe sahiptir. Birçok hobistin, sadece hafta sonları ile uğraşmak için bir lisans için binlerce kabuk çıkarmak istemeyeceği için .Net dillerini kullanarak .Net dillerini kullanarak iş bulmanızın tek faydası olur, bu nedenle C # ile ilk iş arayan birileri muhtemelen sadece 2-3 yıllık deneyim.

Elbette, ticari deneyim, kalite kodunu teslim tarihlerine teslim etme kabiliyetinizi gösterdiği için gerçekten değerlidir.

Sonuç olarak, açık kaynaklı olmayan dillerle çalışmak için röportajlar yapıyor.


0

Collegue ya da University'den bir derece, kendi başınıza başka şeyler öğrenmek zorunda olsanız bile, gerçek bir dünya işi için gerekli olan bazı temel şeyler üzerine CS okuduğunuz ve biraz bildiğiniz anlamına gelir.

Ayrıca, bir BT görevlisi bir Soft bulmak zorunda olduğunda. Dev., Ve 500 başvuran özgeçmişlerini gönderir ve özgeçmişinizden bir dereceye kadar, en az 50 kişiyle röportaj yapmak zorunda kalırlar, hem işe alan hem de işe alma şansınız olur.

(HHRR çalışmış bir Yazılım Geliştiriciden)


0

Muhtemelen bu pek işe yaramıyor, ama şimdi montaj ve öğrendiğim tüm bilgileri öğrendiğim için daha eksiksiz bir programcı hissediyorum ve bunun üniversiteye gideceğim zaman tekrar olacağından eminim. Demek istediğim, çoğunlukla C veya VB kullanıyorum, programlarımın yapılabilmesi için bekleme durumunun ne olduğunu bilmeme gerek yok, ama kodumun arkasında ne olup bittiğini bilmek yeterli! Bilgi, daha iyi, daha hızlı ve daha iyi korunabilir kod yazmanıza yardımcı olur. Bir bilgisayar bilimi derecesi bence harika kod yazmak için gereken bilgiyi tam olarak veriyor .


0

Günümüzde yazılım mühendisliği, matematik uygulanmayan deneysel bir bilimdir.

Bilgisayar bilimi dereceleri algoritmaları vurgular, günlük işlerin ne kadarı yeni algoritmalar ve veri yapıları yapmayı ve hatta kullanmayı içerir?

Ne kadar çerçeve katmanları ve sızan soyutlamalar ile uğraşmayı içerir? Bazı API'lerin gerçekte ne yaptığını (doktorların ima ettiği şey yerine) ne kadar belirlemeye çalışıyor? Test etmek ve test etmek için karar vermek ne kadar?

Bütün bunlar için, bir fizik veya kimya derecesi, Knuth'u ezberlemekten çok daha iyi bir eğitimdir.


0

Bu önemlidir, çünkü işe alım yapanlar ne yapmanız gerektiği hakkında tamamen ipucu olmadığına dair bir göstergeye sahiptir, ancak ne yaptığınızı veya teknik olarak uygun bir şekilde yaptığınızı gerçekten bildiğiniz anlamına gelmez.

Yaptıklarını seven ve gerçekten iyi programcılar olan derecelere sahip parlak insanlar var ve ayrıca gerçekten kötü programcılar olan ve hatta bazı temelleri bilmeyen derecelere sahip salaklar da var. Herhangi bir şey geliştirebilecek dereceye sahip olmayan mükemmel insanlar var (işletme yazılımı / derleyiciler / bir işletim sistemi) ve düzgün bir şekilde nasıl bir harmanlat kullanılacağını bilmeyen, derece olmayan aptallar var.


0

Kesinlikle doğru, bilgisayar bilimi derecesi çok önemli değil; bu yüzden tek seçeneğin yerine mühendislik diploması almak.

Farklı geçmişlere sahip adaylarla mülakat yaparken, herhangi bir dereceye sahip olmayan adaylar için öne çıkan özellik şudur: teknik iletişim becerilerinin eksikliği ve disiplin eksikliği. Bunlar, herhangi bir fen derecesi alırken öğrenilen temel özelliklerdir (bir mühendislik derecesi ile daha da fazlasını söyleyebilirim).

Çoğu şey eşit olduğunda (ve tek bir görüşme turu genellikle "eşit" adaylarla gelir), ilk önce mühendislik derecesine, ikinci bilgisayar bilimi derecesine ve üçüncü dereceye sahip olmayan kişiyi işe alırdım. Bununla birlikte, karşılaştırmada işleri eşitsiz hale getirmenin yolları vardır, bu yüzden herhangi biri soy ağacı derecesine sahip olanları bile yenebilir - ama bu ayrı bir soru değil mi?


-1

Bir programcı için çok fazla bir şey yok (belki de söylediğiniz gibi röportajlara kapı açmaktan başka).

Bir CS işi için (araştırma, algoritma analizi, biçimsel dil belirleme ve tasarım). Bunları matematiksel olmayan başka bir programda öğrenmeniz pek mümkün değil.

// Feragatname: Derecem BT'de, bu yüzden işimde gerçekleştirdiğim diğer tüm kurslar için geri dönmek zorunda kaldım.


-1

Bilgisayarla ilgili bir derecem var. İlk bilgisayar rolümü almama yardımcı olan, 3. yılın bir BT Yöneticisi olarak işe yerleştirilmiş olmasıydı. Eğitimde işe yerleştirme planları öneririm.

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.