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?
sumber
Jawaban:
Mengapa gelar ilmu komputer ?:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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:
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.
sumber
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.
sumber
bagi saya dan banyak rekan saya belum (tidak ada dari kita yang memiliki gelar CS)
sumber
OK lalu bagaimana
Jika Anda telah melalui mata pelajaran berikut:
Arsitektur dan Organisasi Komputer
b. Rekayasa Perangkat Lunak
c.DBMS
d. Elektronik Dasar
e. Sirkuit Elektronik Digital Dasar
f. Mikroprosesor
Desain Kompiler
Apakah Anda pikir semua hal di atas hanya untuk formalitas .. Ingat poin di atas membuat "programmer yang baik" menjadi "programmer hebat".
Bacalah ini untuk membaca tentang pentingnya mata pelajaran listrik dan elektronik
sumber
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.
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?
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.
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.
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.)
Mengejutkan, bukan.
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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 ......
sumber
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.
sumber
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?
sumber
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.
sumber
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.
sumber
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)
sumber
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.
sumber
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
sumber
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.
sumber
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?
sumber
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.
sumber
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.
sumber