Haruskah saya menerima pekerjaan jika pemrograman pasangan diperlukan? [Tutup]

28

Saya telah ditawari pekerjaan yang menarik, tetapi ada peringatan besar bagi saya: mereka menggunakan pemrograman berpasangan.

Saya benci ide pemrograman pasangan, dan saya mungkin tidak cocok untuk itu: Saya suka sering jeda, saya benci melihat seseorang pemrograman (saya akan terus-menerus menyodok pasangan untuk mengkode diri saya sendiri), saya harus penuh Kontrol mesin yang sedang saya kerjakan, saya suka bekerja mendengarkan musik, dan pada dasarnya saya tidak suka terikat dengan orang lain. Saya bahkan bukan orang sosial.

Namun saya belum pernah benar-benar bekerja dengan pemrograman pasangan sejati (selain beberapa kali untuk waktu singkat untuk membantu orang lain atau untuk menyelesaikan tugas yang kompleks bersama-sama) ... jadi pemrograman pasangan benar-benar seburuk itu? Dan mengingat sikap saya, haruskah saya menolak pekerjaan itu atau haruskah saya meninggalkan pekerjaan saya saat ini dan mencobanya?


Untuk orang-orang yang bertanya tentang hal itu: Saya mencari pekerjaan di mana desain dan pengembangan formal digunakan, karena saya membenci pekerjaan saya saat ini di mana kita "coding in the wild". Perusahaan ini sangat tertarik dengan profil teknis saya sehingga mereka bersikeras bahkan ketika saya menentukan bahwa saya tidak pernah bekerja dengan pemrograman berpasangan dan bahwa saya mungkin tidak akan menyukainya (selain menjadi pemrogram penyendiri yang tidak ramah, saya tidak suka dan percaya konsep dari pemrograman pasangan).

Wizard79
sumber
8
Yah, Anda secara pribadi tidak terdengar sedikit pun tertarik pada hal itu, jadi saya tidak berpikir Anda harus melakukannya kecuali jika Anda ingin mencobanya di perguruan tinggi yang lama.
Paul Nathan
1
Saya menemukan kompromi antara pemrograman pasangan total dan pemrograman solo adalah campuran yang bagus. Anda mendapatkan manfaat dari set mata kedua tetapi juga mendapatkan beberapa ruang dan ruang untuk bernapas di separuh waktu lainnya.
Chris
Berguna ketika Anda baru mengenal bahasa pengkodean itu ... Anda dapat segera mendapatkan bantuan .. Anda tidak perlu menunggu ppl untuk membalas Pada SO: P
GoodSp33d
4
@ Lorenzo, apa yang Anda putuskan pada akhirnya, dan bagaimana hasilnya?
Benjol
5
@Benjol: Saya sudah mencoba selama beberapa minggu (sementara itu saya bisa menjaga pekerjaan yang ada dalam keadaan siaga) dan kemudian saya menyadari bahwa saya benar-benar benci pemrograman pasangan, jadi saya kembali ke pekerjaan lama saya.
Wizard79

Jawaban:

16

Berdasarkan berbagai komentar Anda di sini, Anda tampaknya memiliki pandangan / disposisi yang sama dengan diri saya pada subjek. Dan saya telah mengalami "Pair Programming". Dan saya jelas tidak akan bergabung dengan perusahaan yang mengharuskan saya menggigit kalajengking. :)

Apa yang saya sarankan adalah: Pergilah dengan ususmu.

Jika perusahaan akan memaksa Anda untuk melakukan Pair Programming dan Anda tahu Anda tidak mau, jangan bergabung.

Jika mereka akan memberi Anda kesempatan untuk menunjukkan bahwa Anda dapat menghasilkan pekerjaan yang lebih baik lebih cepat daripada gabungan dua pengembang mereka saat ini, silakan dan buktikan.

Sebelum Anda memutuskan untuk yang pasti, saya pasti setuju dengan rekomendasi yang Anda minta untuk berbicara dengan pengembang yang ada di sana, dan merasakan mereka sebagai orang. (Saya mungkin akan merekomendasikan itu untuk pekerjaan baru, terlepas dari metodologi yang digunakan.)

