Mengapa gelar ilmu komputer penting bagi programmer profesional? [Tutup]


63

Saya memiliki gelar dalam ilmu komputer. Sangat bagus untuk membuka pintu, mendapatkan pekerjaan. Sejauh membantu saya di bidang profesional pemrograman C # .NET (platform dan bahasa paling populer di daerah saya bekerja jika tidak seluruh negara bersatu menggunakan OS paling populer di dunia) itu hampir tidak berguna. Mengapa Anda pikir itu membantu Anda sebagai programmer dalam karir profesional Anda (di luar menyemburkan algoritma prima untuk mengesankan beberapa pewawancara)?

Dalam adaptasi dunia saat ini, pikiran yang cepat, komunikasi yang kuat, OO dan keterampilan desain dasar memungkinkan pengembang untuk menulis perangkat lunak yang akan diterima pelanggan. Keterampilan ini hanya dibahas dalam program cs. Dalam pikiran saya, membaca buku C # 500 halaman oleh Wrox menawarkan keterampilan yang jauh lebih bisa digunakan daripada 4 tahun kursus blaster matematika comp sci. Banyak yang tidak setuju. Jadi, mengapa gelar ilmu komputer penting?


59
"Ilmu komputer tidak lebih tentang komputer daripada astronomi adalah tentang teleskop." - Edsger Dijkstra
Eric Lippert

4
Menghafal saja tidak cukup. Diperlukan pendidikan untuk mengetahui cara menggunakan Reg Ex dan pengalaman untuk mengetahui kapan menggunakannya. Saya akan memasukkan membaca buku sebagai bagian dari pendidikan. Pengalaman terkait pekerjaan jarang mendorong Anda untuk melakukan hal-hal dengan cara yang benar.
Zachary Scott

10
Itu penting ketika Anda tidak memilikinya
Aditya P

2
Saya punya 2,8 juga, Cukup rata-rata. Tapi kami sebagian besar diajari C / Java dan beberapa hal web, No C # stuff. Ngomong-ngomong, saya pikir CS adalah "hal terbaik berikutnya", karena program CS 4 tahun tidak sepenuhnya mudah dan ini menunjukkan Anda dapat bekerja keras untuk mendapatkan gelar. Kenapa itu penting? itu memberi Anda pekerjaan!

1
@ luis.espinal Saya mempertanyakan statistik itu. Saya ragu 70% dari semua kode dalam C (pikirkan semua diam Fortran, COBOL, PL1, dan Rexx berdetak dengan senang hati). Tentu saja pluralitas, tetapi sebagian besar, saya skeptis. Ada banyak perangkat tertanam, tetapi jumlah perangkat tertanam tidak mengatakan apa-apa tentang sumber asli. Setelah ditulis untuk perangkat khusus pertama, umumnya baik untuk semua perangkat berikutnya yang sama; dan mungkin, banyak digunakan kembali untuk turunan dekat, apakah di baris yang sama dari revisi nanti, atau di baris yang berbeda dari keluarga produk yang sama.
JustinC

Jawaban:


133

Mengapa gelar ilmu komputer ?:

  • Saya bekerja dengan pengembang yang menyimpan ribuan item di HashTable dan kemudian hanya mengulangi nilai-nilai itu. Dia tidak pernah mengakses melalui hash. Dia jelas tidak tahu bagaimana HashTable bekerja atau mengapa Anda akan menggunakannya - gelar CS mungkin bisa membantu.
  • Ketika bekerja dengan ekspresi reguler, tampaknya lebih mudah bagi orang-orang dengan paparan teori automata dasar dan bahasa formal untuk memikirkan tentang apa yang terjadi dan memecahkan masalah ekspresi mereka - gelar CS mungkin membantu dengan itu.
  • Pengembang yang baru lulus dari sekolah mungkin dapat menguraikan masalah dalam berbagai pola pikir paradigma (OO, fungsional, logis) dengan segera, sementara pengembang baru non-sarjana membutuhkan pengalaman sebelum mereka dapat melakukan hal yang sama.
  • Sekolah mengajarkan kompleksitas komputasi. Pengembang non-gelar mungkin merasakan yang terbaik tetapi pemahaman formal terkadang bagus, terutama ketika menjelaskan hasil kepada kolega.
  • Gelar menawarkan pengantar untuk banyak model mesin - perangkat keras, OS, struktur data umum, jaringan, VM. Dengan model-model ini di belakang pikiran Anda, lebih mudah untuk mengembangkan firasat di mana masalah hidup ketika ada masalah. Sekali lagi, pengembang non-gelar membangun model yang sama tetapi butuh waktu.
  • Bimbingan ahli melalui disiplin apa pun dapat membantu pelajar menghindari jalan buntu dan topik yang terlewatkan. Membaca itu bagus tapi itu bukan pengganti guru yang hebat.

Ini bukan untuk mengatakan bahwa gelar CS diperlukan untuk menjadi pengembang yang hebat. Hampir tidak. Beberapa pengembang terbaik yang pernah bekerja dengan saya tidak memiliki gelar. Gelar memberi Anda permulaan berlari. Pada saat Anda lulus, Anda (semoga) telah menulis sejumlah kode dalam berbagai bahasa dan lingkungan untuk menyelesaikan berbagai jenis masalah. Ini menempatkan Anda dalam perjalanan menuju 10.000 jam yang dibutuhkan untuk menjadi seorang ahli.

Manfaat kedua adalah menunjukkan kepada pengusaha bahwa Anda dapat berkomitmen untuk tujuan jangka panjang dan berhasil. Di banyak perusahaan, saya percaya itu lebih penting daripada apa yang Anda pelajari.


4
+1 - Ini masuk akal. Bimbingan ahli mungkin membantu saya dengan cara yang tidak saya kenal. Saya masih bertanya-tanya apakah 4 tahun pendidikan umum mengalahkan 4 tahun pengalaman industri, dengan asumsi kedua pengembang sama-sama termotivasi untuk belajar. Ada tingkat kedisiplinan tertentu yang saya rasa tidak saya miliki sebelum gelar, yang tentu saja berarti sesuatu.
P.Brian.Mackey

4
Mempelajari terminologi yang tepat dan menghabiskan banyak waktu dengan orang lain mempelajari materi yang sama juga merupakan manfaat yang sejalan dengan selembar kertas yang mahal itu.
sal

65
Di sisi lain, saya telah melihat orang-orang dengan gelar yang masih gagal di sebagian besar daftar ini :)
Joel Gauvreau

1
Wah mereka mungkin pernah mendengar teori graf juga. Itu mungkin membuat aplikasi partisi menjadi klien dan server, jaringan, DAG dan pohon sedikit lebih sederhana.
Tim Williscroft

