Bagaimana saya bisa mengkompensasi karena pergi ke JavaSchool? [Tutup]

18

Dalam pertanyaan sebelumnya , saya meminta saran karier untuk insinyur perangkat lunak baru yang melakukannya dengan baik sebelum dan selama kuliah. Tetapi bagaimana dengan orang-orang yang tidak cukup beruntung untuk pergi ke MIT atau Yale, untuk alasan apa pun? Bagaimana jika Anda pergi ke apa yang disebut Joel Spolsky JavaSchool ?

Apa yang dapat / harus dilakukan alumni JavaSchool untuk mengembangkan keterampilan mereka dan menebus hal-hal yang mereka lewatkan di perguruan tinggi? (Atau, apakah Joel salah tentang sekolah-sekolah itu yang tidak menguntungkan?)

Pops
sumber
Baca .
Shog9
4
"Jangan biarkan sekolah menghalangi pendidikan Anda" - Mark Twain
BlackJack

Jawaban:

12

Terlepas dari klaim yang dibuat oleh Joel dalam artikel itu - dan dia mengakui hal itu sendiri - banyak bidang studi yang mungkin terlewatkan oleh "JavaSchool" tidak diperlukan di banyak pekerjaan.

Saya menghadiri sesuatu yang saya kira menyerupai JavaSchool di mana kami menghabiskan sebagian besar waktu kami berfokus pada bahasa tingkat tinggi seperti C # dan Java, tetapi itu tidak mengubah fakta bahwa "Algoritma & Struktur Data" masih menjadi bagian dari daftar kelas yang diperlukan - Belum lagi semua kelas yang berorientasi teori lainnya. Memang tidak semua "JavaSchools" adalah sama, tetapi bukan itu intinya.

Menurut pendapat saya, lebih penting daripada pemahaman tentang beberapa topik pengembangan lebih grittier adalah mampu memecahkan masalah secara efektif ketika tantangan unik muncul. Sebagai insinyur perangkat lunak, kami melakukan sebagian besar pembelajaran kami di tempat kerja dan dengan demikian, dua aspek terbesar dari deskripsi pekerjaan kami adalah mampu memecahkan masalah dan mampu mengambil konsep yang tidak dikenal. Jika, selama wawancara, seseorang tidak dapat membuat upaya yang jelas dan logis untuk memecahkan masalah yang baru bagi mereka, maka ketidakcocokan mereka untuk posisi yang diberikan kemungkinan akan terungkap dengan sendirinya.

Jelas, ketika mempekerjakan seseorang untuk suatu posisi yang membutuhkan paparan terus menerus dan penggunaan beberapa topik rumit yang mungkin terlewatkan oleh JavaSchool, seringkali merupakan pilihan logis untuk pergi dengan seseorang yang memiliki pemahaman sebelumnya, tetapi kurangnya pengalaman seharusnya tidak selalu menghalangi kelayakan pekerjaan .

Kemungkinan besar, pria Jawa berusia 50 tahun di perusahaan Anda yang telah ada di sana selama ada yang ingat tidak memiliki pemahaman tentang Jawa sampai pekerjaannya (saat ini atau sebelumnya) memintanya untuk mempelajarinya- dan ia melakukannya. Sebenarnya, itu adalah praktik yang buruk untuk memecat "orang tua" sehingga kandidat yang lebih muda dan lebih "baru" dapat menggantikan tempatnya; yang dikatakan, jika uraian pekerjaan untuk karyawan mana pun muda atau tua berubah, itu adalah tanggung jawab karyawan itu untuk terjebak atau mencari pekerjaan baru. Hanya karena seseorang (terutama programmer dengan pengalaman masa lalu) tidak memahami beberapa konsep, tidak berarti mereka tidak mau atau tidak mampu mempelajarinya. Bahkan, jika mereka tidak mau belajar maka mereka mungkin tidak termasuk pekerjaan apa pun - apalagi milik Anda.

Adalah adil untuk mengatakan bahwa beberapa "JavaSchools" lebih baik daripada yang lain, dan fakta itu tentu harus dipertimbangkan ketika memilih seorang kandidat untuk suatu posisi, tetapi ada banyak sifat pribadi yang lebih penting daripada di mana seseorang pergi ke sekolah.

Adalah kecakapan kami untuk mengatasi masalah dan menemukan solusi yang mendefinisikan kami sebagai insinyur, kebanyakan yang lainnya adalah yang sekunder.

