Apakah ada kekurangan untuk mengambil pekerjaan di mana saya akan menggunakan bahasa pemrograman yang unik? [Tutup]


37

Saya baru saja lulus dari perguruan tinggi dengan gelar CS, jadi saya ingin mencari pekerjaan di mana saya bisa belajar lebih banyak tentang bidang ini dan membangun beberapa pengalaman profesional.

Saya telah mewawancarai sebuah perusahaan yang menggunakan bahasa pemrograman in-house mereka sendiri, dan saya rasa tidak ada orang lain yang menggunakannya. Mereka belum menyebutkan menggunakan bahasa lain atau apa yang mereka gunakan untuk lingkungan pengembangan.

Apa yang harus saya khawatirkan dengan mengambil pekerjaan seperti ini? Jika saya berganti pekerjaan nanti, apakah saya harus mulai mencari posisi entry level lagi karena saya belum mendapatkan pengalaman khusus bahasa?


8
Bahasa tidak akan penting selama Anda merasa nyaman dengan pekerjaan Anda, lingkungan kerja dan tanggung jawab Anda.
Marcelo

5
Lulus dengan gelar CS berarti Anda memiliki kemampuan untuk mempelajari hal-hal baru. Anda akan terus dihadapkan dengan situasi di mana Anda harus memperoleh / mempelajari bahasa atau teknologi baru dan ini tidak berbeda. Apa yang Anda ambil dari pekerjaan ke pekerjaan adalah pengalaman pemecahan masalah. Sintaks bahasa tertentu datang untuk perjalanan.
Chris

11
Apakah bahasa berpemilik MUMPS kebetulan?
R0MANARMY

3
Jika itu Wasabi ( blog.fogcreek.com/the-origin-of-wasabi ) - ambillah!
Gerry

3
@DaveShaw: Dan orang-orang masih berlari dengan lembu jantan. Tidak selalu membuatnya menjadi ide yang bagus;).
R0MANARMY

Jawaban:


28

Kerugian utama:

  • bekerja di "lingkungan khusus" dapat berarti alat / dukungan terbatas yang dapat menyebalkan ketika Anda terjebak pada suatu masalah.
  • Bahasa yang mereka gunakan mungkin dirancang dengan buruk, yang menyebabkan Anda mengambil kebiasaan buruk sejak dini dan menulis kode hacky untuk membuat solusi.
  • Baffoon SDM tidak akan mengenali pengalaman Anda. (Ini tidak apa-apa. Perusahaan yang bersandar pada SDM untuk melakukan perekrutan teknis bukanlah jenis pekerjaan yang biasanya Anda inginkan. Setelah beberapa tahun, sebagian besar pekerjaan hebat datang melalui koneksi.)

Jika itu saya, saya akan bertanya kepada mereka mengapa mereka menggunakan bahasa in-house. Jika karena alasan yang sah, seperti kendala perangkat keras yang gila, domain yang tidak mudah dimodelkan dalam bahasa apa pun yang ada maka ini benar-benar baik-baik saja. Di sisi lain, jika jawaban mereka menunjukkan bahwa mereka menciptakan bahasa mereka sendiri sehingga mereka dapat menyatukan banyak peretasan dan logika bisnis ke dalam jumlah yang setara dengan sekelompok makro aneh, maka ini adalah bendera merah besar. Anda ingin memastikan bahwa mereka menggunakan prinsip-prinsip teknik yang baik, sehingga Anda dapat belajar dari mereka dan berhasil dengannya.Dalam hal ini Anda dapat melihat apakah mereka secara rasional dapat dibenarkan menggunakan bahasa yang dikembangkan di rumah yang tidak memiliki basis pengetahuan komunitas dan dukungan eksternal. Anda mungkin menemukan bahwa keputusan mereka sangat rasional (saya percaya facebook membangun versi PHP mereka sendiri untuk menangani skalabilitas, yang telah dilakukan dengan cukup baik bagi mereka), atau Anda mungkin menemukan bahwa mereka telah menciptakan keburukan bahasa yang telah begitu digabungkan secara erat dengan sistem inti mereka, yang tampaknya tidak dapat melepaskan diri darinya. Percayalah, Anda tidak ingin bekerja dalam bahasa yang tipe datanya disebut ImARInObj (Objek Faktur Piutang Usaha Tidak Berubah). Kopling ketat antara bahasa dan kebutuhan bisnis sering terjadi dalam situasi seperti ini, dan itu akan menjadi mimpi buruk mutlak untuk berurusan dengan sistem semacam itu setiap hari.


12
Sebenarnya itu tidak apa-apa karena baffoon HR menjalankan sebagian besar perekrutan, bahkan untuk banyak perusahaan yang baik ....
Cervo

1
Saya setuju dengan alat / dukungan. Di pekerjaan lama saya, kami menggunakan mesin akses data khusus. Saya tidak dapat memberi tahu Anda berapa kali saya ingin google proliferasi kesalahan runtime yang saya temui tetapi saya harus mengingatkan diri sendiri bahwa ini adalah hal internal. Anda bahkan tidak dapat memposting pertanyaan ke stackoverflow untuk mendapatkan bantuan. Anda berada di bawah kekuasaan perusahaan Anda dan Anda sebaiknya memangsa mereka memiliki dokumen yang baik, halaman / bagian bagian FAQ, dan atau dokumentasi untuk menyelesaikan masalah-masalah tak terduga yang mengganggu yang biasanya akan membawa Anda berjam-jam untuk melacak. Menyedot sangat buruk. Saya senang bisa kembali dengan NHibernate lagi.
A-Dubb