3
@JustinC - Pernyataan Anda "pemegang gelar cenderung membela mereka karena alasan apa pun karena mereka memilikinya" adalah salah satu alasan mendasar saya mengajukan pertanyaan. Saya telah melihat pertahanan buta yang irasional ini secara langsung. Yang sebaliknya juga berlaku.
P.Brian.Mackey

87

Dalam 40 tahun, saya berharap .NET dan C # menjadi tidak lebih dari setumpuk kode warisan pada sistem operasi yang usang.

Tetapi konsep dasar ilmu komputer akan semeriah ketika Shannon, von Neumann, Knuth, Dijkstra, Hoare, dan yang lainnya menggali mereka dari dasar logika formal dan matematika ... lebih dari 40 tahun yang lalu.


28
+1 - sangat benar, tetapi dalam 40 tahun saya tidak akan peduli.
P.Brian.Mackey

3
@ P.Brian.Mackey: Saya kira dalam 10 tahun C # akan keluar, dan dalam 20, itu akan lebih dari memori, dan dalam 30 tahun dari sekarang, itu akan memerlukan arkeolog kode lama berambut abu-abu . Orang-orang yang mengikat diri mereka sendiri ke seperangkat alat yang diberikan melenyapkan diri. Saya beruntung bisa membaca tulisan lama tentang perangkat lunak sistem dari akhir 1970-an dan awal 1980-an. Dari sistem perangkat lunak itu, sangat sedikit yang ada di radar hari ini. Mungkin 1 atau 2 (Unix dan Lisp). Meskipun basis instalasi hari ini lebih besar, saya berharap hal serupa terjadi.
Paul Nathan

4
@ P.Brian.Mackey Katakan apa yang Anda mau, tapi saya berencana untuk tetap menendang dalam 40 tahun, dan 80 tahun dari sekarang juga jika saya memiliki hak suara dalam masalah ini.
Matthew Scharley

2
@ Paul Nathan: Untuk lebih lanjut, beberapa dasar dasar pemrograman berasal dari tahun 1930-an (misalnya, en.wikipedia.org/wiki/Church%E2%808093Turing_thesis ). Saya bertanya-tanya apakah / bagaimana kita akan menulis kode 80 tahun dari sekarang :)
phooji

3
@ phooji (memuat "legacy-c-sharp-routines" ...): P
Mark C

37

Saya menggunakan hampir semua CS yang saya pelajari di sekolah (*) setiap hari di pekerjaan saya. Jika Anda ingin bekerja dalam desain bahasa pemrograman, optimisasi mesin pencari, analisis kuant, atau bidang serupa lainnya, saya kira Anda bisa melakukannya tanpa gelar yang relevan, tetapi sepertinya banyak hal yang harus dipelajari di tempat kerja. Saya tidak terlalu berpendidikan karena pekerjaan saya; banyak kolega saya memiliki gelar PhD dalam ilmu komputer dan beberapa dari mereka telah menjadi profesor CS.

Mendapatkan gelar saya sangat berharga bagi saya; ia telah membayar untuk dirinya sendiri berkali-kali lipat baik dalam dolar maupun dalam kepuasan.

Yang mengatakan, saya benar-benar mengerti maksud Anda. Kebanyakan orang yang memprogram komputer memiliki pekerjaan yang tidak memerlukan gelar CS; mereka membutuhkan, katakanlah, latar belakang tingkat komunitas-perguruan tinggi yang solid dalam pemrograman praktis ditambah dengan mengikuti tren industri saat ini. Dan itu tidak masalah. Anda tidak perlu gelar dalam biologi kelautan untuk menjalankan toko akuarium yang sukses, dan saya pikir toko akuarium itu hebat. Tapi itu sangat sulit untuk mendapatkan pekerjaan di Woods Hole jika semua Anda tahu bagaimana melakukannya adalah menaikkan ikan mas.


(*) Saya memiliki gelar B.Math dalam Matematika Terapan dan Ilmu Komputer dari Waterloo.


4
Saya ingat salah satu profesor CS saya mengatakan sesuatu yang menyatakan bahwa hanya 2% dari Anda yang benar-benar akan mendapatkan pekerjaan di mana Anda bisa berurusan dengan prinsip-prinsip ilmu komputer secara teratur .
red-dirt

15
@el fuser: Memang; Sekarang, pertanyaan menarik yang mungkin cocok dengan diskusi ini adalah apakah tujuan pendidikan tinggi hanya untuk pelatihan untuk pekerjaan tertentu? Saya tidak percaya itu. Universitas bukan sekolah kejuruan; fungsi mereka adalah untuk menciptakan pengetahuan melalui penelitian dan mengekspos siswa ke dunia pengetahuan itu. Bagi saya ini mungkin memberikan keterampilan kerja kepada siswa tampaknya merupakan efek samping daripada tujuan. Di Waterloo, kami secara eksplisit diberitahu bahwa kami akan diajari teori, bukan praktik.
Eric Lippert

1
Penciptaan penelitian asli dalam pengaturan perguruan tinggi meskipun, secara umum dan terlepas dari program, jarang terjadi sebelum berada di luar periode pelatihan yang disebut program bujangan. Penelitian terjadi sebelum itu, tetapi umumnya studi tentang bahan yang benar-benar baru disediakan untuk mereka yang mengikuti program master atau doktoral. Dengan kata lain, Anda sering terhindar dari penemuan, tetapi ke arah penguatan dari apa yang sudah diketahui. Penelitian sarjana lebih tentang proses penelitian daripada pertumbuhan badan pengetahuan tertentu. Penelitian pribadi memiliki tujuan yang berbeda.
JustinC

1
Hari dimana pekerjaan terbaik tidak lagi membutuhkan gelar adalah hari universitas tidak lagi memiliki siswa untuk mendukung program mereka.
P.Brian.Mackey

seberapa sering Anders menggunakan miliknya;)
Matthew Whited

22

Itu penting karena teknologi tidak tetap statis. Ilmu komputer adalah dasar untuk semua teknologi digital. Sebagian besar programmer otodidak bertahan tepat satu siklus teknologi karena mereka tidak memiliki fundamental untuk bertahan hidup dari perubahan paradigma utama. Tentu, ada pengecualian untuk aturan tersebut, tetapi dasar yang kuat dalam ilmu komputer sangat meningkatkan peluang untuk selamat dari perubahan paradigma besar.


4
Saya tidak tahu apa itu twiddler sampai saya membaca Coders At Work . Saya kira Anda telah selamat dari satu atau dua perubahan paradigma dan berbicara dari pengalaman. :)
Dave Neeley