Peter Boughton
sumber
30

Coba tebak - tidak ada yang suka pemrograman pasangan pada awalnya .

Ketika saya pertama kali mencoba berpasangan pemrograman saya menentang gagasan itu dan saya punya banyak keberatan serupa dengan Anda. Saya tidak suka menonton pengkodean orang lain, saya suka mendengarkan musik, saya merasa saya akan lebih cepat bekerja sendiri, saya tidak ingin berhenti dan menjelaskan sendiri terus-menerus, dll. Dll.

Lalu saya mencobanya. Dan coba tebak? Itu masih mengisap . Kami mengalami semua jenis masalah - Saya ingin bekerja dengan jam yang berbeda dengan orang lain, kami memiliki pengaturan keyboard dan cara pintas yang berbeda, meja kami tidak bekerja dengan sangat baik untuk pemrograman pasangan, dll.

Ini berlangsung selama sekitar satu minggu. Selama minggu itu kami menulis ulang seluruh sistem login lawas untuk aplikasi terdistribusi. Kami harus belajar bagaimana beberapa masalah threading yang sangat sulit bekerja, mencari tahu bagaimana remoting sink bekerja, mengubah berton-ton kode warisan untuk bekerja dengan modul login baru kami dan cukup banyak melakukan beberapa pengkodean paling sibuk yang harus saya lakukan di karir saya. Setelah seminggu ini, kami menyebarkannya .. dan semuanya berjalan dengan baik . Bukan bug tunggal . Bukan satu .

Saat itulah saya pikir mungkin ada sesuatu untuk pemrograman pasangan ini omong kosong. Kami mulai melakukan lebih banyak pemrograman pasangan. Kami bahkan mulai memaksa semua orang untuk bekerja berpasangan. Mengguncang. Saya mungkin belajar lebih banyak dalam sebulan melakukan itu daripada yang saya lakukan dalam 2 tahun sebelumnya . Masalah lain tidak hilang. Terkadang Anda akan terjebak dengan pasangan yang tidak Anda sukai. Itu akan terjadi. Terkadang Anda akan kesulitan menemukan jam kerja yang tumpang tindih. Terkadang Anda hanya ingin bekerja sendiri. Tetapi keuntungan dari pemrograman pasangan hanya luar biasa.

Sejak itu saya selalu mencoba melakukan pemrograman pasangan sebanyak mungkin. Ini hanyalah cara belajar terbaik. Perusahaan ini memaksa semua orang untuk melakukan pemrograman berpasangan? Di mana saya mendaftar? Menurut saya mereka sangat tercerahkan dan Anda akan berada dalam lingkungan kerja yang sangat intens. Luar biasa.

Karena itu, pastikan bahwa pasangan sering diputar. Anda tidak ingin terjebak mengembangkan dengan satu pengembang lain selama berbulan-bulan - Anda akan keluar dari pikiran Anda. Bagaimanapun, kita semua manusia. Juga, periksa bahwa ini telah menjadi praktik yang berkelanjutan untuk sementara waktu. Jika tidak, ini bukan akhir dunia, tetapi jika ini merupakan praktik yang diterima, itu adalah lampu hijau besar.

Percayalah, Anda ingin bekerja untuk perusahaan seperti itu.