"Kamu bahkan tidak bisa memposting pertanyaan ke stackoverflow untuk bantuan." Bagaimana jika Anda meyakinkan salah satu orang yang memelihara jaringan internal untuk membuat klon SO in-house?
JAB

Saya mengalami masalah yang sama. Bahasa yang sangat khusus tanpa basis pengguna memiliki masalah dengan alat mereka. Salah satu opsi, yang saya gunakan, adalah untuk mengambil alat seperti roda gigi dan menulis kode untuk menulis kode. Apalagi jika banyak dari itu adalah boilerplate.
Spencer Rathbun

96

Lari, dan lari dengan cepat. Kecuali Anda sangat membutuhkan pekerjaan dan sangat lapar, ini adalah situasi yang ingin Anda hindari.

Saya memiliki pengalaman dengan perusahaan yang melakukan ini, dan satu-satunya alasan mereka melakukannya adalah agar karyawan mereka tidak mendapatkan pengalaman yang bermakna dan dapat dialihkan . Itu semua tentang kontrol.

Orang lain yang mengatakan di sini bahwa "pemrograman adalah pemrograman" benar, tetapi saya akan mengubahnya dan bertanya, mengapa tidak menggunakan beberapa bahasa standar yang ada dukungan eksternal, perpustakaan, forum, dan kumpulan programmer yang tersedia untuk memilih dari?

Satu-satunya waktu saya pikir situasi seperti itu akan baik-baik saja jika bahasa perusahaan adalah untuk perangkat keras khusus. Misalnya, Anda harus menulis semuanya untuk Interferometer Gamma-Ray 9000X menggunakan kode perakitan / mesin yang spesifik untuk mesin itu.


21
Potensi kurangnya dukungan dan dokumentasi (saya tidak pernah tahu alat internal untuk didokumentasikan dengan baik sebagai alat standar) adalah masalah besar, IMO. Dan alasan untuk melakukan hal-hal seperti ini perlu dipahami dengan baik.
Ethel Evans

15
+100 Pikirkan saja ... posisi selanjutnya yang Anda cari memiliki bahasa utama, Anda akan memiliki pengalaman profesional / aplikatif selama nol tahun. Anda akan memulai dari awal sebagai pengembang Junior lagi.

2
Bagaimana jika dia berbicara tentang Google, dan bahasanya adalah sawzall ( labs.google.com/papers/sawzall.html ), atau Go (sebelum dipublikasikan)? Apakah tidak ada alasan bagus lainnya untuk menciptakan bahasa baru?
Neil G

3
@Neil - Banyak alasan bagus, dan orang-orang biasanya menyebut mereka sedikit bahasa, DSL (bahasa khusus domain), atau (dalam kasus Google) "hal besar berikutnya." Saya tentu tidak menentang bahasa yang dipatenkan. OP mengatakan bahwa ini adalah satu - satunya bahasa yang digunakan. Google tidak menentang bahasa standar.
unpythonic

3
Saya suka ide untuk melihat motivasi perusahaan, tetapi IMHO, menciptakan bahasa Anda sendiri untuk tujuan menjebak karyawan Anda bukanlah ide yang akan keluar dari tanah. Sebaliknya, hampir pasti, seseorang menciptakan bahasa untuk memecahkan masalah tertentu, dan sekarang digunakan terutama untuk alasan warisan. Bukan lingkungan yang ideal, tapi setidaknya jinak.
tylerl

22

Karena resume Anda pada dasarnya kosong setelah Anda lulus, pekerjaan pertama Anda menempatkan banyak momentum di jalur karier masa depan Anda. Calon majikan Anda selanjutnya akan sangat membebani pekerjaan ini. Jadi, kecuali Anda akan memprogram dalam bahasa lain (lebih mudah dipasarkan), saya akan sangat menyarankan untuk tidak mengambil pekerjaan ini.

Saya mengatakan ini dari pengalaman karena saya baru saja meninggalkan pekerjaan pertama yang saya miliki setelah lulus dengan gelar CS saya, di mana saya berada di posisi yang hampir persis seperti yang Anda gambarkan. Sebagian besar pemrograman dilakukan dalam bahasa yang pada dasarnya tidak dikenal yang disebut Progress (alias OpenEdge ABL). Ini mengerikan. Tidak seburuk COBOL, tapi dekat. Saya terjebak di sana karena daerah sekitar tempat saya lulus tidak memiliki banyak pekerjaan pemrograman, dan saya sedang menunggu istri saya untuk lulus dengan gelarnya sebelum pindah.

Membuat bahasa itu untuk berbicara dengan bahasa atau basis data lain hampir tidak mungkin (bahasa itu terkunci dengan basis data miliknya sendiri - bonus!) Saya menghabiskan banyak waktu untuk menulis kerangka kerja sendiri yang sudah ada dalam bahasa lain, dan mungkin sudah lebih baik diimplementasikan karena bahasa tidak mendukung jenis paradigma "ekstensi" ini dengan sangat baik. Bahasa tersebut lebih disesuaikan dengan pendekatan "hubungi Progress Corp. dengan permintaan fitur, dan tunggu hingga versi n +1 untuk fitur baru". Tak perlu dikatakan, industri perangkat lunak tidak bergerak cukup lambat untuk ini menjadi pendekatan yang layak. Saya tidak akan melanjutkan tentang betapa buruknya itu, tetapi saya menganggap Anda akan menghadapi hal yang sama jika Anda berhadapan dengan bahasa hak milik.

