Berurusan dengan Fanboys [ditutup]

14

Kita semua mungkin pernah bertemu seseorang seperti ini, pengembang yang baru tahu bahwa bahasanya adalah satu-satunya bahasa yang benar dan tidak akan diam tentang hal itu. Bagaimana Anda menghadapi orang seperti ini? Saya tidak ingin menyinggung siapa pun (terutama karena fanboy di tempat kerja saya adalah pengembang senior). Tetapi saya ingin dapat menggunakan pilihan bahasa scripting saya sendiri ketika saya harus menulis naskah sekali pakai yang tidak pernah sampai ke repositori dan tidak ada orang lain yang perlu tahu ada.

Pikiran bahwa saya harus berurusan dengan ini:

  1. Tertawakan saja - "Haha ya mungkin bahasa X sedikit lebih mudah, saya kira saya seorang masokis!"
  2. Ikutilah - saya benar-benar lebih suka untuk menghindari ini karena saya tidak mampu menurunkan produktivitas yang terkait dengan mengambil bahasa baru.
  3. Sembunyikan bahasa saya - Menjadi pemrogram lemari dan sembunyikan monitor saya setiap kali saya membuat skrip atau mengotomatisasi sesuatu.

Apa yang akan Anda sarankan untuk situasi ini?

Daniel Gratzer
sumber
14
Bukankah lebih mudah untuk mengabaikannya, dan mungkin meminta sedikit saja profesionalisme ketika situasinya muncul?
zxcdw
25
Benar-benar yakin bahwa Anda bukan penggemar sendiri karena Anda bersikeras untuk menggunakan pilihan Anda ?
Doc Brown
11
@DocBrown Saya tidak memihak tetapi saya cukup yakin bahwa Perl (pilihan saya) lebih cocok untuk mem-parsing file teks daripada VB (pilihannya)
Daniel Gratzer
4
Pertanyaannya adalah, apakah lelaki itu benar-benar penggemar, alias, apakah dia hanya tahu satu hal dan memiliki justifikasi yang buruk mengapa ia menganggapnya "da terbaik", atau apakah ia benar-benar sangat baik dan memilih sesuatu tertentu sebagian besar karena itu benar-benar cara terbaik untuk pergi? Saya menanyakan hal ini dengan cara yang sama sekali tidak sarkastik, karena saya telah menamai beberapa orang sebagai penggemar-anak sendiri, sebelum menyadari bahwa mereka hanya tahu lebih banyak daripada saya.
Shivan Dragon
8
@ jozefg Saya benci meninggalkan subjek yang tidak konstruktif dan mungkin dianggap sebagai moderator, tetapi bukankah pindah ke VB dari Ruby merupakan langkah besar ke belakang?
maple_shaft

Jawaban:

14

Beberapa hal melompat keluar dari pertanyaan.

  • Apakah ini benar-benar naskah yang dapat dibuang? Jika ya, aneh kalau sedang dibahas.
  • Apakah Anda yakin skrip dibuang akan tetap apa adanya? Banyak hal-hal produksi telah menjadi naskah sekali pakai pada suatu waktu.
  • Apakah Anda akan menulis ulang skrip jika dipromosikan dan membutuhkan integrasi dalam sistem?
  • Apakah pilihan bahasa murni sintaksis atau itu bahasa dari bidang lain?

Saya agak mengerti bagian fan-boy, karena dari satu sisi, saya kadang-kadang berperilaku seperti fan-boy, sambil melindungi beberapa bahasa pilihan saya. Dan saya juga berurusan dengan penggemar-anak laki-laki lain yang mencoba membawa barang baru.

Pandangan saya tentang situasi ini adalah seperti ini:

  • Jika ini adalah bahasa baru, itu termasuk dalam tempat sampah.
  • Jika ini adalah bahasa yang terbukti di industri, dapat digunakan jika itu khusus untuk tugas tersebut.
  • Jika itu adalah bahasa yang sangat tidak populer, itu termasuk dalam tempat sampah, bahkan jika itu sangat keren dan sangat cepat.

Itu karena tidak ada yang tahu cara menulis perangkat lunak yang aman dan cepat dalam bahasa yang tidak dikenal, dan semua pengembang harus belajar. Naskah bodoh harus didukung lebih dari 20 tahun atau ditulis ulang. Lebih dari 20 tahun, setidaknya 50 pengembang berubah di toko rata-rata. Jika masing-masing menulis beberapa skrip mewah dalam bahasa baru, Anda memerlukan 50 runtime bahasa, 50 keahlian berbeda di tim, dan basis kode memiliki kode buggy dalam 50 bahasa. Dan beberapa bahasa tidak lagi didukung di Windows atau Linux. Dan kebutuhan server kustom berumur 10 tahun yang belum ditambal, tanpa suku cadang tersedia, 24/7.