3
Saya tidak setuju. Sangat mudah untuk mengakses sumber daya yang mengajarkan konsep dasar online (dan bermanfaat untuk mendapatkan kemampuan menemukannya sendiri). Sebagai contoh, academicearth.org/subjects/computer-science adalah tempat yang baik untuk memulai. Informasi terperinci tentang pola arsitektur yang lebih baru tersedia secara gratis untuk studi, lihat chromium.org/developers/design-documents/… . Seringkali, materi online yang tersedia secara bebas jauh lebih baik dan lebih mutakhir daripada yang Anda harapkan dari perguruan tinggi setempat.
Evan Plaice

13
Saya pikir Anda mendapatkannya tepat ke belakang. Seorang programmer tidak pernah selesai belajar. Pemrogram otodidak telah menunjukkan kemampuan mereka untuk memperoleh pengetahuan tanpa perlu pengaturan formal, tenggat waktu yang ditentukan secara eksternal, dll. Itulah yang dibutuhkan seseorang untuk bertahan dari perubahan di pasar.
Mud

2
(lanjutan) Jika Anda berbicara tentang perubahan paradigma perangkat lunak ... Perubahan paradigma apa? OOP tidak sepenuhnya baru, tidak juga pemrograman fungsional. Database sudah ada sejak lama. Angka floating point telah distandarisasi sejak 1985 (IEEE 754). Satu-satunya perubahan besar yang saya lihat adalah pergeseran ke sistem pemrosesan distributif (sistem jaringan sangat besar yang meningkatkan vs dan program yang memanfaatkan banyak platform perangkat keras inti), dan transisi ke rangkaian karakter internasional standar (UTF-8); keduanya tidak benar-benar tercakup dalam compsci.
Evan Plaice

2
@Mud dan Evan: Saya kira Anda melewatkan bagian "Tentu, ada pengecualian untuk memerintah" pada postingan saya. Saya berasumsi bahwa Anda berdua masih muda dan tidak terbebani. Dinamika itu akan berubah seiring bertambahnya usia. Saya telah berada di lapangan selama lebih dari tiga puluh tahun. Saya telah menyaksikan banyak programmer otodidak berkobar setelah stres membesarkan keluarga memasuki gambaran, dan jumlah waktu yang orang harus pelajari fundamental pada pendekatan sendiri nol. Saya akan senang memiliki percakapan yang sama ketika Anda berdua mencapai usia 40.
bit-twiddler

14

Tergantung apa yang ingin Anda lakukan. Jika tujuan Anda terutama pemrograman perangkat lunak bisnis dalam skala besar, di mana masalah bisnis dan masalah manajemen kompleksitas praktis adalah bagian yang sulit, maka ya, gelar CS tidak akan banyak membantu. Namun, jika tujuan Anda adalah memprogram hal-hal di mana kesulitan utama ada di ujung teknis, maka gelar CS lebih berguna. (Meskipun saya tidak memiliki gelar CS, jadi saya merasa seperti munafik besar untuk mengatakan itu, jadi jangan ragu untuk menambahkan "atau belajar mandiri dalam mata pelajaran CS".)

Saya yakin ada banyak programmer di luar sana yang hebat dalam mengelola kompleksitas, pemrograman dalam masalah besar dan memecahkan masalah bisnis umum, tetapi akan benar-benar hilang jika Anda meminta mereka untuk menulis pengalokasi memori, atau perpustakaan paralelisme, atau perpustakaan koleksi, atau sistem operasi, atau kompiler, dll. Saya yakin sebaliknya juga ada batasnya. Keduanya memiliki tempat dan pantas dihormati, tetapi gelar CS membantu lebih banyak di sisi teknis.


Mengapa? CS adalah tentang menyelesaikan masalah yang kompleks, apa pun sifat masalah itu. CS harus bermanfaat bahkan jika Anda tidak memprogram apa pun - itu adalah keturunan dari sibernetika yang terlupakan tetapi masih penting.
SK-logic

12

Saya tidak berpikir gelar CS adalah indikator mutlak bahwa seseorang adalah pengembang perangkat lunak yang baik. Sebenarnya, saya memulai karir saya sebagai seorang programmer dengan gelar matematika, tetapi dengan bias CS yang kuat (matematika dan CS terintegrasi dalam program studi saya). Saya pikir ada dua alasan mengapa itu penting, secara keseluruhan.

1 - Karena Insinyur bukan Front End untuk Perekrutan

Sumber Daya Manusia orang. Dan sementara saya membayangkan banyak orang memutar mata mereka, saya berkata "terima kasih Tuhan!" Apa yang lebih penting - bahwa Anda membiarkan para insinyur membuat barang-barang (atau memecahkan barang-barang), atau Anda membuat mereka memilah-milah ribuan resume dan melakukan ribuan wawancara?

Jadi, kami memiliki orang-orang SDM dan orang-orang SDM yang menyeleksi para kandidat sampai kami sampai pada kelompok kunci yang dapat disaring oleh para insinyur. Orang-orang SDM telah belajar dari waktu ke waktu bahwa memiliki gelar CS adalah indikator yang cukup kuat bahwa kandidat mengetahui sesuatu tentang pengembangan perangkat lunak. Semoga mereka juga tahu bahwa menulis perangkat lunak selama 20 tahun adalah indikator yang baik bahwa kandidat dapat menulis perangkat lunak.

2 - Karena memiliki semacam sistem tentang belajar tentang CS lebih baik daripada tidak sama sekali

CS adalah bidang besar dengan banyak hal yang perlu diketahui. Dan itu berubah setiap saat. Saat ini, saya dapat dengan aman mengatakan bahwa 75% dari kursus di sarjana saya telah menjadi tidak relevan dengan karir saya. Dan kursus master saya dari 5 tahun yang lalu mengalami depresiasi yang cepat. Tetapi ketika saya mulai, saya senang bahwa saya membayar sebuah lembaga besar untuk mengajari saya sesuatu tentang organisasi komputer, jaringan, proses rekayasa perangkat lunak yang baik, desain berorientasi objek, kompiler, dan sintaks / semantik dari bahasa pemrograman utama yang saat ini dapat dipasarkan.

Dan saya senang berada di lingkungan di mana seseorang dibayar untuk menjelaskan hal-hal kepada saya ketika proyek buku / situs web / pangkuan tidak jelas secara bawaan.

Dan saya senang bahwa saya memiliki akses ke laboratorium di mana kesehatan komputer dan SDE bukan masalah saya - saya bisa lebih atau kurang mengunci dan fokus pada sebagian kecil dari masalah daripada juga harus memperbaiki semua alat yang diperlukan untuk menyelesaikan masalah.

Dan sementara kursus tidak secara eksplisit mengajarkan komunikasi yang baik, saya pikir satu-satunya cara Anda dapat benar-benar belajar itu adalah dengan bekerja dalam tim - yang merupakan bagian utama dari banyak lembaga terkemuka yang menawarkan gelar CS.

Dan jadwal dengan umpan balik yang sering (yaitu, nilai dan ujian) yang memberi tahu saya apakah saya benar-benar mengerti apa yang telah diajarkan kepada saya.