Untuk menambah itu, basis kode yang ada, harus kita katakan, kurang optimal. Banyak kode lama sejak 80-an / awal 90-an. Saya berani bertaruh Anda harus mengharapkan sesuatu yang serupa, karena saya pikir sebagian besar perusahaan hanya tetap dengan bahasa eksklusif karena mereka membawa banyak barang bawaan ini bersama mereka. Ingat, mungkin sulit bagi pemberi kerja seperti itu untuk menemukan programmer yang mau membuat kode di lingkungan warisan / hak milik ini, ditambah lagi mereka mungkin harus membayar untuk pelatihan juga karena tidak ada yang pernah mendengarnya. Rekan kerja Anda mungkin juga tidak akan menjadi raksasa rekayasa perangkat lunak, karena efek Laut Mati(siapa pun dengan bakat mungkin sudah pergi). Saya mempunyai banyak masalah pada ulasan kode yang mencoba menggunakan kode berorientasi objek, apalagi semua jenis pola desain, karena mereka tidak memahaminya (orang-orang di tim saya memiliki, paling-paling, gelar MIS (jangan tersinggung) )).

Akhirnya, dengan asumsi Anda memang mengambil pekerjaan ini tetapi ingin melakukan sesuatu yang lebih baik begitu Anda pergi, untuk membuat diri Anda kompetitif untuk pekerjaan Anda berikutnya, Anda juga harus mengorbankan banyak waktu luang Anda di luar pekerjaan menciptakan mainan yang mudah pecah dalam bahasa yang lebih berharga (dan mungkin sumber terbuka sebagian besar dari apa yang Anda hasilkan), atau lakukan apa yang saya lakukan dan hemat sejumlah uang sebelum Anda berhenti dan menghabiskan satu atau dua bulan melakukan hal yang sama. Apa pun itu, ini adalah hal yang sangat menegangkan, terutama jika Anda menikmati hubungan sosial apa pun di luar pekerjaan atau menghabiskan waktu luang Anda melakukan sesuatu yang tidak dikodekan sesekali.

Sekarang, pengalaman saya mungkin tidak memetakan langsung ke pilihan Anda, tetapi saya yakin beberapa akan berlaku. Semoga itu setidaknya akan memberi Anda beberapa pertanyaan untuk diajukan. Seperti yang telah disebutkan orang lain, Anda mungkin ingin mencari tahu alat apa yang mereka gunakan (perangkat keras, lingkungan pengembangan perangkat lunak / IDE, dan tentunya kontrol versi). The Joel Test mungkin panduan yang berguna.

TL; DR

Jangan lakukan itu.

PS Bagi mereka yang mengatakan bahwa mempelajari bahasa baru itu berguna, itu sendiri benar. Masalahnya adalah ketika Anda terjebak menggunakan bahasa itu hampir secara eksklusif penuh waktu untuk jangka waktu yang lama, kehilangan paparan bahasa yang lebih berguna (dan teknik). Itulah yang ingin Anda hindari.


Ini. Sesuatu seperti ini baik untuk pekerjaan yang mudah dan stres rendah untuk bertahan sampai pensiun. Ini bukan cara yang baik untuk memulai karier.
Wayne Molina

Itu pemikiran yang menakutkan @Wayne: Belajar bahasa eksklusif di luar sekolah, kemudian gunakan bahasa itu secara eksklusif selama 50 tahun yang aneh ...
Morgan Herlocker

Mengerikan berarti menganggap enteng itu. Namun, jika Anda pernah dipecat atau perusahaannya bangkrut, Anda tidak akan memiliki nilai keterampilan yang bernilai bagi siapa pun. Anda mungkin juga belum ada di dunia bisnis.
Wayne Molina

Saya baru saja menyelesaikan kontrak di tempat berukuran sedang yang sistem intinya ditulis dalam Kemajuan - itu tidak diketahui. Untungnya, saya adalah salah satu .Net coders baru yang berinteraksi dengan sistem melalui panggilan layanan web. Mereka masih berhasil mendapatkan coders Progress kapan pun mereka membutuhkannya.
dave

16

Kelemahan yang jelas adalah Anda tidak akan dapat menambahkan pekerjaan ini ke persyaratan "5+ experience using language x" yang harus dimiliki oleh pekerjaan di masa depan. Ini bisa lebih menjengkelkan daripada yang Anda kira (berbicara sebagai seseorang yang telah memiliki pengalaman bertahun-tahun, tetapi berbagai bahasa pemrograman). Saya punya pengalaman profesional dengan VBA yang mungkin juga pengalaman dengan LOLCODE, berdasarkan pekerjaan yang saya cari hari ini.

Tetapi, apakah mereka menggunakan bahasa itu secara eksklusif? Jarang ada perusahaan yang hanya menggunakan satu bahasa. Bahkan waktu saya dengan VBA termasuk beberapa ASP, Java, dan PostgreSQL.


Saya mengedit pertanyaan saya untuk membuatnya lebih spesifik; mereka belum menyebutkan bahasa lain sejauh ini, jadi saya perlu bertanya tentang hal itu lain kali saya berbicara dengan mereka.
AlexMA

