Bagaimana saya bisa membela Ruby on Rails terhadap pendapat pelanggan yang bukan teknis?

16

Pelanggan saya, seorang pemilik bisnis terjemahan, baru saja memberi tahu saya bahwa dia telah membaca tentang Ruby on Rails dan mengatakan kepada saya bahwa " ada lebih banyak orang PHP di sekitar sana " dan " sepertinya masyarakat lebih menyukainya ". Apa yang akan Anda, sebagai insinyur perangkat lunak dan freelancer, katakan kepada pelanggan untuk mencapai tujuan-tujuan ini:

  • Menjual
  • Buat dia melihat bahwa teknologi adalah keputusan ahli saya dan Rails sama bagus atau lebih baik dari PHP (+ kerangka kerja apa pun) untuk proyek khusus ini.

UPDATE: Terima kasih atas sarannya! Besok saya ada pertemuan lagi dengannya, mari kita lihat bagaimana kelanjutannya, saya akan memperbarui lagi :)

UPDATE 2: Akhirnya saya mengatakan kepadanya untuk membaca utas ini dan hasilnya luar biasa: Dia memberi saya proyek dan kami akan mulai sekarang. Terima kasih semua atas bantuannya, Anda memiliki bir gratis dalam biaya saya jika kita melihat suatu hari nanti :)

BTW: Saya belajar pelajaran: menjadi setransparan mungkin, karena jika Anda percaya pada diri sendiri dan pekerjaan Anda, tidak ada pertanyaan yang cukup kompromi untuk mengalahkan Anda.

salam

okeen
sumber
2
Voting untuk memindahkan pertanyaan ini ... Namun, saya akan mempertimbangkan menggunakan contoh penggunaan industri seperti shopify.com, twitter.com, dll. Dan juga menjelaskan bahwa pengembangan Rails cenderung lebih cepat daripada pengembangan di PHP (ini menurut saya ).
iwasrobbed

Jawaban:

47

Saya pikir Anda membuat kesalahan dengan mengasumsikan bahwa pilihan teknologi adalah keputusan murni teknis.

Pelanggan tampaknya khawatir tentang implikasi bisnis dari memilih teknologi tertentu. Karena itu, Anda harus mengajukan kasus yang membahas masalah bisnisnya setidaknya sebanyak pendapat teknologi Anda.

  • Pengusaha harus merekrut dari wilayah geografis tertentu dan daerah tertentu memiliki komunitas aktif khususnya di sekitar tumpukan teknologi tertentu. Jika Anda memulai bisnis di Pacific Northwest AS, misalnya, akan ada bias yang kuat terhadap tumpukan Microsoft hanya karena Microsoft sangat berpengaruh di daerah tersebut sehingga sebagian besar pengembang yang ingin Anda sewa memiliki pengalaman dengan tumpukan itu. Wilayah geografis lainnya memiliki profil yang sangat berbeda.
    Bicaralah dengan pelanggan Anda dan pahami mengapa dan bagaimana ia membentuk pendapatnya. Mungkin dia membaca bahwa komunitas PHP lokal sangat aktif atau bahwa perguruan tinggi setempat mengajarkan banyak PHP dan tidak ada Ruby. Mungkin dia punya pengembang tepercaya yang bisa dia hubungi untuk keadaan darurat sesekali yaitu pro PHP dan orang baru Ruby. Tentu saja, ia juga mungkin menggunakan metrik yang buruk seperti jumlah iklan pekerjaan atau resume yang menyebutkan berbagai kata kunci.
  • Pengusaha harus peduli dengan keberlanjutan jangka panjang tumpukan teknologi. Tahun lalu, misalnya, banyak perusahaan menginvestasikan banyak waktu dan upaya membangun aplikasi PowerBuilder (dan bahasa lain dari genre itu). PowerBuilder sering membuatnya sangat mudah untuk membangun lini aplikasi bisnis dan pengembang pada waktu itu sering sangat terpikat dengannya. Sayangnya, komunitas PowerBuilder lebih atau kurang runtuh meninggalkan perusahaan dalam situasi di mana mereka memiliki banyak kode yang ada dalam bahasa yang tidak seorang pun benar-benar ingin menggunakan di mana mereka mengalami kesulitan mendapatkan pengembang yang kompeten untuk mempertahankan kode yang ada dan proyek-proyek mahal yang memakan waktu. untuk memigrasikan aplikasi tersebut ke tumpukan teknologi lainnya. Kelebihan teknis relatif PowerBuilder adalah vs Java atau C ++ atau C # atau apa pun yang mereka migrasi ke titik itu;
    Bahasa-bahasa yang relatif bersifat religius seperti Ruby benar-benar memiliki potensi untuk menciptakan masalah-masalah warisan semacam ini bagi perusahaan-perusahaan yang tidak dapat memprediksi apakah bahasa tersebut akan gagal dalam beberapa tahun ketika orang-orang beralih ke mode berikutnya atau jika ia memiliki kekuatan bertahan yang nyata. . Anda tentu dapat mengurangi ini dengan menunjukkan bahwa Ruby tidak tergantung pada satu perusahaan atau organisasi sehingga tidak ada yang bisa memutuskan itu bukan lagi produk strategis untuk perusahaan. Jika pelanggan Anda telah dibakar di masa lalu dengan memiliki aplikasi yang dikembangkan dalam bahasa yang menjadi sakit kepala bisnis, Anda harus membuat alasan bahwa Ruby lebih seperti Linux dan teknologi open source lainnya yang berkembang tanpa perusahaan mendukungnya daripada bahasa yang memiliki mati selama bertahun-tahun.
  • Pengusaha menginginkan konsistensi dalam lingkungan sehingga memilih bahasa untuk satu proyek memaksa pilihan bagi banyak orang lain. Sekalipun Ruby secara teknis ideal untuk proyek yang Anda tawarkan, Anda harus menjelaskan mengapa itu sesuai untuk setiap aplikasi lain yang perlu dikembangkan oleh pelanggan ini atau menjelaskan campuran teknologi yang Anda yakini sesuai (misalnya Ruby untuk X, sesuatu yang lain untuk kamu). Namun, berhadapan dengan teknologi yang heterogen berarti biaya tambahan untuk bisnis.