Hal-hal itu bergabung dalam pikiran saya untuk menjadi lebih berharga daripada buku apa pun tentang masalah ini, tetapi tentu saja bukan itu saja, akhiri semua. Tentu saja ada hal-hal yang saya tidak keberatan melihat lembaga-lembaga pendidikan tinggi meningkat, dan saya pikir sekitar 10 tahun setelah Anda lulus, tingkat yang Anda dapatkan pada awalnya kurang penting daripada pekerjaan yang telah Anda lakukan sejak itu.


12

Bagi saya, alasannya adalah saya tahu mereka telah melalui beberapa kursus kasar, dan tidak menyerah. Beberapa program seperti Compiler, Data Struct, Discrete Math (dan lainnya) cenderung untuk membersihkan banyak orang dari program CS. Memiliki gelar CS berarti Anda bekerja keras dan membayar harga (malam yang panjang membuat program bekerja), daripada keluar untuk bersenang-senang.


+1 - lol, saya tidak bisa berdebat dengan ini. Padahal, saya suka matematika diskrit. Memiliki seorang profesor hebat yang melakukan banyak tayangan Yoda.
P.Brian.Mackey

10

Bagi saya itu adalah masalah pola pikir .

Pola pikir Anda menentukan bagaimana Anda akan mendekati masalah yang diberikan, dan memungkinkan Anda untuk mempertimbangkan berbagai peluang yang lebih luas daripada yang tidak dididik dalam konsep.

Contoh tipikal adalah masalah "Traveling Salesman" di mana Anda tahu bahwa itu 1) adalah NP-lengkap untuk versi umum, jadi Anda harus mencoba semua kemungkinan tetapi 2) bahwa jika Anda tahu lebih banyak tentang masalah tersebut, Anda dapat memperkirakan dalam batas tertentu atau katakan bahwa Anda tahu bahwa AC selalu lebih lama dari AB + BC (yang berlaku untuk jarak tetapi tidak untuk harga) memungkinkan Anda untuk menyelesaikannya dalam waktu yang lebih singkat.

Contoh lain adalah Analisis Numerik, di mana Anda perlu tahu bahwa untuk meminimalkan ketidaktepatan numerik Anda harus mendekati perhitungan Anda secara berbeda dari cara yang lurus secara matematis. Ini membutuhkan pengetahuan teoretis dan tidak mungkin diambil di jalan kecuali Anda telah secara eksplisit digigit olehnya.


9

Benarkah? Wow.

Jadi, Anda memberi tahu saya bahwa keterampilan C # dan OOP cukup dan Anda dapat menyusun algoritme Anda sendiri untuk menyortir secara acak dan menguraikan nuansa yang lebih halus tentang cara menangani masalah lengkap NP di kehidupan nyata?

C # dan OOP baik-baik saja, tetapi jika Anda mencoba melakukan apa pun yang merupakan desain logika non-sepele maka Anda memerlukan dasar-dasar ilmu komputer di tempat.

Bung, Anda bahkan tidak akan tahu wadah C # mana yang akan digunakan jika struktur data atau kemampuan algoritme Anda tidak sesuai dengan sasaran.

Ayo tumbuh, sekarang.


23
Mudah di sana, harimau.
whatsisname

23
"Buat algoritma Anda sendiri untuk menyortir secara acak dan menguraikan nuansa yang lebih halus tentang bagaimana menangani masalah lengkap NP dalam kehidupan nyata" ya saya tidak bisa cukup menekankan berapa banyak pekerjaan saya sehari-hari dalam kehidupan nyata terdiri dari kegiatan ini .... / sarkasme
quentin-starin

4
Apa yang saya katakan adalah bahwa 95% dari orang yang bekerja dengan saya dan telah bekerja dengan di masa lalu menghabiskan hampir 0 waktu merancang algoritma. Saya menghabiskan sebagian besar waktu saya membuat kode lebih ringkas dan mudah dibaca. Sangat sedikit waktu yang dihabiskan untuk "nuansa yang lebih halus". Bahkan, saya akan merasa menarik untuk menghabiskan sedikit waktu setidaknya memilah alur kerja di papan tulis ... sesuatu yang hanya saya lakukan sendiri. Apakah Anda secara teratur mendiskusikan NP lengkap dengan rekan kerja Anda? Apa pekerjaan Anda di mana Anda perlu menulis jenis kustom alih-alih menerapkan bahasa pemrograman fungsional?
P.Brian.Mackey

3
@ P.Brian.Mackey: Pengembangan perangkat lunak adalah profesi naik atau turun. Berapa banyak pengembang perangkat lunak yang bekerja untuk organisasi Anda yang berusia di atas 50? Seiring bertambahnya usia pengembang perangkat lunak, gelar CS dapat berarti perbedaan antara memiliki pekerjaan dan menjadi pengangguran. Sementara saya saat ini memegang gelar sarjana dan pascasarjana dalam ilmu komputer, saya menerima pelatihan awal saya di bidang ini dari sekolah teknik Naval dan DoD pada akhir tahun tujuh puluhan. Semua orang yang saya layani yang tidak repot-repot menyelesaikan gelar CS setelah meninggalkan militer tidak lagi di lapangan.
bit-twiddler

7
Mengapa semua orang tampaknya menerima asumsi secara membabi buta bahwa kurikulum CS perguruan tinggi formal diperlukan untuk memiliki pengetahuan tentang konsep-konsep CS? Mungkin itu adalah kegagalan penalaran deduktif mereka. Saya kira mereka membutuhkan lebih banyak kursus CS.
quentin-starin

6

Saya kira Anda benar-benar tidak terlalu terlibat dengan gelar itu, hanya mengambil apa yang Anda butuhkan dan keluar, atau pergi ke sekolah yang melihat jurusan CS sebagai "coders", bukan "programmer". Juga, beberapa kelas "CS" terbaik / favorit saya adalah yang - setidaknya di Universitas saya - berada di bawah departemen Teknik Listrik. Paparan saya terhadap berbagai arsitektur dan gaya sangat penting dan gelar saya telah memfasilitasi hal itu dalam lingkungan yang "terkendali".

Kelas yang bukan hanya algoritma dan bulu halus:

  • Kompiler
  • Sistem operasi
  • VHDL / Sistem Tertanam
  • Perakitan dan pengontrol Mikro
  • Rekayasa Perangkat Lunak

Dan akhirnya kelas yang mengalahkan saya hanya algoritma dan struktur data - Kecerdasan Buatan. Ada hal-hal yang melalui sistem Universitas akan sangat mempercepat dalam proses pembelajaran, dan saya akan menganggap apa yang telah dipelajari menjadi sangat berharga ketika mencari pekerjaan nanti.