3
Sebenarnya saya punya masalah karena saya ingin pekerjaan Java dan semua pengalaman saya di. NET sehingga tidak ada yang akan mempekerjakan saya dan mereka sangat mirip. Dengan bahasa yang benar-benar khusus, Anda akan memiliki waktu yang lebih sulit. Sumber daya manusia dan sebagian besar perekrut adalah orang bodoh dan berpikir Anda membutuhkan 5 tahun pengalaman dalam setiap teknologi yang Anda sentuh ....
Cervo

8

Saya cenderung setuju dengan mantra, " pemrograman adalah pemrograman ", terlepas dari bahasa apa yang Anda gunakan. Begitu banyak pemrograman yang belajar untuk berpikir dan sisanya hanya sintaksis. Majikan potensial di masa depan akan lebih terkesan oleh, " Saya menyelesaikan X dengan Perusahaan Y " daripada mereka dengan " Saya sudah tahu bahasa X selama Y tahun ".

Pekerjaan terakhir yang saya ambil melibatkan banyak pekerjaan PL / SQL dan saya belum pernah menulis satu baris pun PL / SQL - Saya mengambilnya dalam waktu sekitar dua minggu.

Yang mengatakan, saya pasti akan terus berlatih dengan bahasa lain, hanya untuk tetap terkini. Saat berada di pekerjaan baru, miliki satu atau dua proyek kesayangan yang akan membuat program Anda tetap bugar dengan bahasa yang lebih standar, tetapi jangan terlalu khawatir.


Itu rencanaku; menulis aplikasi saya sendiri (atau apa pun) pada akhir pekan untuk meningkatkan keterampilan saya dengan teknologi yang saya minati. Yang mengatakan, seperti yang disebutkan Brian, saya mungkin tidak mendapatkan kualifikasi untuk posting pekerjaan yang membutuhkan pengalaman X tahun dengan bahasa Y. Apakah pekerjaan itu Anda mengambil membutuhkan sejumlah pengalaman PL / SQL?
AlexMA

@Alex: "... mungkin tidak mendapatkan kualifikasi untuk posting pekerjaan yang membutuhkan pengalaman X tahun dengan bahasa Y" adalah korban dari mengambil pekerjaan apa pun. Mengambil pekerjaan tertentu berarti Anda kehilangan peluang lain.
Chris

2
@ Chris Ya ... tapi agak berbeda jika Anda mempelajari "FooBar" dan tidak memiliki harapan untuk mentransfernya ke perusahaan lain yang juga menggunakan "FooBar". jika Anda belajar PHP ... tentu saja Anda tidak belajar C ... tetapi ada banyak perusahaan yang membayar untuk PHP.
WernerCD

3
-1 Ini adalah jawaban yang benar, tetapi tidak untuk pertanyaan ini.
wilhelmtell

2
"Majikan potensial di masa depan akan lebih terkesan oleh," Saya menyelesaikan X dengan Perusahaan Y "daripada mereka dengan" Saya sudah tahu bahasa X selama Y tahun "." --- Pengalaman saya di kedua sisi wawancara teknis telah menjadi kebalikan dari ini.

6

Di bidang TI, perusahaan sering kali berhubungan dengan perekrut untuk menemukan kandidat yang baik. Perekrut bukan spesialis IT, jadi punya beberapa kriteria dan mencocokkan kandidat dengan dan kemudian mengirim mereka kembali ke perusahaan. Ini berjalan sam dengan sumber daya manusia di perusahaan besar.

Anda punya masalah dengan itu. Anda tidak akan cocok dengan kriteria perekrut. Jadi, saya akan mengatakan bahwa itu bukan masalah untuk kompetitor Anda. Pemrograman adalah pemrograman, dan pemrogram yang solid harus tahu cara beralih dari satu bahasa ke bahasa lain, karena sintaksisnya kurang penting daripada mengetahui bagaimana melakukan kode yang andal, kode yang dapat diuji dan kode yang dapat dipertahankan. Kapasitas mereka sebagian besar bahasa independen.

Namun, selama Anda tidak akan cocok dengan kriteria yang cocok dari tidak ada orang TI yang merekrut Anda, mungkin akan merepotkan untuk mencari pekerjaan di masa depan. Bahkan jika Anda akan tetap kompeten. Orang-orang itu tidak tahu bagaimana menilai itu karena mereka bukan IT.