Jaco Pretorius
sumber
5
Saya akan menyarankan bahwa OP hanya akan berhasil di perusahaan seperti ini jika dia terbuka untuk belajar bahwa dia sebenarnya tidak sebagus pemrograman seperti yang dia kira, dan kemudian datang untuk ingin belajar bagaimana menjadi lebih baik.
dash-tom-bang
5
Mereka pada dasarnya menceritakan kisah yang persis sama dengan Anda. Orang-orang di sana sangat mendukung dan saya mengakui bahwa pengkodean seperti itu mengganggu - dan meningkatkan keterampilan Anda. Tapi itu membuatku gila. Saya tidak bisa hidup dengan semua keterbatasan pada "kebebasan pribadi" dan "ruang hidup" saya (memilih waktu, mendengarkan musik, konfigurasi keyboard, skema warna dalam IDE dll.), Jadi setelah beberapa minggu saya menyerah.
Wizard79
6
"Setelah seminggu ini, kami menyebarkannya .. dan semuanya berjalan dengan baik. Tidak ada satu bug. Tidak satu pun.": Saya belum mengalami perbedaan yang signifikan dalam jumlah bug antara menggunakan pemrograman pasangan dan tidak menggunakannya. Mendiskusikan poin-poin penting dengan kolega Anda dan kemudian mengkode sendiri bisa sama efektifnya. Pemrograman pasangan tidak ada peluru perak.
Giorgio
Saya baru-baru ini menyelesaikan proyek pertama saya menggunakan pemrograman berpasangan dengan pengembang yang lebih senior dalam tim. Kami membagikan piloting dan co-piloting tugas-tugas kompleks secara adil dan kami berdua belajar beberapa hal dari satu sama lain. Kami memang berpisah untuk tugas-tugas sepele, duniawi atau "boiler-plate".
Dib
2
"Coba tebak - tidak ada yang suka pemrograman pasangan pada awalnya.": Coba tebak - saya tidak suka setelah melakukannya selama dua tahun berturut-turut. Saya meninggalkan perusahaan itu dan di perusahaan / tim baru saya tidak ada yang mau melakukan pemrograman berpasangan dan kami semua sangat bahagia dan jauh lebih produktif. Dalam pengalaman saya, pemrograman berpasangan hanya baik untuk melatih pemula, untuk manajemen mikro, atau untuk orang-orang yang tidak dapat bekerja sendiri.
Giorgio
18

Pemrograman pasangan adalah alat yang hebat! Ini bisa menjadi cara yang lebih efisien - dua kepala lebih baik dari satu - dan cara yang bagus untuk mempelajari teknik baru. Tentu saja, ada manfaat lain juga. Tetapi, jika Anda tidak membelinya, maka Anda tidak akan mendapatkan apa pun darinya. Mengingat sikap Anda, sepertinya Anda tidak akan cocok sama sekali dan mungkin akan membuang-buang waktu. Sepertinya pikiranmu sudah dibuat sebelum kamu mencobanya.

Muad'Dib
sumber
7
Dua kepala juga dua kali lebih mahal, dan itulah kerugian besar =) Tapi ini menyangkut perusahaan bukan Anda
Thomas Bonini
7
-1 Apakah pemrograman pasangan hebat? Itu adalah hal terburuk yang pernah terjadi dalam kehidupan kerja saya!
Wizard
4
Pemrograman pasangan harus digunakan pada tugas-tugas sulit. Saat itulah Anda menghemat uang dan waktu. Kalau tidak, itu semacam pemborosan. Tapi aku suka itu.
Joe Phillips
3
Saya pikir itu juga harus digunakan sebagai alat mentoring untuk "greenhorns" untuk membantu mereka sampai mereka terbiasa dengan pengkodean dunia nyata.
Muad'Dib
3
@ Kop: Saya tidak setuju. Tujuan dari pemrograman pasangan adalah agar dua kepala bersama-sama membuat perangkat lunak yang lebih baik daripada masing-masing dua kepala yang sama, sementara mulai sama mahal. (Yaitu, tentu saja, jika Anda tidak mencapai tujuan itu, maka itu tidak sepadan).
Sergio Acosta
10

Mari kita lihat ini dari POV lain: mengingat kecenderungan Anda, Anda kemungkinan besar akan merugikan majikan. Mereka tentu tidak ingin mempekerjakan seseorang yang "membenci" salah satu praktik pengembangan mereka. Sudahkah Anda memberi tahu mereka tentang perspektif Anda dengan lingkungan kerja sama yang begitu ketat? Jika tidak, Anda berpotensi salah menggambarkan diri sendiri.

Sebagai majikan, saya akan sangat frustrasi untuk mempekerjakan seseorang yang tahu, masuk, bahwa mereka tidak akan senang dengan praktik pembangunan yang telah kami lakukan. Ini adalah resep untuk ketidakpuasan dan frustrasi bagi semua orang yang terlibat.