Apa definisi Anda tentang "coder" dan "programmer"? Bagi saya, ini bisa sama, dan berbeda dengan "ilmuwan komputer".
Mark C

Coder hanya menulis kode, tidak perlu berpikir tentang paradigma desain yang berbeda atau proses pemikiran yang berlaku untuk membuat kode yang lebih baik. Pemrogram benar-benar memikirkan kode yang mereka tulis, dan mendekatinya dari perspektif top-down alih-alih dari perspektif bottom-up code.
Jeff Langemeier

Apa definisi Anda tentang "kode monyet" dan "programmer"? Programmer dapat memikirkan cara-cara untuk menyelesaikan masalah yang tidak dapat dilakukan oleh kode uang ...
Coyote21

Gairah tidak diberikan gelar. Itu hanya bagian dari siapa Anda.
P.Brian.Mackey

@ P.Brian Terkadang, gairah Anda memberikan gelar, dan lebih jauh didorong oleh pencapaian gelar tersebut.
Jeff Langemeier

4

Pendapat saya adalah bahwa kecuali Anda melamar posisi "Computer-Scency", gelar apa pun yang menyiratkan fokus pada keterampilan komputer hampir setara.

Bahkan, banyak programmer yang saya tahu mendapat gelar dalam disiplin yang sama sekali berbeda. Programmer terbaik yang saya tahu memiliki gelar di bidang Teknik Sipil, Linguistik, Ekonomi dan Keuangan.

Pada akhirnya, begitu Anda memiliki pengalaman, gelar Anda menjadi ujian lulus-gagal bagi seorang perekrut. Yaitu, kecuali Anda mendapatkannya dari sekolah yang mengesankan atau gelar pascasarjana, tidak masalah apa jurusan Anda.


Salah satu programmer terbaik adalah ekonom yang bekerja secara eksklusif di Excel / VBA dan R. Dia telah melakukan beberapa hal luar biasa dalam excel.
sal

@sal Menulis hal-hal dalam Excel dan R tidak memerlukan gelar CS. Menulis Excel atau R kemungkinan besar akan dilakukan.
Alnitak

@alnitak - Menulis Excel atau R juga tidak memerlukan gelar CS. Itulah jenis tanggapan dan sal saya
JohnFx

@JohnFX: Saya lulus dengan pujian Latin dari salah satu dari dua puluh program CS terbaik di AS, dan kredensial itu sendiri masih membuat saya lolos (saya juga memegang MSCS dari sekolah terkemuka lainnya). Saya mulai di lapangan sebagai operator komputer dan pemrogram langsung dari sekolah menengah. Saya menerima pelatihan pengembangan sistem komputer dan perangkat lunak awal dari Angkatan Laut AS dan Badan Keamanan Nasional; oleh karena itu, saya bekerja di lapangan tanpa BSCS selama beberapa tahun. Yang bisa saya katakan adalah bahwa itu benar-benar seperti surga berpisah ketika saya menyelesaikan BSCS saya.
bit-twiddler

@ bit-twiddler - apakah itu dimaksudkan untuk mendukung atau membantah jawaban saya? Sepertinya itu mendukung pernyataan akhir saya bahwa itu penting jika Anda memiliki gelar sekolah pasca sarjana atau nama besar.
JohnFx

4

bagi saya dan banyak rekan saya belum (tidak ada dari kita yang memiliki gelar CS)



3

Saya memiliki gelar dalam ilmu komputer. Sangat bagus untuk membuka pintu, mendapatkan pekerjaan. Sejauh membantu saya di bidang profesional pemrograman C # .NET (platform dan bahasa paling populer di daerah saya bekerja jika tidak seluruh negara bersatu menggunakan OS paling populer di dunia ) itu hampir tidak berguna.

70% + kode ditulis dalam C (karena ada lebih banyak perangkat tertanam daripada aplikasi tingkat tinggi). Menurut pencarian kerja populer seperti dadu atau indeks TIOBE, Java adalah bahasa pemrograman yang paling populer untuk perusahaan (karena ada lebih banyak server back-end Unix / Linux daripada server Windows.) Ada lebih banyak smartphone dan tablet (platform komputasi dari masa depan) menjalankan beberapa varian Linux atau Mac OS dari Windows, diprogram pada apa pun kecuali C # atau .NET.

Lihatlah router Anda di rumah, lihat ponsel Anda, lihat komputer di dalam mobil Anda, lihat microwave di rumah, di pengontrol di dalam sistem A / C rumah Anda, di dalam telepon Anda dan faks serta printer kantor Anda / pemindai. Lihatlah jumlah peralatan terkomputerisasi (yang melebihi sistem windows.)

Apakah Anda pikir mereka diprogram dalam C #?

Jika Anda benar-benar percaya bahwa .NET atau C # adalah platform paling populer di dunia, Anda mungkin ingin kembali ke sekolah CS Anda dan meminta pengembalian dana.

Mengapa Anda pikir itu membantu Anda sebagai programmer dalam karir profesional Anda (di luar menyemburkan algoritma prima untuk mengesankan beberapa pewawancara)?

Mungkin karena ada lebih banyak tentang pemrograman daripada melakukan pengembangan dasar halaman web dinamis dan aplikasi perusahaan? Untuk itu Anda bahkan tidak memerlukan gelar BS, AA sudah cukup - Saya tahu karena saya memulai karir pemrograman saya dengan gelar AA dan perlahan tapi pasti bekerja menuju CS dan kemudian bekerja melalui sekolah pascasarjana sambil bekerja penuh waktu sebagai pengembang .

Ada pengembangan tertanam, ada pengembangan driver perangkat, ada pengembangan sistem operasi, ada pengembangan algoritma, sinyal, komunikasi, protokol jaringan, pengembangan mesin database, pengembangan sistem file, komputasi terdistribusi, kompiler. Bukan penelitian, tetapi pekerjaan aktual di organisasi nirlaba. Kecuali yang berbakat secara alami, seseorang biasanya tidak dapat meretasnya di bidang industri ini tanpa gelar CS (kadang-kadang bahkan tidak dengan gelar BS.)

Seseorang yang mendapatkan gelar CS dan memperhatikannya mengetahui hal ini. Kenapa kamu tidak?

Dalam adaptasi dunia saat ini, pikiran yang cepat, komunikasi yang kuat, OO dan keterampilan desain dasar memungkinkan pengembang untuk menulis perangkat lunak yang akan diterima pelanggan.

OO muncul karena CS. Dan kebanyakan orang yang berpikir mereka melakukan OO bahkan tidak dapat melakukan pekerjaan dengan baik. Lihat saja di luar dan lihat keadaan buruk dari perangkat lunak (khususnya di Jawa dan .NET, belum lagi PHP.) Latar belakang CS yang solid (atau gelar sarjana dalam beberapa jenis teknik) tidak menjamin 100% pemahaman yang baik tentang OO dan keterampilan analitis, tetapi biasanya membantu. OTH, tidak memiliki latar belakang CS dasar biasanya merupakan tanda bahaya ketika menyangkut OO dan keterampilan analitis. Kami memiliki cukup bukti empiris di industri untuk mendukung klaim ini.