Juga, tidak ada yang benar-benar ingin mendukung bahasa mati seperti VB, Silverlight, D, dll, ketika basis kode mungkin akan hidup lebih lama dari bahasa itu sendiri.

Coder
sumber
9
+1 untuk mempertanyakan sifat skrip yang dapat dibuang. Seorang mantan kolega dengan tegas mengatakan bahwa sebagian besar solusi sementara bersifat permanen.
Joris Timmermans
12
-1 untuk dengan tegas menolak semua bahasa baru. Ini sangat salah sehingga melampaui nasihat yang baik. Ini persis cara Anda berakhir dengan basis kode legacy raksasa di C sementara pesaing Anda menjalankan cincin di sekitar Anda dengan Ruby (atau Clojure atau apa pun) karena mereka dapat mengekspresikan logika apa yang harus mereka lakukan jauh lebih cepat daripada yang Anda bisa. Untuk berhasil secara mengagumkan, alih-alih dengan lemah, Anda harus memilih para pemenang lebih awal .
Rex Kerr
2
-1 untuk pelabelan VB & Silverlight sebagai "tidak populer". Anda akan mendukung bahasa yang tidak populer sejak lama ... tiobe.com/index.php/content/paperinfo/tpci/index.html
deworde
3
D sudah mati? Itu berita baru bagi saya, terutama karena versi baru dirilis minggu lalu! -1 dlang.org/changelog.html
Gary Willoughby
4
menyebutkan bahasa secara eksplisit: ide buruk.
Nadir Sampaoli
16

Apakah dia memutuskan apa yang Anda gunakan berdasarkan kebijakan perusahaan? Banding kasus Anda kepadanya; jika ia masih memutuskan untuk tidak melakukannya, tutup mulut dan lakukan pekerjaan Anda dengan alat yang menurut atasan Anda harus Anda gunakan.

Anda bekerja di sana, bukan bermain di sana. Pada akhirnya itu keluar dari tangan Anda.


Bahkan jika dia bukan bosmu, aku akan mempertimbangkan semua sudut di sini. Apakah Anda suka jika dia tahu Fortran dan suatu hari Anda mewarisi semua kode-nya. Anda harus belajar bahasa baru dari awal dengan cepat , itu sangat menegangkan. Sekarang bayangkan sisinya, Anda mungkin menulis skrip Anda menggunakan Cobol dan dia mungkin tidak tahu Cobol.

Gunakan sesuatu yang diketahui sebagian besar tim Anda.

sergserg
sumber
6
"Kamu bekerja di sana, bukan bermain di sana." +1
funkybro
1
Tetapi langkah pertama untuk membuat perubahan yang ingin Anda lakukan adalah membuktikan bahwa mereka efektif dalam lingkungan yang aman.
deworde
9

"2. Ikuti saja"

Ini satu-satunya jawaban yang masuk akal. Anda memiliki peluang besar di sini.

  • Gunakan komentar programmer senior untuk mendorong perusahaan Anda membayar waktu dan / atau kursus dan / atau sertifikasi untuk mempelajari bahasa baru. Skenario kasus terburuk: sertifikasi dan bahasa akan meningkatkan resume Anda, Anda mungkin mendapatkan rekomendasi yang bagus untuk menjadi pemain tim, dan Anda bisa tertawa sampai ke pekerjaan yang lebih baik di tempat lain.

  • Saya telah memperoleh wawasan berharga tentang pemrograman dari setiap bahasa yang saya pelajari. Bahkan bahasa yang paling tidak praktis ( batuk XSLT batuk ) memiliki sweet spot dan penuh dengan kesempatan belajar yang menarik (dan membayar tagihan saya selama beberapa tahun). Pembelajaran konstan adalah salah satu manfaat besar menjadi seorang programmer.

  • Semua proyek keren mungkin menggunakan bahasa favorit pengembang senior. Mengetahui bahasa itu menempatkan Anda dalam kumpulan talenta yang dapat mengerjakan proyek-proyek itu.

  • Seseorang mungkin membayar Anda untuk melakukan pekerjaan tertentu dengan cara tertentu. Respons lain apa pun mungkin pembangkangan dan kemungkinan berakhir buruk.

Pengembang / arsitek senior biasanya memilih bahasa utama yang digunakan di toko dan memastikan bahwa semua orang menggunakan bahasa itu. Dengan cara ini, sebuah perusahaan membangun basis pengetahuan dalam teknologi tertentu sehingga satu karyawan (Anda) dapat berlibur dan orang lain dapat mengambil kode Anda dan memperbaikinya saat Anda pergi. Juga perusahaan dapat membawa bakat pelatihan yang relevan dan departemen SDM akan tahu kata kunci mana yang harus dicari di resume.