Gua Justin
sumber
17
+1 Saya menemukan banyak orang di forum ini fokus pada alasan akademis untuk memilih dan tampaknya mengabaikan ekonomi
dietbuddha
10
+1 untuk mengemukakan masalah terkait bisnis yang sebenarnya (dan untuk menulis sebagian besar dari apa yang akan saya katakan, sehingga menghemat waktu saya :))
jcmeloni
Saya dapat menambahkan beberapa alasan bisnis atau beberapa alasan teknis mengapa Ruby bukan jawaban untuk setiap proyek kesayangan. Tapi kau berhasil melakukannya dengan baik, jadi dua jempol!
Alex
2
Ok, terima kasih atas pelajaran realisme Justin dan upaya menulis jawabannya, saya sangat menghargainya.
okeen
1
Saya akan menunjukkan sesuatu yang sedikit terlindung dalam jawaban ini: Pelanggan Anda mungkin benar. Ini mungkin bukan jawaban yang unggul secara teknis, tetapi seperti yang ditunjukkan kekhawatirannya mungkin valid, dan RoR bisa gagal dan mati, namun tampaknya tidak mungkin. Tentu baik untuk memberikan pendapat teknis Anda, karena pelanggan membutuhkannya untuk membuat keputusan yang tepat juga.
MattG
8

Sebagai permulaan, Anda dapat mengarahkan klien Anda di sini untuk melihat ekosistem yang ada di sekitar Rails. Anda juga dapat menunjuk ke startup yang sukses seperti LivingSocial, Shopify, 37signals, dll. Yang membangun bisnis mereka dengan Ruby dan Rails.

Anda dapat menyebutkan bahwa perusahaan besar seperti AT&T, SAP, dan Symantec juga menggunakan Rails (mereka semua sangat merekrut di RailsConf tahun lalu).

Anda dapat menunjukkan bahwa bisnis terjemahan memiliki banyak keuntungan dengan menggunakan bahasa / kerangka kerja yang membuat dukungan Unicode dan i18n relatif tidak menyakitkan.