Keterampilan ini hanya dibahas dalam program cs.

Tergantung pada program CS dan tergantung pada siswa. Setidaknya bagi saya, saya melihat banyak kursus bagus tentang desain, analisis OO, alat dan praktik komersial, kami memiliki kursus bersama dengan perusahaan lokal dan magang, proyek dan penelitian yang didanai perusahaan, penulisan teknis, sebut saja. Maaf, saya tidak dapat menghubungkan atau memahami pernyataan ini.

Dalam pikiran saya, membaca buku C # 500 halaman oleh Wrox menawarkan keterampilan yang jauh lebih bisa digunakan daripada 4 tahun kursus blaster matematika comp sci.

Sekali lagi, tergantung pada pekerjaan yang Anda lakukan. Bahkan di perusahaan, saya telah menggunakan CS saya untuk benar-benar memperbaiki atau memperbaiki. Semua itu melibatkan pemodelan, arsitektur, komputasi terdistribusi, keamanan dan kinerja tinggi, ketersediaan tinggi, dan toleransi kesalahan. Saya belajar semua itu di CS.

Tidak ada yang salah dengan menggunakan buku Wrox untuk mendapatkan konteks yang spesifik , teknologi spesifik keahlian. Saya melakukannya sendiri. Tapi latar belakang CS saya memberi saya konteks untuk dikerjakan. Tanpa latar belakang CS saya, yang bisa saya lakukan hanyalah memprogram, kode (yang bisa saya lakukan ketika saya hanya memiliki gelar AA pada awal karir saya.)

Banyak yang tidak setuju.

Mengejutkan, bukan.

Jadi, mengapa gelar ilmu komputer penting?

Menurut Anda siapa yang datang dengan mesin database google, hadoop, cassandra, atau kinerja tinggi? Menurut Anda siapa yang menulis kernel OS Windows? Menurut Anda, siapa yang memprogram alat yang Anda sukai untuk melakukan pengembangan C # Anda.

Satu hal yang saya yakin adalah alat yang Anda gunakan untuk melakukan pengembangan C #, ada seorang pria CS di belakangnya.

Apakah Anda membutuhkan gelar CS atau tidak tergantung pada jenis pekerjaan yang Anda lakukan, jenis pekerjaan yang ingin Anda lakukan, jenis pekerjaan yang dapat Anda lakukan.

Ada banyak pekerjaan di perusahaan dan pengembangan web yang tidak memerlukan gelar CS. Saya mengabulkannya. Saya juga tahu bahwa dunia pemrograman jauh lebih luas daripada hanya dua bidang itu, dengan banyak bidang (kebanyakan dari mereka sebenarnya) membutuhkan gelar CS atau lebih.

Anda memiliki gelar CS, bagaimana Anda tidak tahu itu adalah sebuah misteri.


TIOBE adalah omong kosong untuk menentukan berapa banyak bahasa pemrograman yang digunakan. Ini adalah ukuran seberapa populer bahasa yang diberikan di internet (dalam hal jumlah referensi), bukan dalam hal baris kode yang ditulis.
Billy ONeal

Karena variabilitas spesifik bahasanya, LOC tidak relevan di seluruh bahasa pemrograman, dan karenanya tidak dapat digunakan untuk mengukur penggunaan bahasa pemrograman di seluruh industri. Dan popularitas pencarian bahasa di internet bertindak sebagai proksi parsial untuk kedalaman dan minat penggunaan (atau ketiadaan) ... jika Anda sadar akan bias yang tak terhindarkan. Dengan sendirinya, ** indeks TIOBE tidak berarti apa - apa - hanya orang bodoh yang akan berpikir sebaliknya; dan hanya orang bodoh yang akan berpikir bahwa itulah yang saya nyatakan.
luis.espinal

Ketika diambil sebagai tambahan untuk indikator lain (seperti pencarian pekerjaan dan pengembangan jenis produk), ini membantu dalam memperkirakan tren dalam penggunaan teknologi. Dengan kata lain, ini berguna atau tidak berguna tergantung pada apa Anda menggunakannya, bagaimana Anda menggunakannya, dan dengan indikator lain apa yang digabungkan dengannya.
luis.espinal