Dengan mempelajari bahasanya dan menggunakannya untuk pekerjaan, Anda mengumpulkan modal politik yang Anda butuhkan untuk mengadvokasi bahasa favorit Anda secara efektif . Banyak perusahaan memiliki bahasa infrastruktur resmi dan bahasa scripting resmi untuk laporan. Persiapkan daftar pro dan kontra yang menunjukkan di mana bahasa mereka unggul dan di mana bahasa Anda berada, juga di mana masing-masing kurang. Anda perlu menyimpan daftar ini dalam konteks aplikasi tertentu, seperti laporan yang Anda tulis. Rencanakan waktu bersamanya untuk secara pribadi dan penuh hormat memperlihatkan daftar itu dan mendiskusikannya dengannya. Tuliskan keberatannya, teliti setelah pertemuan, dan jika Anda memiliki argumen balasan yang bagus, rencanakan pertemuan tindak lanjut.

Semoga berhasil!

GlenPeterson
sumber
4
tetapi sungguh siapa yang ingin belajar VB?
Michael Brown
Fanboy suka VB? Saya yakin Anda dapat menghasilkan uang dengan VB, tetapi saya berlari menjerit darinya dalam karier saya. Saya masih tidak suka opsi 1 atau 3. Saya akan menambahkan opsi 4: Perbarui resume Anda dan temukan sendiri pekerjaan baru. Juga opsi 5: Perbarui resume Fanboy dan temukan DIA pekerjaan baru! Jika itu bukan opsi, maka saran saya sebelumnya tentang opsi 2 masih akan berlaku.
GlenPeterson
7

Tunjukkan bahwa dalam konteks tertentu, bahasa lain adalah pilihan yang lebih pragmatis.

Jika orang tersebut menyukai C ++ dan Anda sedang mengerjakan proyek aplikasi web, itu tidak akan terlalu sulit. Dengan cara yang sama, beberapa konteks yang sangat condong ke pemrograman fungsional dan menggunakan bahasa non-fungsional akan sangat tidak bijaksana.

Catatan:

  • Hindari situasi di mana bahasa Anda dan pilihannya sangat mirip.

    Sebagai contoh, saya tidak akan membayangkan konteks di mana Java akan "lebih baik" daripada C #, atau C #, "lebih baik" dari Jawa.

  • Ingatlah bahwa pilihan bahasa sering kali bersifat subyektif dan lebih banyak dijelaskan oleh pengalaman pengembang sebelumnya daripada beberapa elemen berbasis bukti.

    Sebagai contoh jika saya diminta untuk melakukan aplikasi relatif terhadap sektor keuangan, saya masih akan menggunakan C # daripada Haskell, bahkan jika saya menemukan Haskell lebih tepat dan benar-benar menarik. Alasan pilihan ini adalah bahwa saya memiliki pengalaman bertahun-tahun dengan C #, tetapi ketika datang ke Haskell, saya hanya membaca beberapa tutorial dan tidak pernah menggunakannya secara profesional.

Arseni Mourzenko
sumber
1
Linq ingin bicara. ;)
sergserg
@ MainMa, jangan katakan C # hampir tidak bisa lebih baik dari Java. Ia bekerja lebih cepat, dan memiliki banyak fungsi
bawaan
14
Ini adalah fanboys sepanjang jalan!
Froome
2
@superM: "lebih cepat" sangat subjektif sehingga saya bahkan tidak akan menjawab argumen ini. Sedangkan untuk fungsi bawaan, fungsi bawaan Java terlihat cukup besar untuk saya.
Arseni Mourzenko
3
"[Pilihan bahasa] dijelaskan lebih banyak oleh pengalaman pengembang sebelumnya" - dan juga oleh tujuan profesional pengembang saat ini, yaitu "Saya suka menambahkan dalam X (berdasarkan dolar perusahaan)".
funkybro
3

Jawabannya adalah 2) Ikuti itu.

  1. Satu-satunya cara untuk menutup fanboy adalah menjadi fasih (sampai taraf tertentu) dalam bahasa pilihannya.
  2. Hilangnya produktivitas bukan masalah. Anda melakukan seperti yang diminta oleh senior Anda, sehingga perubahan produktivitas harus diakomodasi oleh proyek.
  3. Mempelajari bahasa baru akan membuat fungsi otak Anda lebih baik.
  4. Belajar bersikap terbuka tentang belajar bahasa baru akan membuat Anda lebih baik.

Ini win-win-win-win. Nikmati!