Saya pasti tidak akan merekomendasikan pekerjaan ini untuk yang pertama. Tetapi jika Anda sudah memiliki beberapa entri di CV Anda tentang teknologi yang digunakan secara luas (Java, PHP, C ++, C #, ...) lakukan jika Anda suka.


Terima kasih atas wawasan Anda tentang perekrut; kedengarannya tepat.
AlexMA

5

Pasti ada keterampilan yang dapat Anda ambil / tingkatkan dengan menggunakan bahasa dan lingkungan yang eksklusif. Seperti yang telah disebutkan dalam jawaban lain, beberapa keterampilan melampaui bahasa, dan mereka bisa sangat berharga pada resume.

Namun, keterampilan itu sering diabaikan ketika orang yang meninjau resume tidak teknis. Seringkali (di ujung bawah spektrum kualitas pekerjaan, yang, sayangnya, sering kali merupakan taruhan terbaik untuk pengembang yang relatif tidak berpengalaman) resume akan dievaluasi terutama pada x tahun bahasa y , dan keterampilan lain yang mungkin belum Anda miliki. bermain sampai setelah Anda mendapatkan kaki di pintu dengan sebuah wawancara.

Salah satu faktor lain yang perlu dipertimbangkan adalah bahwa lingkungan berpemilik cenderung (setidaknya, setidaknya) lebih cenderung dirancang dengan buruk, kurang hati-hati, dan umumnya membuat frustrasi daripada lingkungan utama. Bekerja secara eksklusif dalam sistem hak milik yang buruk bisa sangat mengecewakan, terutama bagi seseorang yang baru memulai karier dalam pemrograman.

Oleh karena itu, ingatlah bahwa pengalaman dengan sistem berpemilik, walaupun tidak sebagus pengalaman serupa yang bekerja dengan bahasa umum yang populer, masih lebih baik daripada tidak ada pengalaman dengan pengalaman panjang. Anda akan memiliki kemampuan melampaui level entry untuk beberapa posisi, dan untuk yang lain, Anda mungkin (atau mungkin tidak) masih memenuhi syarat sebagai entry-level untuk bahasa tertentu, tetapi pengalaman Anda akan menempatkan Anda jauh di depan sebagian besar orang lain yang bersaing untuk pekerjaan itu.

Sebelum Anda mempertimbangkan untuk melewatkan penawaran karena fokus pada bahasa yang dipatenkan, pastikan untuk mempertimbangkan pasar kerja saat ini, dan bagaimana aplikasi Anda secara umum diterima.


3

Itu datang ke bahasa tambahan dan keterampilan apa yang akan Anda ambil. Jika memang bahasa in-house mereka tidak digunakan atau bahkan dikenal di luar perusahaan, itu akan menjadi karir manfaat yang bijak (kecuali kemungkinannya meledak dan menjadi hal besar berikutnya). Saya menghabiskan beberapa tahun bekerja dengan alat pihak ketiga yang dengan sendirinya tidak berguna bagi saya (secara karir), namun dengan bekerja pada proyek-proyek itu, keterampilan HTML, css, dan javascript saya meningkat. Saya juga belajar banyak tentang bagaimana proyek perusahaan dijalankan dan terstruktur, berurusan dengan klien, mengelola harapan. Semua hal yang merupakan bagian tak terpisahkan dari pengembangan perangkat lunak modern yang sebenarnya bukan bahasa.


Saya telah mengedit pertanyaan saya untuk mencatat bahwa mereka belum menyebutkan bahasa tambahan apa pun; Namun poin bagus tentang keterampilan khusus non-bahasa.
AlexMA

2

Bagaimana dengan kerangka kerja: IDE, editor, perpustakaan? Sebagian besar aplikasi bisnis yang kompleks. pada hari ini tidak dapat dilakukan dengan editor teks biasa dan kompiler baris perintah.

Apakah mereka memilikinya untuk bahasa pemrograman kustom mereka?


Poin bagus. Sekali lagi, mereka belum menyebutkannya. Saya perlu bertanya.
AlexMA

2
Kadang-kadang IDE / toolets berpemilik sangat buruk (saya pernah bekerja dengan beberapa).
FrustratedWithFormsDesigner

2

Seringkali, belajar bisnis lebih penting daripada belajar teknologi. Jika Anda pikir Anda ingin tetap berada di industri tertentu di perusahaan ini, maka lanjutkan dan ambillah. Jika ini adalah ceruk pasar, atau yang tidak terlalu Anda minati, maka saya sarankan untuk melewatinya. Mengetahui seluk beluk dari (katakanlah) farmakokinetik dan proses penemuan obat akan membuka pintu yang hanya menjadi programmer C # / Python / Java tidak akan. Dan kecuali bahasa "unik" ini lebih merupakan pembuat kode atau konfigurator, Anda masih akan menyelesaikan masalah umum, jadi Anda masih akan mendapatkan pengalaman keseluruhan, bahkan jika teknik spesifik mungkin tidak dapat langsung ditransfer.


Ini juga. Satu- satunya cara agar pekerjaan ini bermanfaat adalah jika pengetahuan industri akan membantu dan Anda ingin pindah ke domain bisnis yang sebenarnya. Jika Anda ingin tetap menjadi pengembang, dengan kata-kata abadi dari Admiral Ackbar,IT'S A TRAP!
Wayne Molina

2

Saya akan mempertimbangkan untuk mengambilnya jika, dan hanya jika, Anda dapat memiliki banyak pengalaman dalam bahasa lain. Jika Anda melakukan mengambil pekerjaan itu, Anda dapat (dan harus) menjaga keterampilan Anda dengan bahasa utama dengan bekerja pada proyek-proyek open-source di waktu luang Anda.

Yang ingin Anda hindari adalah kemungkinan keterampilan Anda menjadi sangat disesuaikan dengan perusahaan yang satu ini dan tidak dapat dipindahtangankan kepada orang lain. Secara teknis, pemrograman adalah pemrograman, dan pengalaman di luar lingkungan pemrograman tunggal bermanfaat, tidak berbahaya, karena membantu Anda melihat masalah dengan lebih jelas.

Pikirkan seperti ini: jika Anda mengambil pekerjaan menulis program Perl, itu tidak selalu membawa Anda ke keabadian menulis program Perl. Juga tidak mengambil pekerjaan di .NET akan membuat Anda terikat selamanya dengan Microsoft.

Tapi inilah bagian yang penting: Saya tidak akan pernah mempekerjakan seorang programmer yang hanya tahu satu bahasa , bahkan jika itu yang saya ingin dia gunakan. Seorang programmer yang tidak memiliki berbagai pengalaman dalam banyak bahasa seringkali miskin bahkan dengan bahasa pilihannya. Ini juga mencerminkan kurangnya ambisi untuk mempelajari hal-hal baru.

Di sisi lain, jika seorang programmer mengetahui Python, Ruby, C #, PHP, C dan Erlang, maka fakta bahwa ia juga tahu APL bukanlah serangan terhadapnya, meskipun tidak ada kemungkinan di neraka bahwa kami akan menggunakan APL untuk apa pun.

Jadi, jika Anda memiliki disiplin menjaga bahasa dari menjadi satu-satunya fokus Anda, maka ambil pekerjaan itu.

Dan ada baiknya menyatakan lagi: berkontribusi pada proyek-proyek sumber terbuka. Mereka menghitung banyak lebih dari "pengalaman kerja" karena itu bukan sesuatu yang baru saja Anda lakukan untuk mendapatkan gaji. Programmer yang bekerja pada proyek sumber terbuka seperti emas.


2

Pekerjaan pertama saya setelah lulus dengan gelar CS saya terlibat mengembangkan dengan bahasa yang tidak jelas. Tidak unik. Tidak di rumah dikembangkan. Tapi VMS 4GL cukup tidak jelas sehingga saya tidak pernah melihat orang lain menggunakannya.

Dalam retrospeksi, ini adalah keputusan yang tidak bijaksana. Sementara saya belajar banyak tentang pengembangan perangkat lunak profesional melakukan pekerjaan itu, akan jauh lebih baik untuk juga mengembangkan kemahiran bahasa yang dapat dipasarkan untuk mengikuti keterampilan "lunak".

Saya beruntung - pekerjaan kedua saya bekerja dengan VMS 4GL lain yang tidak jelas. Mereka mempekerjakan saya karena mereka tahu mereka tidak dapat menemukan orang yang sudah tahu bahasa - fakta bahwa saya memiliki pengalaman di platform VMS dengan 4GL sudah cukup. Dan pada itu pekerjaan, saya memiliki kesempatan untuk mendapatkan terlatih dalam bahasa berharga ketika mereka melihat untuk menjauh dari VMS menuju server Windows.

Tetapi saya dapat dengan mudah tidak memiliki keberuntungan itu, dan menemukan diri saya lima tahun dalam karir saya dengan nol pengalaman yang akan membujuk seorang perekrut atau orang SDM untuk melihat resume saya.

Untuk pekerjaan pertamamu setelah lulus, aku benar-benar tidak merekomendasikannya.


2

Untuk memberikan meta-respons, saya perhatikan bahwa banyak respons mengatakan, "Dari pengalaman pribadi, ini adalah hal yang buruk."

Banyak orang lain berkata, "Secara teori, ini tidak harus buruk."

Tetapi tidak satu pun tanggapan yang saya lihat berasal dari orang-orang yang telah melakukan hal serupa dan berpikir itu adalah pengalaman yang baik .

Sekarang mungkin beberapa orang telah melakukan ini dan senang dengan pekerjaan mereka, tetapi tidak di Stack Exchange. Ini berlaku untuk beberapa perangkat lunak komersial. Misalnya, ada beberapa administrator Perangkat Lunak AG / Adabas AG yang benar-benar berdedikasi, tetapi tidak ada banyak diskusi terkait tentang Stack Exchange. Namun setidaknya seseorang mencari bahkan spesialis niche ini. Itu tidak akan benar dari bahasa yang sepenuhnya eksklusif.

Jadi jika tujuannya adalah untuk bergerak ke arah jenis teknologi yang dibahas di sini, fakta bahwa hanya sedikit yang mendukung hal ini dari pengalaman nyata menunjukkan bahwa itu belum tentu merupakan awal terbaik. Itu mungkin bukan ciuman kematian. Tetapi Anda ingin bekerja untuk mencegahnya menjadi penghalang jalan yang mengerikan, seperti dengan memulai atau berkontribusi pada proyek sumber terbuka yang terkait dengan aspirasi Anda.


1

Ambil pekerjaan itu jika Anda merasa ada programmer yang baik / hebat yang akan membantu dan membimbing Anda. Anda akan berpikir tempat yang melakukan ini memiliki orang-orang yang cukup baik, tetapi tidak dapat memastikan. Juga, apakah perusahaan ini memiliki reputasi untuk merekrut kandidat top? Anda mungkin disewa oleh orang lain terlepas dari bahasa yang digunakan pada pekerjaan.


1

Berhati-hatilah jika domain masalah didominasi oleh satu atau beberapa bahasa dalam industri ini. Pengembangan basis data terkait erat dengan SQL. Pengembangan FPGA sebagian besar terbagi antara Verilog dan VHDL. Bandingkan dengan aplikasi web yang ditulis dalam (kombinasi) Java, PHP, perl, python, Scala, C ++, dll. Seorang manajer perekrutan yang mencari pengembang web akan lebih memahami tentang keterampilan yang dapat ditransfer jika Anda tidak memiliki pengalaman khusus dalam bahasa pilihan mereka. Seorang manajer perekrutan yang mencari seseorang untuk menulis permintaan basis data akan mengharapkan pengalaman SQL.


1

Saya telah memprogram dalam bahasa berpemilik. Tapi itu bukan bahasa yang digunakan di semua tempat. Saya tidak menentang pengalaman itu sekarang, meskipun saya berusaha keras setiap saat melakukan pekerjaan itu. Saya mendapatkan kesempatan untuk menggunakan bahasa itu, mempertahankan bahasa itu dan, memperbaikinya, bersama dengan mempertahankan program yang ditulis dalam bahasa itu.

Sepanjang jalan, saya belajar membaca dan memahami bagaimana seorang penerjemah kecil akan bekerja. Jika calon atasan Anda memiliki sumber untuk kompiler / penerjemah untuk bahasa yang dipatenkan, Anda mungkin juga mendapatkan kesempatan untuk mengerjakan bagian dalamnya. Saya dapat mengatakan, dari pengalaman, Anda akan menghargai pengalaman kerja ini selama bertahun-tahun yang akan datang.

Keterampilan yang dapat ditransfer yang akan Anda peroleh adalah, kerja tim, rekayasa perangkat lunak, menulis kompiler / juru bahasa, atau bagian-bagiannya, algoritme, dll. Jika itu adalah juru bahasa, bahasa yang dipatenkan hanyalah topeng di mana Anda akan menemukan juru bahasa tersebut ditulis dalam, katakanlah, C, atau, bahasa lain tersebut. Jika bahasa eksklusif dikompilasi, Anda akan mendapatkan kesempatan untuk bekerja pada kompiler produksi yang sepenuhnya diikat boot. Jadi, ketika Anda mencari pekerjaan berikutnya, Anda perlu menjual keterampilan ini lebih keras daripada, katakanlah, C / C ++ / Java / Python untuk pengembang aplikasi atau, Python, Perl, Java, HTML, CSS, JavaScript, Flash untuk pengembangan web atau, Verilog, VHDL untuk pengembangan yang disematkan, atau, set bahasa lain untuk domain aplikasi lain.

Semua ini, dengan anggapan bahwa calon atasan Anda memiliki sumber untuk bahasa yang dipatenkan dan Anda bersedia bekerja lebih dari pada program-program yang ditulis dalam bahasa eksklusif. Namun, saya akui saya sangat optimis dengan mengatakan bahwa Anda mungkin mendapatkan kesempatan yang sama seperti yang saya dapatkan beberapa tahun yang lalu.

Pada wawancara, pengalaman bertahun-tahun dan keterampilan teknis tidak sendirian dalam merekrut keputusan. Rasa haus Anda akan pembelajaran, kecocokan budaya, kecenderungan budaya, membuat sebagian besar keputusan.

Jadi, untuk pekerjaan pertama, jika pekerjaan Anda tidak akan terbatas pada program yang ditulis dalam bahasa eksklusif saja, tetapi memungkinkan Anda untuk mengerjakan implementasinya juga, ambillah.


1

Saya pikir ada dua sisi dalam hal ini. Pertama ada pekerjaan khusus ini dan, kedua, bagaimana pengaruhnya terhadap prospek karir Anda.

Yang ingin saya ketahui tentang pekerjaan ini adalah mengapa mereka menciptakan bahasa pemrograman mereka sendiri. Apakah masuk akal? Jika tidak, saya akan mengambil pekerjaan yang berbeda.

Dalam sepuluh tahun terakhir saya telah bekerja untuk tiga perusahaan dengan bahasa mereka sendiri. Yang pertama karena, ketika proyek dimulai, tidak ada yang bisa melakukan apa yang mereka butuhkan. (Mereka menulis versi Techie dari Visual Basic, tetapi ini pada Unix dan bertahun-tahun sebelum VB ada.) Dua lainnya memiliki persyaratan kinerja yang tidak dapat dipenuhi dengan bahasa yang ada. Saya menganggap ini alasan yang cukup bagus.

Di sisi prospek karir, seperti yang telah disebutkan orang lain, perekrut dan SDM yang tidak mengerti pemrograman dan bekerja menggunakan serangkaian kotak centang akan mengalami kesulitan dengan CV Anda. Banyak perusahaan yang menginginkan program C ++ plug-and-play akan gagal membayar Anda untuk belajar bahasa baru. Semua ini benar.

Tetapi apakah Anda benar-benar ingin bekerja untuk perusahaan seperti itu?

Jika jawaban untuk itu adalah 'Ya,' maka Anda mungkin harus menolak pekerjaan ini dan mencari pekerjaan dengan persyaratan yang lebih konvensional. Juga, tergantung di mana Anda tinggal, Anda mungkin tidak mendapatkan banyak pilihan dan harus bekerja untuk perusahaan yang tidak benar-benar mengerti programmer.

Secara pribadi, saya tidak ingin bekerja untuk perusahaan seperti itu dan saya pikir itu adil untuk mengatakan bahwa saya tidak menemukan pilihan saya terlalu membatasi. Jika Anda memiliki rekam jejak belajar teknologi baru dengan cepat, memecahkan masalah dunia nyata dan, mungkin, beberapa pengetahuan "bisnis" maka saya pikir Anda harus baik-baik saja.

Juga ada yang positif. Berapa banyak tempat lain yang bisa Anda gunakan untuk bermain dengan kompiler / juru bahasa? Seberapa sering Anda memengaruhi fitur dan sintaksis baru dari bahasa yang Anda gunakan setiap hari?


1

Pertama-tama, bahasa pemrograman in-house tidak perlu hal yang buruk, namun, ada beberapa aturan dasar yang Anda butuhkan untuk membenarkan bahasa khusus.

Anda menulis bahwa Anda pikir mereka tidak menggunakan bahasa lain. Pertanyaan pertama yang harus Anda tanyakan adalah apakah mereka menggunakan bahasa lain juga.

Bahasa pemrograman khusus dapat memiliki justifikasi yang baik. Saya tahu matematika bekerja dengan bahasa khusus. Saya mendengar agen pajak menggunakan bahasa khusus untuk menghitung pajak dengan undang-undang tahunan yang berubah tentang mereka. Selamat datang di domain metaprogramming .

Namun, bahasa khusus apa pun, tidak boleh menerapkan bahasa lengkap. Di luar domain Anda masih harus kembali ke bahasa pemrograman klasik / dikenal luas. Bahkan dalam domain bahasa itu tidak mungkin setiap detail kecil dicakup oleh bahasa domain.

Pertanyaan bagus untuk diajukan:

  1. Apakah bahasa lain digunakan di perusahaan ini?
  2. Apa alasan bahasa lain tidak cocok untuk mereka?
  3. Apakah bahasa tersebut digunakan di luar perusahaan (oleh peneliti atau di bawah lisensi untuk perusahaan lain)
  4. Berapa banyak orang yang tahu bahasanya.
  5. Berapa banyak proyek / program (berhasil) yang dibuat dengan bahasa tersebut.

Dari jawaban-jawaban ini Anda harus bisa mengetahui apa keadaan bahasa itu. jika itu adalah bahasa domain yang menambah nilai luar biasa, itu tidak masalah. Jika itu somebodies proyek hewan peliharaan untuk menggantikan Java atau C # kemudian keluar dari sana secepatnya .

Sunting: saya sarankan Anda membaca artikel bahasa spesifik domain di wikipedia, yang seharusnya memberikan lebih banyak wawasan.


1

Kita mungkin tidak menyukainya, tetapi sebagai programmer komputer kita harus memiliki CV yang agen dan departemen SDM bersedia untuk meneruskan ke manajer proyek . CV kami juga harus menonjol karena mencocokkan yang dibutuhkan masih ditetapkan dalam waktu 30 detik dari seseorang yang melihatnya, itu juga harus memiliki kata kunci yang benar untuk itu cocok dengan pencarian basis data cv.

Jadi hanya bekerja dalam bahasa pemrograman yang unik adalah risiko besar! Namun menggunakan campuran DSL dan bahasa aliran utama dapat disajikan dengan baik di CV. (Anda harus mengatakan yang sebenarnya pada CV Anda, tetapi tidak harus menjadi seluruh kebenaran!)


1

Saya tidak akan terlalu gugup menerima pekerjaan seperti itu jika Anda sudah memiliki pengetahuan pemrograman yang luas. Jika Anda baru dalam industri ini, ini dapat membuat Anda sangat buruk secara profesional, mungkin sampai Anda harus memulai dari awal sebagai Jr atau magang nanti ... Ini bisa sangat buruk jika Anda tetap di sana. dengan perusahaan ini untuk sementara waktu, hanya untuk pergi tanpa keahlian yang dapat dialihkan.

Jika Anda sudah cukup berpengalaman dalam industri ini, maka ini bisa menjadi titik peluru yang sangat keren untuk karier Anda. Dan persepsi jika / ketika Anda meninggalkan tempat ini akan lebih dari "sial, dia seorang jedi, dia melakukan segalanya"


1

Bergabunglah dengan perusahaan hanya jika Anda akan bekerja di perusahaan sepanjang waktu hidup Anda, atau tidak pernah berpikir untuk mengambilnya bahkan jika Anda mendapatkan paket gaji yang baik. Saya memiliki pengalaman bergabung dengan perusahaan seperti itu dan terjebak di sana meskipun banyak frustrasi dalam pekerjaan, karena tidak ada pengalaman dalam bahasa pemrograman lain untuk mencari pekerjaan lain.


Ini. Waspadalah terhadap "peluang" ini, itu hanya peluang pensiun cepat.
Wayne Molina

0

Saya telah melihat seseorang dengan pengalaman 15 tahun, terutama sebagai pemimpin atau pengembang utama, tidak bisa mendapatkan pekerjaan dalam waktu yang lama, terutama karena perusahaan tidak memberinya pengalaman dalam apa yang telah menjadi bahasa dan API kontemporer.

Pemrogram dimasukkan secara mental ke dalam tempat sampah seperti yang dilakukan aktor dalam film (pahlawan, penjahat, dll ...) dan begitu Anda menetapkan apa tempat sampah Anda, saya pikir Anda dapat membuatnya lebih sulit untuk menemukan pekerjaan daripada jika Anda baru keluar dari perguruan tinggi.

Artinya, jika Anda memiliki gelar CS, Anda mungkin kandidat untuk sejumlah pekerjaan.

Tetapi jika Anda memiliki gelar CS dengan pengalaman 3 tahun di PHP, Anda sebenarnya KURANG dari kandidat untuk posisi pengembang web Java daripada ketika Anda lulus. Anda telah mematok diri sebagai pengembang PHP dan sampai Anda memiliki pengalaman yang bertentangan, itulah yang akan Anda lakukan. (Aneh, tapi saya pikir itu benar, Anda memiliki lebih banyak pengalaman total, tetapi resume Anda akan diabaikan sebagai tidak relevan karena itu adalah jenis pengalaman yang salah, sedangkan yang baru lulus dari perguruan tinggi, resume Anda mungkin belum)

Dan jika Anda memiliki gelar CS dengan pengalaman 1 tahun di SpecialtyLanguageX maka Anda telah menutup semua jenis pintu untuk diri sendiri.

Ini hanya pendapat dan pengamatan saya saja, saya tidak pernah melakukan perekrutan, ini seperti apa yang terlihat bagi saya.

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.