Sunting Mengingat mereka mengerti dari mana Anda berasal (dan bersedia untuk membawa Anda, seperti yang Anda sebutkan dalam komentar Anda), mengapa tidak mendiskusikan perasaan Anda dengan beberapa pengembang di perusahaan? Mungkin saja mereka dapat mengatasi masalah atau bias apa pun yang Anda miliki terhadap PP. Penting juga bagi mereka untuk mengetahui bahwa Anda tidak terlalu tertarik pada ide tersebut karena Anda akan bekerja dengan mereka secara penuh waktu.

Ini juga akan memberi Anda kesempatan untuk mempelajari sesuatu tentang orang-orang yang akan bekerja sama dengan Anda.

Jika semua orang ada di dalam, saya pasti akan mengadvokasi PP untuk alasan yang sama yang disebutkan dalam jawaban di sini. Anda memiliki pertanggungjawaban langsung atas apa yang Anda tulis; satu set mata lain pada kode Anda kemungkinan akan menangkap cacat atau masalah yang mungkin Anda lewatkan; Anda mendapatkan paparan hebat dari perspektif orang lain tentang pengkodean (dan bisa memberikan pengalaman Anda sendiri); dan hasil akhirnya sangat sering jauh lebih baik daripada yang Anda harapkan.

Saya menghargai bias Anda terhadap PP; ada saat-saat saya ingin tidak lebih dari duduk di depan komputer untuk memecahkan masalah, dan PP menjadi frustasi (saya juga seorang introvert, yang berarti PP membuat saya merasa sedikit terkuras pada akhir hari) karena seseorang selalu ada di sana. Ini mengatakan, hasilnya, dalam pengalaman saya, berbicara untuk diri mereka sendiri dan saya jauh lebih ramah untuk itu secara teratur.

bedwyr
sumber
Saya membicarakannya dengan majikan, dan mereka meminta saya untuk mencobanya.
Wizard79
2
@ Lorenzo, fantastis. Sangat penting untuk secara akurat mewakili diri Anda kepada seorang majikan, dan jika mereka bersedia membiarkan Anda mencobanya, maka itu sesuatu yang perlu dipertimbangkan.
bedwyr
itu sebabnya saya belum menolak pekerjaan itu, tetapi meninggalkan pekerjaan saat ini untuk sesuatu yang saya mungkin tidak akan suka membuat saya takut banyak ...
Wizard79
8

Saya mencoba memasangkan pemrograman dan membencinya. Saya berbagi hampir semua keraguan dan kekhawatiran yang Anda nyatakan menentangnya. Saya mengundurkan diri karena alasan ini.

Nasihat pribadi saya selalu menentang pasangan, dan mengingat sikap Anda, saya sangat menyarankan Anda untuk tidak mencobanya.

Wisaya
sumber
4
+1 untuk kejujuran. :) Ini bukan untuk semua orang, memang.
dash-tom-bang
2
@ Wizard: Beberapa orang menyukai pemrograman pasangan, saya tidak. Saya lebih suka membahas struktur kode terlebih dahulu, lalu melakukan pengkodean, lalu melakukan review kode. Ini menempatkan filter antara saya dan kolega saya sehingga kami hanya bertukar informasi yang relevan.
Giorgio
1
@ Wizard: Saya menemukan dengan pemrograman berpasangan Anda mendiskusikan terlalu banyak detail yang tidak penting: ada banyak suara yang memperlambat pikiran Anda dan membuat Anda kurang efisien. Orang lain merasa itu menstimulasi dan menyukai umpan balik yang tidak terstruktur tetapi berkelanjutan yang mereka dapatkan. Beberapa orang mengatakan saya seorang individualis, saya merasa keberatan bahwa Anda dapat bekerja sebagai tim dan masih terstruktur, dengan cara yang sama seperti tim sepak bola menempati seluruh taman bermain bukannya pergi ke semua tempat bola itu berada. Bagaimanapun, saya pikir ini adalah masalah bagaimana masing-masing programmer bekerja dan tidak semua programmer bekerja dengan cara yang sama.
Giorgio
5

Saya benci ide pemrograman pasangan

...