Nathan Taylor
sumber
+1 "Ini adalah bakat kami untuk mengatasi masalah dan menemukan solusi yang mendefinisikan kami sebagai insinyur, kebanyakan yang lainnya adalah yang sekunder."
Bill
Saya menghadiri sebuah sekolah di mana bahasa pemrograman jarang didekati (kami memang memiliki dasar C / C ++ / Java, sayangnya tidak ada bahasa fungsional), dan kami hanya mendapatkan kenalan dengan teori CS. Di sisi lain, kami berbicara tentang basis data, penggalian data, jaringan telepon / seluler / internet, antarmuka manusia-mesin, dll ... Kami belajar secara luas, bukan secara mendalam. Saya tidak berpikir itu adalah transaksi yang buruk :)
Matthieu M.
1

Mengapa tidak bekerja melalui buku teks yang memperkenalkan pemrograman secara berbeda dari cara Anda mempelajarinya? Misalnya, ada beberapa buku bagus dan gratis yang menggunakan paradigma fungsional. Cara Mendesain Program sangat mudah didekati. Struktur klasik dan Interpretasi Program Komputer (http://mitpress.mit.edu/sicp/) kurang begitu, tetapi memang memberikan rasa pencerahan yang mendalam.

Saya sangat merekomendasikan menonton beberapa kuliah pertama Abelson SICP untuk perspektif yang berbeda tentang apa itu ilmu komputer. Mereka lebih tua tetapi sudah berusia sangat baik (http://video.google.com/videoplay?docid=5546836985338782440#).

Hélène Martin
sumber
1

Saya merasakan sakit Anda, ketika saya pergi ke JavaSchool juga. Milik saya sebenarnya berperingkat cukup tinggi di Inggris untuk apa itu, meskipun siswa di tahun saya tidak mendapatkan kelas Struktur Data tunggal. Saya cukup beruntung karena saya dapat mengambil DSA sebagai kursus opsional karena kesalahan administrasi dengan kursus saya, tapi itu cerita mengerikan lainnya ...

Dalam pengalaman saya, Anda akan mengalami sesuatu di JavaSchool yang tidak akan Anda alami di universitas ternama dan itulah siswa yang ingin membuktikan nilainya . Sama seperti universitas kuno atau bata merah lainnya di negara saya, kami memiliki pemalas dan pemain yang baik, tetapi ada sekelompok kecil siswa yang menyadari lingkungan mereka dan apa yang mereka lewatkan dalam pendidikan mereka. Tak pelak lagi, orang-orang ini tidak selalu berhasil dengan cemerlang dalam kursus mereka, tetapi mereka meninggalkan universitas dengan lebih tahu daripada orang lain. Kami magang di perusahaan perangkat lunak apa pun yang akan membawa kami selama istirahat kami, kami mengambil bahasa yang tidak pernah diajarkan kepada kami dan kami mempelajari mata pelajaran yang dihindari orang lain karena mereka sulit.

Dari teman-teman saya, kami berdua melanjutkan studi ke tingkat Master, mengambil semua kursus lanjutan di mana kami merasa kami benar-benar ketinggalan yayasan, dan satu orang berharap bahwa wawancara terbarunya di Microsoft akan menghasilkan hasil penuh. pekerjaan waktu. Saya akan segera memulai gelar Master saya, terutama untuk mengisi kesenjangan dalam pendidikan saya dan untuk menghabiskan satu tahun lagi membangun keterampilan yang saya butuhkan untuk memaksimalkan potensi saya di industri ini.

Di dunia nyata orang akan selalu memegang bias ini, dan lebih sering mereka benar-benar didasarkan pada kebenaran. Jika Anda merasa sekolah Anda tidak memadai, beri tahu mereka, dan gunakan situs seperti ini untuk membangun tingkat pendidikan Anda.

Mike B
sumber
0

Nah, Anda bisa mendapatkan perangkat lunak penulisan pekerjaan di Jawa. Selama Anda mahir dalam apa yang Anda lakukan, sekolah tempat Anda kuliah dan / atau jurusan Anda tidak terlalu relevan melewati pekerjaan pertama, jika itu pun .

GrandmasterB
sumber
0

Hal terbaik yang dapat saya pikirkan adalah pergi dan (kembali) belajar pemrograman dalam paradigma yang sama sekali berbeda, untuk membebaskan diri dari cara berpikir berorientasi objek.

Saya sarankan minimal:

  • Bahasa assembly , untuk mendapatkan apresiasi nyata untuk cara kerja mesin
  • Haskell , untuk tampilan yang sangat murni pada pemrograman fungsional
  • Lisp , untuk pemrograman fungsional yang tidak murni dan metaprogramming (Clojure akan menjadi pilihan pertama saya, tetapi Skema atau Common Lisp juga bagus)
mikera
sumber