Pada akhirnya, saya pikir Anda perlu menjual ide bahwa dapat menggunakan Rails adalah fitur premium yang ia dapatkan dengan mempekerjakan Anda: "Tentu saja semua orang lain menggunakan PHP. Tetapi Anda memiliki kesempatan untuk memiliki tumpukan modern yang mendukung aplikasi Anda. . "

Pada akhirnya, juga perlu jelas bahwa apa yang akhirnya ia beli adalah keahlian dan keahlian Anda; jika dia memiliki pengetahuan tentang teknologi web sisi server, dia tidak akan membutuhkan Anda. Bahasa dan kerangka kerja adalah keputusan implementasi, bukan persyaratan.

PS Jangan menyebut Twitter. Kami masih berusaha untuk membatalkan PR Rails yang buruk.

Jason Lewis
sumber
6

Saya akan menjelaskan bahwa itu pada dasarnya pilihan "Coke" vs "Pepsi". Keduanya diterima secara luas, keduanya memiliki orang yang akan bertarung dan mati untuk masing-masing, dan mereka berdua cukup memadai. Tunjukkan alasan Anda lebih suka RoR.

Brian Knoblauch
sumber
4
Saya tidak berpikir itu akan membantu dalam situasi ini. Jika itu benar-benar masalah selera pribadi, kemungkinan responsnya akan sepanjang baris "Yah saya beli, jadi gunakan PHPepsi karena konsultan pemrograman pemeliharaan akan lebih murah bagi saya di ujung jalan." Menggunakan Ruby perlu menjadi proposisi nilai tambah, dan dukungan multibahasa asli merupakan nilai tambah yang pasti untuk bisnis terjemahan.
Jason Lewis
6

Dia berbicara tentang orang, Anda berbicara tentang bahasa dan kerangka kerja. Dia tidak akan mendengar alasan yang murni teknis, sehingga Anda harus fokus pada apa yang orang lakukan dengan bahasa . Anda dapat berbicara tentang kekuatan orang di bawah Rails, bagaimana lebih mudah bagi satu orang untuk melakukan lebih dari orang PHP, lebih cepat (jika ini yang Anda yakini). Anda dapat bertanya apakah prevalensi pengendara Honda berarti mobil yang lebih baik daripada Rolls Royce, yang jarang terlihat. Anda dapat berbicara tentang komunitas yang sebenarnya terdiri dari, apakah ada terlalu banyak koki dalam sup modul (permata vs. modul, dll.), Apakah semua orang memiliki sindrom NIH, dan sebagainya.

Bagaimanapun, itu harus dalam hal orang karena dia ingin tahu bahwa dia bisa menggantikanmu. Bantu dia untuk mengetahui hal ini, karena dia (mungkin) tidak akan mau pergi. "Keputusan ahli" Anda sama sekali tidak ada hubungannya ketika dia tidak terlalu peduli dengan apa yang diketahui orang. Dia hanya ingin ada "lebih banyak orang" yang tahu hal yang sama.

Pada akhir hari, tidak ada rasa malu menyebut gertakannya. "Baik, pergilah dengan PHP. Semoga berhasil!"

Eric
sumber
2
Selalu penting untuk diingat bahwa memecat klien selalu merupakan pilihan.
Jason Lewis
3

Tunjukkan bahwa kerumunan PHP memiliki lebih banyak anggota karena penghalang masuknya terendah dan telah ada lebih lama. Pastikan untuk menunjukkan bahwa komunitas yang lebih kecil memiliki persentase programmer yang lebih tinggi yang layak untuk direkrut, PHP mungkin memiliki 10.000 programmer yang baik dibandingkan dengan 5.000 programmer kereta api, tetapi programmer PHP tersembunyi di blok 100.000 dibandingkan dengan 20.000 untuk programmer kereta api. (Angka-angka ini dibuat, tetapi mendapat titik di.) Maka Anda perlu menjelaskan bahwa komunitas benar-benar tidak memiliki preferensi antara PHP dan Rails.

Anda tidak dapat menggunakan alasan teknis pada orang yang tidak teknis, Anda tidak bisa menjelaskan mengapa iPhone lebih rendah daripada smartphone lain daripada seseorang yang hanya tahu tentang seperti apa ponsel itu. Anda perlu alasan yang mereka pahami.