Dominic Cronin
sumber
3
Apakah ini valid bahkan jika bahasa baru adalah VB?
Nadir Sampaoli
Belajar Visual Basic mengajari saya banyak hal berguna yang saya tidak akan pelajari jika saya terjebak pada bahasa pilihan saya pada saat itu (C dan PL1 jika saya ingat dengan benar)
Dominic Cronin
2

Jawabannya adalah Anda tidak menghadapinya. Berdebat dengan mereka hanya menyeret arguer ke tingkat mereka (di mana mereka mengalahkan Anda dengan pengalaman) dan pada akhirnya tidak konstruktif karena mereka berpikiran dekat.

Abaikan setiap argumen yang mereka berikan untuk atau menentang bahasa mereka dan buat keputusan sendiri. Gunakan teknik yang biasa seperti menghindari kontak mata, menjawab monosylabically dan pindah ke subjek baru ketika keheningan memastikan. Latih mereka untuk mengganggu orang di sebelah Anda.

Tantangannya di sini adalah penggemarnya mengasosiasikan bahasa dengan identitasnya dan segala negativitas yang terkait dengan bahasa itu bersifat pribadi. Jangan menyerang atau bertahan. Abaikan saja.

akton
sumber
Anda tidak bisa mengabaikan selamanya. Terutama ketika orang itu membujuk Anda untuk menggunakan bahasa pilihan mereka
superM
2

Sangat sedikit hal di pekerjaan yang benar-benar skrip dibuang. Saya akhirnya meletakkan banyak hal seperti itu di wiki atau di repositori jika diperlukan lagi.

Bahkan hal-hal yang saya pikir berada di bawah tingkat berbagi, rekan tim saya sering merasa berbeda. Misalnya, saya memiliki alias rgrep di. Profil saya. Itu hanya pernyataan find dengan parameter karena saya tidak memiliki akses ke rgrep nyata di server itu. Seorang rekan tim mendapat angin dan menginginkannya di wiki .. Ya, pernyataan satu baris. Jelas kami tidak memiliki perdebatan tentang bahasa implementasi - itu harus UNIX. Tetapi ini menyoroti perlunya melakukan hal-hal yang dapat dimengerti oleh orang lain dalam tim.

Putaran lain adalah kemungkinan pengembang senior memiliki alasan yang tidak Anda ketahui tentang penggunaan bahasa itu. Sudahkah Anda bertanya?

Mungkin cobalah membuat skrip yang sama dalam kedua bahasa sekaligus untuk menunjukkan mengapa skrip Anda lebih baik.

Jeanne Boyarsky
sumber
1

Anda harus mencoba fogging . Ini berarti setuju dengan semua yang dikatakan oleh fanboy (sebagian atau keseluruhan), tetapi lakukan hal Anda sendiri kecuali diperintahkan untuk melakukan sebaliknya.

Peter K.
sumber
1
Anda benar (pada prinsipnya;).
yannis
3
Bersikap pasif agresif?
Gary Willoughby
Ada perbedaan antara menjadi agresif-pasif dan menggunakan teknik untuk berurusan dengan orang yang tegas. Tentu, jika ketegasan turun ke dogma, maka ini bisa turun menjadi perilaku pasif-agresif. Kalau begitu, situasinya sangat buruk ... jadi pilihan terbaik adalah pergi. ;-)
Peter K.
0

Pilihan pasif-agresif 1,3 menyebabkan lebih banyak tekanan emosional, jadi beri saya 2) bawa dagu.

Beberapa saran umum untuk jalan: 4) Jika Anda tidak mendapatkan yang lebih pintar mendengarkan senior Anda, lakukan studi Anda sendiri dalam desain bahasa / kompiler. Pilih bahasa dan pelajari pemikiran apa yang ada di dalamnya. Apa kompromi antara fitur, kinerja, dan kekuatan ekspresif. Apa pilihan lain yang ada. Ini saja akan memberi Anda kekuatan super pemrograman tidak manusiawi. Belajar NBL bahkan, itu akan menjadi sangat besar.

Menegaskan diri sendiri dengan mendorong pendapat tentang orang lain menghambat produktivitas dan komunikasi. Orang-orang mungkin berpikir menyerah pada dorongan emosional itu membantu, tetapi itu hanyalah bantuan band pada ketidakamanan mereka.

Bersikap rendah hati dan baik hati dengan nasihat, dan meningkatkan diri sendiri akan melakukan keajaiban untuk mengekspresikan perasaan Anda pada tingkat teknis. Anda akan merasa lebih baik dan melihat apa adanya, karena Anda akan dapat bernalar. Sulit untuk marah ketika Anda mengeksternalisasi kritik ke konteks teknis.

Jano
sumber