Maksud saya adalah Anda tampaknya menggunakan indeks itu untuk membuat pernyataan tentang penggunaan bahasa pemrograman, yang bukan apa yang diukur oleh indeks itu. Saya salah bicara ketika saya mengatakan LoC ditulis - tetapi tidak ada cara yang baik untuk mengatakan "jumlah kode yang ditulis" yang saya maksudkan. TIOBE adalah kontes popularitas, dan dalam lomba itu Java akan melenyapkan semua orang selama itu adalah linqua franca dari kursus-kursus pemrograman pengantar. (Bukan karena itu berarti para siswa tidak tahu apa-apa lagi, tetapi karena siswa biasanya lebih keras daripada profesional. (Yaitu Anda benar-benar)
Billy ONeal

1

Ada beberapa hal dasar yang saya ingat pernah saya lihat di kursus CS saya yang kadang sangat bermanfaat. Proses Air Terjun dan langkah-langkahnya telah saya gunakan berulang kali dalam karir saya dengan beberapa variasi untuk Agile yang tidak terlalu kaku dalam langkah-langkah tetapi langkah-langkah yang sama ada di sana.

Keterampilan pemecahan masalah dan berbagai heuristik algoritmik dapat membantu kadang-kadang juga. Ada sesuatu yang bisa dikatakan untuk manfaat tidak langsung dari gelar CS. Misalnya, mempelajari cara menjustifikasi jawaban untuk menunjukkan mengapa sesuatu itu benar hanyalah salah satu dari sedikit keterampilan yang saya sempurnakan di universitas, tetapi saya tidak yakin seberapa jelasnya bahwa ini adalah manfaat di akhir program.


1

Saya setuju dengan poin Thorbjørn Ravn Andersen tentang pola pikir. Itu adalah hal utama yang Anda kembangkan dengan kurikulum CS yang baik.

Ini pada dasarnya datang untuk memahami hal-hal seperti struktur data dan algoritma. Bukan berarti Anda tidak bisa mempelajari ini sendiri, tetapi kurikulum CS yang baik akan memberikan paparan yang lebih baik.


Ada mata pelajaran lain yang hanya dipelajari oleh CS dan jurusan teknik komputer seperti organisasi komputer dan arsitektur komputer. Mempelajari cara membangun komputer dari logika sekuensial dan kombinasional menjadikannya pengembang perangkat lunak yang lebih baik karena memberikan wawasan tentang apa yang sebenarnya terjadi di dalam komputer. Selain itu, programmer pertama yang bekerja dengan prosesor baru perlu memahami konsep-konsep seperti memori hirarkis dan I / O, pipa, cache asosiatif blok-set, unit kontrol (mikrokode dan kabel), dan perbedaan antara skalar dan pemrosesan vektor.
bit-twiddler

Bagaimana studi perguruan tinggi CS memberikan paparan yang lebih baik daripada di laboratorium di mana itu benar-benar penting dengan mentor yang berkualifikasi yang tidak hanya tahu bagaimana seharusnya bekerja dan bagaimana sebenarnya bekerja?
JustinC

@bit Setuju. Ya, jawaban saya agak fasih. Itu dimaksudkan seperti itu karena suatu alasan.
George Marian

@ justin Saya tidak yakin apa yang ingin Anda katakan. Berapa banyak programmer yang bekerja di lab, apalagi dengan mentor yang berkualitas?
George Marian

@JustinC: Seseorang belajar bagaimana berbagai hal bekerja di lab (level teknisi). Kita belajar mengapa segala sesuatu bekerja di organisasi komputer dan kursus arsitektur tingkat atas (tingkat insinyur). Jika Anda membeli beberapa buku teks perguruan tinggi tingkat atas tentang arsitektur komputer dan organisasi komputer, Anda akan mengerti maksud saya.
bit-twiddler

1

Penulisan

Dalam pengembangan perangkat lunak perusahaan, sangat penting untuk dapat menulis kode dan menulis . Maksud saya: menulis email, laporan bug, dokumen teknis, dll. Baik menulis dan coding memerlukan kejernihan pemikiran dan ekonomi ekspresi yang sesuai.

Di antara 2 pengembang perangkat lunak, saya bertaruh bahwa yang memiliki gelar CS dari universitas yang solid (program CS yang kuat, dan pilihan yang dibutuhkan dalam humaniora) memiliki kedua keahlian tersebut. (Benar, ini bukan jaminan: orang-orang dari humaniora bisa menjadi pembuat kode dan penulis papan atas yang hebat; banyak lulusan CS adalah mesin pembuat kode yang tidak bisa menulis, dan sebagainya.)

Bacaan

Seorang mentor saya mengklaim bahwa ia dapat menilai pengembang berdasarkan apa yang mereka baca. Posting asli menyebutkan buku WROX. Menurut pendapat saya, seseorang dengan gelar CS lebih mungkin untuk mencari buku-buku IT profesional dan dapat menggunakannya secara efektif. Jika seseorang dapat menangani CLR , maka seseorang dapat menangani "Profesional C #".

Matematika

Matematika mengembangkan logika, bukti, ketelitian, dll, dan efek sampingnya adalah membantu menulis. Meskipun sebagian besar bisnis TI tidak memerlukan keterampilan matematika yang kuat, orang dengan gelar CS akan memilikinya saat diperlukan. Ini adalah cara yang jauh lebih baik untuk menjalani hidup daripada hidup tanpanya, dan bertanya-tanya apa yang Anda lewatkan di sekolah.


1

Saya kira itu sangat tergantung pada kualitas program CS yang Anda lalui. Saya tahu apa yang Anda maksud, sebagian besar kode yang saya tulis setiap hari hanyalah standar VB.Net, dapatkan data dari SQL Server, letakkan di formulir, simpan kembali ke database, buat beberapa laporan. Cuci, bilas, ulangi. (Kadang-kadang sangat membosankan) Program CS yang saya lalui, selain membahas teori dan pengetahuan mendasar, memang mengajarkan banyak hal praktis. Kami membahas bidang-bidang seperti desain perangkat lunak, desain basis data, dan manajemen proyek. Belajar bahasa pemrograman adalah bagian yang mudah, desain dan metodologi menciptakan sistem perangkat lunak adalah apa yang saya ambil dari pengalaman kuliah saya. Kami diberi proyek berdasarkan masalah dunia nyata, kadang-kadang bahkan merancang sistem perangkat lunak untuk departemen lain di kampus.

Sebagai programmer, kita jelas memiliki kemampuan untuk belajar sendiri, ini merupakan kebutuhan di bidang kita. Saya harus mengatakan bahwa saya sangat senang telah melalui program CS. Profesor saya luar biasa dan mengajar saya sedikit. Teman-teman sekelas saya adalah orang-orang yang sangat menyenangkan dan kami bersenang-senang di lab komputer. Sejujurnya, aku agak merindukan hari-hari itu ......


1

Semuanya ada dalam kemampuan untuk hidup secara perwakilan.

Jika Anda melewatkan gelar, Anda mungkin harus belajar pelajaran dengan cara yang sangat pribadi (alias cara yang sulit). Kurangnya gelar tidak berarti Anda akan mengambil jalan belajar yang lebih sulit dengan coba-coba; namun, gelar tersebut menjamin Anda terpapar pada peti harta karun dari pengetahuan yang sebelumnya diperoleh yang harus diperoleh orang lain pada larut malam, sesi pemrograman yang frustrasi, dan umumnya "melakukannya dengan cara yang sulit."

Orang yang benar-benar hebat tidak akan membuang apa yang orang lain temukan benar, tetapi sebaliknya akan menantangnya sampai mereka mengetahui keterbatasan pengetahuan, dan kemudian bermain dengan "sistem" ide-ide yang baru diperoleh sampai mereka menjadikannya milik mereka. Ia berdiri di pundak mereka yang datang sebelumnya, dan menjalani solusi bertahun-tahun tanpa harus menemukan kembali mereka.

Tentu saja, seseorang dengan gelar ilmu komputer tidak selalu kandidat yang lebih baik. Ada orang-orang unik yang telah dibawa ke sungai tetapi (karena alasan aneh) menolak untuk minum darinya.


0

Saya berumur 21 tahun yang baru saja menyelesaikan sarjana CS. Saya merasa betapapun hebatnya Anda dalam pemrograman, jika Anda lulusan CS, Anda akan sudah terpapar ke berbagai bidang. Jadi, jika Anda ingin mempelajari hal-hal baru, Anda tidak perlu takut untuk menjelajahi bahkan jika itu tidak relevan . Jika Anda ahli dalam teknologi atau bahasa pemrograman, bagus. Tapi saya tidak berpikir Anda akan suka berpetualang dan bersedia untuk melihat ke teknologi lainnya. Itulah cara Anda membuat diri Anda kotor (dan cepat juga). Anda tidak akan merenung bahwa apa yang Anda jelajahi akan menjadi tidak relevan karena tidak akan membantu Anda menghasilkan uang. (Anda telah mempelajari banyak hal yang tidak relevan di CS UG Anda;)).
Ini adalah gairah dalam CS yang Anda miliki setelah lulus yang menjadikan Anda seorang Profesional Perangkat Lunak.
Adakah yang Setuju?