Ryathal
sumber
+1 untuk menunjukkan pentingnya rasio signal-to-noise di komunitas dev.
Jason Lewis
2
Fakta bahwa angka-angka yang dibuat semacam mengarah pada kesimpulan bahwa titik tersebut dibuat juga. Mungkin benar atau salah tetapi itu akan membutuhkan fakta untuk membuktikan atau membantah, yang tidak ada. Tanpa fakta, itu hanya "Anda payah karena Anda bermain di tim lain", yang tidak terlalu profesional.
StasM
Saya setuju dan telah menggunakan argumen ini dengan atasan teknis juga. Peluang pengembang PHP berkualitas tinggi memiliki kemampuan melompat untuk Python atau Ruby yang memiliki proses RFC dan kontribusi komunitas meningkat setiap tahun. PHP adalah yang paling banyak copy dan paste, penghalang rendah untuk bahasa entri, menarik jenis pengembang yang tidak Anda inginkan.
Lincoln B
3

Pelanggan Anda mempekerjakan Anda, jadi mungkin dia memercayai keahlian Anda. Jelaskan bahwa profesional yang berbeda mungkin lebih suka alat yang berbeda, dan alat pilihan Anda kebetulan adalah RoR. Tunjukkan keberadaan komunitas dan penerimaan komunitas yang ada untuk RoR dan perusahaan sukses seperti sinyal yang menggunakannya, untuk menghilangkan kekhawatirannya bahwa Anda merekomendasikan beberapa teknologi misterius yang tidak diketahui oleh siapa pun kecuali Anda yang tahu. Tekankan bahwa Anda akan lebih produktif menggunakan alat yang Anda sukai (sehingga menurunkan biaya dan meningkatkan perubahannya pada kesuksesan) dan bahwa jika Anda perlu menemukan lebih banyak ahli RoR, itu tidak akan sulit untuk dilakukan. Jika dia lebih teknis, Anda bisa menunjukkan bagaimana RoR dapat berhasil dalam tugas-tugas yang dia butuhkan dibandingkan tidak kurang dari solusi pilihannya.

Hindari pengulangan FUD dan PHP yang umumnya meremehkan - jika Anda bukan ahli dalam PHP, ada kemungkinan besar Anda akan mengatakan sesuatu yang tidak akurat, salah atau sangat kontroversial, dan jika pelanggan Anda tahu Anda salah bahwa itu mungkin menyakitkan kredibilitas Anda dengannya dalam aspek lain.

StasM
sumber
2

Bos Anda ada benarnya. PHP jauh lebih populer daripada RoR yang mengakses beberapa situs yang berusaha melacak hal-hal seperti itu. Misalnya, lihat http://lang-index.sourceforge.net dan http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html >. Saya pikir bodoh jika mengabaikan fakta.

Saya sarankan Anda mengakui ia ada benarnya dan kemudian mengingatkannya bahwa RoR juga memiliki pengikut yang kuat. Tidak ada salahnya memiliki beberapa tautan ke situs populer yang dibangun dengan RoR yang dapat Anda tunjukkan padanya.

Bagaimanapun, dia benar-benar mencari jaminan Anda bahwa ia membuat keputusan bisnis yang tepat dan ingin bukti mendukungnya. Seperti kata pepatah lama, "Tidak ada yang pernah menembakkan panah pada mereka karena merekomendasikan Microsoft." Hal yang sama berlaku untuk PHP dalam pengembangan web. Beri dia fakta yang kuat dan hindari pendapat. Anda akan baik-baik saja.

chuck97224
sumber
1
Pepatah asli adalah "Tidak ada yang pernah dipecat karena membeli IBM." Mungkin seharusnya begitu, tapi ...
Matthew Flynn
1
Oh, saya dikenal menembak panah pada orang-orang karena memilih PHP ... :-)
Brian Knoblauch
1

Terjemahkan keyakinan Anda ke dalam istilah ekonomi yang dapat diukur (jika mungkin / valid). Fakta bahwa bisnisnya khusus terjemahan menunjukkan bahwa RoR (atau bahasa apa pun dengan dukungan multibahasa asli) secara teknis lebih unggul daripada PHP - tetapi ini harus diimbangi dengan biaya pengembang dan penyediaan server yang terkait dengan platform masing-masing. Bisnis mereka cenderung bertahan lebih lama dari hubungan Anda, mereka ingin jaminan bahwa mereka meletakkan fondasi yang tepat.