Saya tidak pernah benar-benar bekerja dengan pemrograman pasangan

Anda harus mengklarifikasi itu terlebih dahulu.

Anda tidak bisa mengatakan Anda tidak menyukai sesuatu tanpa mencobanya. Saya pribadi tidak suka saus tomat sampai saya benar-benar mencicipinya.


sumber
2
Saus tomat hanyalah sup tomat tanpa rempah-rempah ... Atau saus tomat tanpa gula dan cuka. :)
greyfade
5
Saya tidak pernah mencobanya tetapi saya tahu ide dan konsep pemrograman pasangan dan tidak menyukainya. Anda tidak harus digigit kalajengking untuk mengetahui bahwa Anda tidak akan menyukainya!
Wizard79
1
Bagaimana Anda tahu bahwa? Anda mungkin suka digigit kalajengking! ;)
Peter Boughton
Saya yakin Anda semua mengerti pesannya
2
Pierre, ada perbedaan antara pengertian dan kesepakatan, dan hanya karena Anda salah memperkirakan bagaimana rasa saus tomat tidak berarti Lorenzo melakukan hal yang sama dengan Pair Programming. : P Tentu saja, dia mungkin , mungkin semata-mata karena orang-orang yang bekerja dengannya bahwa dia merasakan hal itu, tetapi tentu saja mungkin untuk menentukan apakah itu masalahnya tanpa benar-benar mengalami pemrograman pasangan 'benar'.
Peter Boughton
5

Anda kedengarannya seperti Anda jelas tidak bersemangat untuk melakukan pemrograman berpasangan, tetapi fakta bahwa Anda mengajukan pertanyaan akan membuat saya percaya bahwa Anda tetap berpikiran terbuka untuk itu.

Mengapa tidak berbicara langsung dengan majikan dan biarkan dia tahu bagaimana perasaan Anda. Jika mereka masih berpikir bahwa Anda adalah kandidat yang mereka inginkan maka Anda dapat menyarankan uji coba 2 minggu (atau periode waktu apa pun bekerja) untuk melihat apakah perasaan awal Anda valid atau tidak. Jika majikan menolak, itu tidak terdengar seperti Anda benar-benar ingin memulai pekerjaan sehingga tidak ada kerugian besar. Jika majikan setuju maka Anda setidaknya akan mengetahui secara pasti satu atau lain cara untuk pekerjaan berikutnya.

Walter
sumber
1
Ya, namun masalahnya adalah saya memiliki pekerjaan tetap penuh waktu di perusahaan Italia terbesar, jadi saya tidak akan meninggalkan pekerjaan itu "hanya untuk dicoba" meskipun pekerjaan saat ini menyebalkan ...
Wizard79
3
Tidak, saya juga tidak mau melakukannya.
Walter
4

Saya baru-baru ini pergi ke retret kode pemrograman pasangan. Saya tidak menggunakannya di tempat kerja dan saya sangat baru menggunakannya. Saya seperti Anda dalam arti bahwa saya suka mengendalikan mesin saya sendiri. Beberapa programmer yang sering membuat program berpasangan menekankan bahwa pemrograman pasangan secara signifikan meningkatkan keterampilan pengkodean seseorang karena Anda mendapatkan umpan balik yang konstan, kode Anda sedang ditinjau secara konsisten, dan Anda cenderung menulis kode peretasan. Saya setuju dengan fakta bahwa ini adalah perubahan signifikan bagi seseorang yang belum pernah memprogram pasangan sebelumnya. Namun, sulit untuk memiliki pendapat yang kuat tentang masalah ini kecuali Anda mencobanya dalam waktu yang lama.

ysolik
sumber
2
Ketika saya harus membantu rekan kerja, atau bahkan untuk tetap di sampingnya selama beberapa menit, saya harus tutup mulut, kalau tidak saya akan mulai mengkritik setiap baris kode ...
Wizard79
@ Lorenzo jadi Anda baik-baik saja memberikan kritik tetapi tidak menerimanya?
dash-tom-bang
@ dash-tom-bang: sebenarnya saya hanya menghindari memberikan kritik sama sekali, atau saya akan mengkritik setiap baris kode ...
Wizard79
2
Jika menyerah pada kritik Anda akan membuat kode secara substansial lebih baik, Anda harus memberikannya. Jika saran kritik Anda tidak memberikan dampak positif maka Anda harus mencari tahu mengapa Anda merasa harus melakukannya.
dash-tom-bang
3