1
Anda tidak dapat membuat asumsi bahwa seseorang tidak akan tertarik 'melihat ke teknologi lain' hanya karena mereka tidak memiliki gelar CS. Ini adalah kekeliruan.
Steven Striga

0

Nah ketika saya masuk di CS, saya berpikir bahwa wow, saya benar-benar bagus karena saya dan saya tidak akan belajar apa pun di sini ... Setelah 5 tahun, saya hanya belajar bekerja sebagai sebuah tim, dan beberapa hal dari teknik yang memisahkan saya dari seseorang yang hanya bisa menulis kode dan seseorang yang bisa memikirkan apa yang dia lakukan sebelum dia membuat kode, singkatnya, itu mengajarkan saya untuk berpikir sebelum saya bahkan mengetikkan satu huruf pun di editor teks atau ide saya.


0

Untuk mendapatkan pekerjaan menggunakan bahasa open source, itu tidak berarti jongkok. Sebagian besar perusahaan merekrut berdasarkan kemampuan daripada kualifikasi dan bahasa seperti PHP memiliki reputasi hobi menaing bahwa orang dapat memiliki bakat tanpa pernah mempelajari CS. Satu-satunya waktu itu membantu jika Anda mendapatkan pekerjaan menggunakan bahasa .Net karena sebagian besar penggemar tidak ingin mengeluarkan ribuan untuk lisensi hanya untuk dipusingkan pada akhir pekan, maka seseorang yang mencari pekerjaan pertama di C # mungkin hanya akan memiliki 2-3 tahun pengalaman.

Tentu saja pengalaman komersial adalah yang sangat berharga karena menunjukkan kemampuan Anda untuk memberikan kode kualitas ke tenggat waktu.

Kesimpulannya, itu membuat Anda wawancara untuk bekerja dengan bahasa non-sumber terbuka.


0

Gelar dari Collegue atau University, berarti Anda belajar dan memiliki pengetahuan tentang CS, beberapa hal dasar yang diperlukan untuk pekerjaan dunia nyata, bahkan jika Anda harus belajar hal-hal lain sendiri.

Selain itu, ketika seorang perekrut IT harus menemukan Soft. Dev., Dan 500 pelamar mengirim resume mereka, dan harus mewawancarai setidaknya 50 dari mereka, memiliki gelar pada resume Anda, membantu baik perekrut, dan peluang Anda untuk dipekerjakan.

(dari Pengembang Perangkat Lunak yang mempelajari beberapa HHRR)


0

Mungkin ini tidak banyak membantu, tetapi sekarang saya belajar perakitan dan semua pengetahuan yang terlibat saya merasa programmer lebih lengkap dan saya yakin ini akan terjadi lagi ketika saya akan pergi ke uni. Maksud saya, saya kebanyakan menggunakan C atau VB, saya tidak perlu tahu apa status menunggu untuk melakukan program saya, tetapi hanya tahu apa yang terjadi di balik kode saya hebat! Dan pengetahuan membantu Anda menulis kode yang lebih baik, lebih cepat, dan lebih terpelihara. Gelar ilmu komputer memberikan persis pengetahuan yang diperlukan untuk menulis kode hebat menurut saya.


0

rekayasa perangkat lunak saat ini adalah ilmu eksperimental yang tidak diterapkan matematika.

Gelar ilmu komputer menekankan algoritma, berapa banyak dari pekerjaan Anda melibatkan penerapan atau bahkan menggunakan algoritma baru dan struktur data?

Berapa banyak melibatkan berurusan dengan lapisan kerangka kerja dan abstraksi yang bocor? Seberapa banyak upaya untuk menentukan apa yang sebenarnya dilakukan oleh beberapa API - bukan apa yang tersirat dalam dokumen? Berapa pengujian dan memutuskan bagaimana menguji?

Untuk semua itu gelar fisika atau kimia adalah pelatihan yang jauh lebih baik daripada memiliki menghafal Knuth


0

Itu penting karena perekrut memiliki indikator bahwa Anda tidak sepenuhnya mengerti tentang apa yang seharusnya Anda lakukan, tetapi itu tidak berarti bahwa Anda benar-benar tahu apa yang Anda lakukan atau bahwa Anda melakukannya dengan cara yang nyaman secara teknis.

Ada orang-orang brilian dengan gelar yang mencintai apa yang mereka lakukan dan benar-benar programmer yang baik dan ada juga orang bodoh dengan gelar yang benar-benar programmer buruk dan bahkan tidak tahu dasar-dasar. Ada orang-orang hebat tanpa gelar yang dapat mengembangkan apa pun (perangkat lunak / kompiler bisnis / sistem operasi) dan ada orang bodoh tanpa gelar yang tidak tahu bagaimana cara menggunakan hashtable dengan benar.


0

Benar sekali, gelar ilmu komputer tidak terlalu penting; itulah sebabnya satu-satunya pilihan Anda adalah untuk mendapatkan gelar teknik sebagai gantinya.

Dalam mewawancarai kandidat dengan berbagai latar belakang, satu-satunya sifat yang menonjol bagi para kandidat yang tidak memiliki gelar adalah ini: kurangnya keterampilan komunikasi teknis dan kurangnya disiplin. Ini adalah sifat-sifat mendasar yang dipelajari ketika mendapatkan gelar sains apa pun (saya akan mengatakan lebih lagi dengan gelar teknik).

Dengan sebagian besar hal yang sama (dan satu putaran wawancara sering muncul dengan kandidat "hampir sama"), saya akan mempekerjakan orang dengan gelar teknik pertama, gelar ilmu komputer kedua, dan ketiga tanpa gelar. Namun, ada cara untuk membuat hal-hal yang sangat tidak setara dalam perbandingan, sehingga siapa pun dapat mengalahkan bahkan mereka yang memiliki gelar silsilah - tetapi itu pertanyaan yang terpisah bukan?


-1

Untuk seorang programmer ... tidak banyak (selain mungkin membuka pintu untuk wawancara, seperti yang Anda katakan).

Untuk pekerjaan CS (penelitian, analisis algoritme, keahlian dan desain bahasa formal). Anda tidak mungkin mempelajari hal-hal ini dalam program berbasis non-matematika lainnya.

// Penafian: gelar saya di IT jadi saya harus kembali untuk semua program lain untuk melakukan pekerjaan saya.


-1

Saya memiliki gelar terkait komputer. Apa yang membantu saya mendapatkan peran komputer pertama saya adalah kenyataan bahwa tahun 3 adalah penempatan kerja sebagai Administrator TI. Saya merekomendasikan skema penempatan kerja dalam pendidikan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.