Saya sangat tertarik dengan teori-teori bahasa pemrograman dan akan menerapkan PhD dalam topik ini, tapi saya ingin tahu lebih banyak tentang karir setelah pendidikan pascasarjana. selain menjadi profesor, tetapi juga pekerjaan apa yang bisa saya dapatkan?
programming-languages
career-development
language-design
compiler
pengguna16854
sumber
sumber
Jawaban:
Jika Anda ahli dalam bahasa pemrograman dan teori automata, maka Anda harus memiliki peluang industri yang cukup sebagai pengembang kompiler atau spesialis optimasi backend.
Bahasa yang lebih baru muncul setiap saat, dan bahasa yang ada semakin ditingkatkan atau menargetkan platform yang lebih baru. Untuk misalnya C ++ pindah ke C ++ 0x, orang-orang perangkat keras bergerak dari Verilog ke SystemVerilog dan ARM semakin banyak digunakan dalam perangkat konsumen. Semua ini menyajikan peluang bagus untuk pengembang kompiler.
Yang terakhir, pengembang kompiler yang dapat menggunakan arsitektur multi-core akan memerintah di tahun-tahun mendatang.
Untuk pekerjaan kompiler lihat di sini .
sumber
Michael Feathers pernah menulis bahwa ia menemukan bahwa kebanyakan orang yang terlibat dalam pemrograman berasal dari skala mulai dari ilmuwan hingga insinyur.
Para ilmuwan mendapatkan tendangan mereka dari pembelajaran dan pemahaman, sementara para insinyur suka membuat barang dan melihatnya bekerja.
Pada ujung insinyur ekstrem, Anda memiliki orang yang terus-menerus memuntahkan kode baru, atau peretasan, hanya untuk menyelesaikan masalah. Mereka cenderung mengabaikan gambaran besar. Sebaliknya, para ilmuwan ekstrem, menjadi astronot arsitek dengan kepala mereka di kerangka besar yang keruh, dan tidak pernah memberikan garis kerja kode sepanjang hidup mereka. Programmer terbaik ada di suatu tempat di tengah.
Dulu saya berpikir saya adalah seorang programmer, karena saya suka membaca tentang hal itu, dan menghabiskan waktu berjam-jam untuk itu. Beberapa pekerjaan kemudian, saya menyadari bahwa saya sebenarnya memiliki masalah dalam menyampaikan, karena saya selalu mencari cara yang lebih baik, atau "cara yang tepat" untuk melakukan sesuatu. Ternyata saya terlalu banyak di sisi ilmuwan untuk menjadi efektif, setidaknya dalam pekerjaan pengembang "normal".
Either way, saya pikir Anda dilahirkan dengan preferensi untuk satu atau yang lain (saya telah membaca banyak tentang tipe kepribadian belakangan ini, terutama Myers-Briggs Type Indicator , dan memiliki firasat bahwa ini mungkin terkait dengan S / N fungsi, bagi anda yang tertarik dengan itu). Saya telah mencoba untuk memaksa diri saya untuk lebih praktis dan lebih sebagai "pelaku", tetapi saya merasa lelah.
Maksud saya terhadap pertanyaan awal adalah bahwa jika Anda menempuh jalur PhD, Anda mungkin lebih cenderung menyukai hal-hal teoritis daripada "membangun hal-hal praktis". Tidak ada yang salah dengan itu, tapi saya pikir pilihan karier seperti itu sering akan mengunci Anda dalam karir ilmiah / pendidikan. Anda tidak dapat berharap untuk dapat langsung dari PhD ke pekerjaan konsultan bergaji tinggi. Hal-hal yang Anda pelajari saat berolahraga di "dunia nyata" sangat berbeda dari praktik terbaik yang dipelajari dari buku.
Alternatif tentu saja untuk memulai bisnis Anda sendiri setelah PhD dan mengembangkan (atau merekrut seseorang untuk mengembangkan) aplikasi berdasarkan teori fantastis yang Anda temukan saat melakukan penelitian.
sumber
Saya telah berpikir untuk melakukan PhD selama beberapa tahun sekarang (saat ini sedang mengerjakan gelar Master jalur tesis) dan hal nomor satu yang telah saya sampaikan kepada para pemegang PhD di bidang akademik dan industri adalah sebagai berikut:
Fanantic23 meliput sisi karir dari hal-hal dengan cukup baik, tetapi tidak ada banyak pekerjaan di luar sana untuk PhD sehingga Anda perlu memastikan Anda ingin menginvestasikan waktu untuk mempelajari sesuatu karena alasan selain uang sebelum masuk ke program PhD .
sumber
JANGAN melanjutkan ke PhD jika Anda berharap mendapatkan pekerjaan akademis, atau jika Anda tidak keberatan menyia-nyiakan waktu bertahun-tahun hanya untuk akhirnya menjadi insinyur seperti yang akan Anda lakukan sebelumnya.
Bukan untuk mengecilkan hati Anda, tetapi sebagian besar orang dengan gelar PhD di CS, dan khususnya dalam topik-topik seperti bahasa pemrograman JANGAN berakhir sebagai profesor. Tidak ada cukup pekerjaan penelitian untuk berkeliling.
Pekerjaan penelitian di industri bahkan lebih jarang dan tersedia daripada pekerjaan penelitian di akademisi, karena mereka membayar lebih baik dan tidak memiliki persyaratan mengajar.
Pikirkan seperti ini: Jika Anda melihat jumlah makalah ilmiah PL yang diterbitkan per tahun, dan menganggap satu mahasiswa PhD per makalah, tidak semua orang ini akan menjadi profesor.
Saya meraih gelar PhD dalam Rekayasa Perangkat Lunak di CMU, di mana PL adalah salah satu bidang terkuat (kami adalah program top-3 dalam PL). Sepengetahuan saya, dari semua orang yang lulus dengan gelar PhD di PL, hanya dua yang berakhir di posisi akademik. Semua orang dipekerjakan sebagai insinyur perangkat lunak. Saya tahu satu yang bekerja pada hal-hal terkait PL, tetapi yang lain adalah generalis.
Hubungi saya secara pribadi jika Anda ingin saya berhubungan dengan orang-orang yang melakukan riset PL yang dapat memberi tahu Anda lebih banyak tentang pengalaman tersebut.
sumber
Saya berharap bahwa Anda dapat bekerja untuk salah satu laboratorium penelitian yang bekerja pada bahasa pemrograman, Microsoft dan IBM memilikinya seperti halnya sejumlah perusahaan lain. Belum lagi toko apa pun yang mengembangkan atau mengimplementasikan bahasa.
sumber
Anda harus berbicara dengan profesor almamater Anda sebelum memulai PhD.
Biasanya PhD bekerja di laboratorium penelitian atau menjadi profesor. Penghasilan seumur hidup biasanya jauh di bawah gelar MS.
Teori perbedaan bahasa pemrograman mungkin akan menempatkan Anda di bidang penulisan kompiler.
Juga, hal-hal ini tidak sulit untuk diketahui dengan membaca - Saya menyatakan ragu bahwa Anda siap untuk PhD jika Anda mengajukan pertanyaan ini.
sumber
Saya tertarik untuk mempelajari karir / kursus yang sama (Tesis pascasarjana saya terkait dengan Desain-Kompiler, dan saya juga mengajar kelas tentang "Perbandingan Bahasa Pemrograman", kedua konsep tersebut berhubungan dengan "Teori Bahasa Pemrograman").
Tapi, itu lebih sebagai hobi bahwa karier "membayar tagihan".
Ada juga masalah yang, Teori Bahasa Pemrograman, menerapkan banyak matematika, tetapi sulit untuk menerapkannya, secara praktis.
Jika Anda sudah memiliki kursus itu, bagaimana Anda mendaftar?
Contoh, buat Java Compiler Anda sendiri, buat lebih cepat dari aslinya, tambahkan beberapa hal, dan jual. Contoh: "HotSpot"
Atau, sesuatu seperti kompiler "Java / C # running in a toaster" dan jual ;-)
Mengajar kelas konsep terkait di Collegue / University, seperti Automatons, Compiler Design, Perbandingan Bahasa Pemrograman, dan sebagainya.
Anda juga dapat membuat Anda memiliki startup kecil, penuh waktu, atau bebas / paruh waktu, sambil memiliki pekerjaan programmer standar, yang membayar tagihan (Mencoba dan gagal). : -s
Ada beberapa perusahaan yang dapat menghasilkan produk perangkat lunak yang benar-benar memerlukan keterampilan khusus itu.
(Sebagian besar, merancang bahasa pemrograman, dan kompiler yang cocok, untuk mesin virtual / fisik tertentu, parser XML sendiri, dll).
Tapi, tampaknya sebagian besar dari mereka lebih suka menyewa pengembang murah generik, daripada pengembang dengan beberapa spesialisasi ...
sumber
Gelar doktor di CS dengan fokus pada teori bahasa pemrograman dapat membuat Anda mendapatkan pekerjaan di luar akademisi, tetapi kemungkinan besar masih dalam bidang penelitian. Microsoft (baik melalui MS Research atau Microsoft), Google, Amazon, Ericsson, HP, IBM Research, Oracle akan menjadi perusahaan yang memungkinkan.
Jika Anda memperluas peluang kerja Anda di luar disertasi masa depan Anda, Ph.D. mempekerjakan kelompok juga akan mempertimbangkan Anda untuk kedalaman studi Anda.
Dan itu hanya di sektor komersial. Jika Anda melihat DoE dan banyak labnya (Laurence Livermole, Sandia, dll) atau DoD atau kontraktor militer seperti Raytheon, General Dynamics (perusahaan saya) atau Lockheed Martin, ada posisi yang tersedia untuk ilmuwan dan peneliti. NSA ingin mempekerjakan Anda juga.
Peluang non-akademik untuk orang-orang dengan gelar doktor sains kurang (jauh lebih sedikit) daripada mereka yang membutuhkan gelar BS atau MS, tetapi mereka masih banyak, dibayar dengan upah layak dan bermanfaat.
Semoga berhasil.
sumber
Banyak pekerjaan yang tersedia:
C # /. NET di Microsoft
Java di Oracle
Perl6 (tidak akan mendapatkan banyak bayaran saya pikir)
ActionScript di Adobe
sumber