IME, mengakui kontra (dan juga pro) dari strategi Anda lebih meyakinkan daripada jumlah penginjilan - ini menunjukkan bahwa Anda lebih tertarik dalam memecahkan masalah mereka daripada menggunakan palu favorit Anda .

sunwukung
sumber
1

Pelanggan Anda bisa memiliki poin yang valid. Penawaran dan permintaan mempengaruhi harga. Jika pasokan pengembang dengan keterampilan khusus di wilayah geografis pelanggan rendah, harga untuk pemeliharaan perangkat lunak yang memerlukan rangkaian keterampilan yang lebih sedikit dapat meningkat lebih dari waktu ke waktu dibandingkan jika perangkat lunak dikembangkan menggunakan bahasa yang lebih populer yang memiliki ukuran lebih besar secara signifikan. kumpulan pengembang lokal yang terampil. Jadi masalahnya juga bisa menjadi salah satu manajemen risiko biaya jangka panjang.

hotpaw2
sumber
0

Ketika saya memiliki klien yang ingin menggunakan alat tertentu karena itu "standar industri," memiliki "konsensus," atau "apa yang digunakan semua orang," saya menunjukkan kepada mereka bahwa semua istilah itu adalah kode untuk "rata-rata industri. " Itulah yang dilakukan sebagian besar orang di daerah itu. Bisnis "rata-rata" gagal. Pilih alat Anda berdasarkan persyaratan pekerjaan, bukan pada apa yang dilakukan orang lain. Semakin sedikit programmer RoR tidak masalah jika sistem tidak perlu terlalu banyak mengutak-atik ketika selesai.

Laurence Perkins
sumber
0

Tentunya ini adalah keputusan bisnis untuk Anda berdua .

Untuk Anda pertanyaannya adalah:

  • Berapa biaya untuk menerapkan persyaratan pelanggan saya menggunakan Ruby on Rails?
  • Berapa biaya saya untuk mengimplementasikannya dalam PHP?
  • Nilai apa yang saya tempatkan dalam menggunakan lingkungan pilihan saya?

Untuk pelanggan Anda, pertanyaannya adalah

  • Berapa nilai manfaat PHP dari Ruby on Rails bagi saya?

Jika Anda memberikan penawaran kepada pelanggan Anda dengan Harga untuk implementasi menggunakan Ruby on Rails dan Harga terpisah untuk implementasi menggunakan PHP , keduanya berdasarkan jawaban atas pertanyaan Anda sendiri, maka pelanggan Anda dapat membuat penilaian sendiri panggilan untuk apakah tambahan biaya sekarang adalah penghematan yang layak di masa depan.

Ini tidak berbeda dengan mereka yang memutuskan apakah mereka harus memberikan kontrak kepada Anda, atau pengembang lain yang akan mengimplementasikannya menggunakan PHP seperti yang diminta.

Mark Booth
sumber
-1

Analogi dunia nyata terbaik yang dapat saya buat adalah "Apakah akan membeli Ford daripada BMW hanya karena pangsa pasar BMW lebih kecil?".

James Anderson
sumber
1
Kemungkinan kuat jika semua mekanik layanan BMW terlalu jauh, terlalu mahal, atau sangat buruk dinilai oleh agen konsumen untuk pembeli lokal.
hotpaw2
@hotpaw - cukup adil, tapi itu pertimbangan rasional, pangsa pasar itu sendiri tidak ada artinya.
James Anderson
-1

Pada akhirnya, programmer PHP adalah setengah dari biaya programmer Rails, dan apa yang Anda jika Anda menemukan pekerjaan yang lebih baik besok? Bos Anda akan benar-benar kacau dan berebut untuk menemukan pengembang Rails, dan itu membutuhkan waktu dan uang karena pengembang Rails kekurangan pasokan.

Satu-satunya alasan atasan Anda menyetujuinya adalah jika rasanya membuat ANDA lebih bahagia, dan dengan membiarkan membuat keputusan yang Anda inginkan, Anda akan lebih bahagia bekerja untuknya, dan dengan demikian menjadi lebih produktif.

Etay Luz
sumber