Saya agak germophobic. Saya benci ide siapa pun yang menyentuh mouse dan keyboard saya. Saya benci gagasan menyentuh mouse dan keyboard orang lain. Saya mengambil jalan panjang di sekeliling kompleks kantor daripada pergi ke halaman untuk pergi ke kantin supaya saya tidak perlu menyentuh pegangan pintu.

Di sisi lain, saya suka konsep pemrograman berpasangan. Saya mungkin belajar sesuatu yang menarik. Atau saya mungkin menginstruksikan. Bagaimanapun, itu akan menjadi pengalaman yang baik.

Proposal saya (untuk saya sendiri): lakukan pair programming dari kejauhan. Gunakan Office Live Meeting dan bagikan layar Anda. Bung tetap di mejanya, aku tetap di mejaku.

Anthony Pegram
sumber
Mengapa tidak membawa mouse dan keyboard sendiri? Atau membiarkan dua terhubung ke mesin yang sama?
Alex Feinman
1
@ Alex, mungkin. Tapi saya biasanya merasa seluruh ruang kerja telah terkontaminasi. Jangan tanya kenapa. Jika Anda bisa menjelaskan kegilaan, itu tidak akan menjadi gila.
Anthony Pegram
3
Kabel USB panjang reaaaaaly? :)
Alex Feinman
1
Tapi ini masih membutuhkan dua orang yang selalu sinkron, sesuatu yang benar-benar tidak kusukai.
Wizard79
2

Apakah ada cara Anda dapat melakukan pemrograman pasangan secara mandiri, untuk merasakan lebih baik untuk itu? Tampaknya ada orang-orang yang menyukai pemrograman pasangan, dan orang-orang yang tidak, dan sebelum melakukan pekerjaan yang menggunakan pemrograman pasangan Anda benar-benar ingin memiliki perasaan Anda bisa melakukannya.

Bergantian, Anda dapat berbicara dengan manajer perekrutan, atau seseorang di posisi yang sama, dan membicarakan ini. Mereka mungkin digunakan untuk programmer yang tidak berpasangan. Mereka mungkin memiliki pengalaman dengan orang-orang yang merasa negatif tentang pemrograman pasangan. Beri tahu manajer mengapa Anda tidak nyaman dengan pemrograman pasangan, tetapi tekankan bahwa Anda tidak memiliki pengalaman dan sangat tertarik dengan pekerjaan itu.

Saat ini, Anda berada dalam posisi negosiasi terbaik dengan perusahaan: mereka telah menawarkan, dan Anda belum menerimanya. Perusahaan memiliki minat untuk mempekerjakan Anda, dan sangat tidak mungkin untuk menjatuhkan Anda hanya karena Anda perlu berbicara dengan seseorang di perusahaan terlebih dahulu.

David Thornley
sumber
0

Jika Anda sudah tahu teknologinya, Anda akan membencinya. Tetapi jika Anda tidak tahu teknologinya, Anda akan mempelajarinya dengan PP. Jika Anda tidak mengetahuinya dan Anda tidak melakukan PP, maka Anda hanya akan duduk di sana dan tidak menyelesaikan apa pun.

Kasus terburuk yang mungkin terjadi adalah jika kedua belah pihak mengetahuinya dan itu berubah menjadi perlombaan atau kontes kencing.

oregon111
sumber
2
Hai oregon111, senang sekali Anda mencoba menjawab pertanyaan, tetapi Anda telah memilih tag buruk untuk menjawab pertanyaan di: tag [pekerjaan] umumnya berisi banyak pertanyaan buruk yang belum sempat kami selesaikan. Alih-alih mencoba menjawab pertanyaan yang sudah lama mati dalam tag tertentu, pertimbangkan untuk melihat pertanyaan terbaru yang masuk dan melihat mana yang bisa Anda jawab.