Pemrograman egoless, apakah mungkin atau bahkan diinginkan [ditutup]


8

Apakah mungkin untuk memiliki pemrograman tanpa ego atau bahkan diinginkan?

Sebagai sebuah profesi, kami tampaknya ingin memamerkan alat terbaru, teknik, atau mengatakan "lihat kode yang luar biasa ini, yang telah saya tulis". Namun kita bisa menjadi sangat defensif ketika diminta untuk mengirimkan item pekerjaan untuk ulasan kode atau mendapatkan komentar negatif dari programmer lain (mendengar istilah WTF, tidak pernah menjadi pertanda baik).

Bisakah kita sebagai suatu profesi dapat duduk dan menganalisis sepotong kode, data atau arsitektur untuk manfaat atau kendala dan cara yang tenang dan hormat, tanpa menyebabkan pelanggaran atau memusuhi rekan-rekan kita, atau kita hanya karakter Dilbert arketipal, mengamuk melawan sistem?

Jawaban:



13

Apa yang harus Anda ingat setiap saat adalah bahwa untuk sebagian besar kehidupan profesional Anda, Anda tidak memiliki kode yang Anda tulis .

Jika Anda seorang karyawan, perangkat lunak tersebut dimiliki oleh perusahaan. Jika Anda seorang kontraktor, perangkat lunak tersebut dimiliki oleh perusahaan. Jika Anda seorang freelancer, maka perangkat lunak tersebut dimiliki oleh klien. Hanya jika Anda adalah perusahaan / klien adalah perangkat lunak yang Anda miliki.

Begitu Anda menyadari hal ini maka ada sedikit pemikiran dan sikap "ini kode saya ". Ya, itu masih terjadi dan itu hanya sifat manusia untuk marah jika seseorang mengkritik apa yang baru saja Anda hasilkan, tetapi dengan mengambil langkah itu untuk mencoba melepaskan keterikatan itu seharusnya tidak terlalu menjadi pukulan.

Dari sisi lain ketika Anda meninjau kode yang dihasilkan oleh orang lain berkonsentrasi pada apa yang kode lakukan dan bagaimana melakukannya dan konstruktif ketika menyarankan perbaikan.


5
+1. Inilah sebabnya saya menulis kode untuk pemeliharaan oleh orang lain. Sering berkomentar lebih dari yang saya pikir perlu (untuk referensi saya sendiri) dan sering menggunakan lebih banyak baris-kode-kode-namun-lebih-dibaca gaya. Saya lebih suka bahwa lima tahun dari sekarang, orang-orang baru melihat perubahan saya dalam kontrol sumber sebagai elegan dan mudah dimengerti, daripada ingin memburu saya dan menusuk wajah saya.
Bobby Tables

+1 virtual karena saya tidak dapat memilih hari ini, tapi saya yakin Anda akan menghargainya :)

1
+1 - menghapus frasa "kode saya", "jalanku", dan "ideku" dari kosakata Anda; mereka tidak mempromosikan kemajuan
Steven A. Lowe

Selama ini tidak terlalu jauh sehingga orang tidak lagi berusaha untuk menulis kode yang baik karena mereka pikir mereka tidak perlu peduli karena itu bukan kode mereka. Jadi jika memungkinkan, saya ingin mengatakan: "Ya, saya menulis itu, tapi itu bukan kode saya".
gablin

9

ketika fokus Anda adalah menyelesaikannya dan melakukannya dengan benar, maka itu tidak lagi masalah apakah solusinya adalah ide Anda atau tidak

pada saat itu, ego Anda telah meninggalkan gedung - dan Anda jauh lebih mungkin untuk belajar sesuatu!


+1: dan menjadi tidak egois juga membantu komunikasi karena orang-orang tidak takut (dan seringkali merasa senang) untuk bertanya tentang masalah apa pun - karena Anda tidak meneriaki mereka atau membuat mereka merasa bodoh atau menjadi marah. Idealnya.
Klaim

5

Ada banyak area abu-abu pada keyakinan - kontinum arogansi. Saya lebih suka memiliki seseorang yang mengambil kepemilikan atas pekerjaan mereka dan berjuang untuk keunggulan berdasarkan prestasi dan bukan delusi diri.

Percayalah, Anda akan menulis banyak omong kosong yang akan gagal dan Anda yang harus disalahkan, jadi sebaiknya Anda memanfaatkannya ketika semuanya berjalan dengan baik.

Ketika saya berpikir ada sesuatu yang salah, saya mengatakannya. Jangan ragu untuk memberi tahu saya bahwa saya salah dan bersiaplah untuk mendukungnya. Itu bukan yang pertama atau terakhir.

Jika Anda tidak ingin kritik (Jelas dapat digunakan untuk menahan dan menahan diri.), Kemudian tulis kode hanya untuk mata Anda dan jalankan di komputer Anda sendiri. Siapa pun yang pernah unggul dalam hal apa pun harus berurusan dengan kritik.


2

Ya, pemrograman tanpa ego sangat mungkin dilakukan. Saya telah melakukan pemrograman "pemeliharaan" selama lebih dari 1/2 karier saya, dan hal terpenting kedua [1] adalah memastikan bahwa orang berikutnya dapat membaca kode saya. Kami memiliki dua programmer di sini di kantor [2] yang menulis dengan gaya yang berbeda sehingga orang dapat segera mengetahui siapa yang menulisnya. Kita menyebut bungkusan kecil kode dan kegembiraan yang dia tinggalkan untuk kita "robstacles."

Beberapa pengembang merasa bahwa kode yang mereka tulis adalah hasil dari keringat dan darah mereka, dan mereka menjadi sangat defensif ketika ditanyai (seperti saat ulasan kode). Cobalah untuk tidak menyerang mereka selama ulasan kode dan di masa depan akan menjadi lebih mudah untuk membahas kode karena perilaku postur dan defensif akan mati.

Catatan:
1. Yang paling penting adalah memperbaiki bug atau menulis fitur dengan benar.
2. Sebagian besar aplikasi ini telah dikirim selama lebih dari satu dekade, jadi sangat mungkin bahwa mereka akan ada lama setelah saya pergi.


0

[imo]

Saya pikir ini adalah pertanyaan yang sulit secara fundamental, dan mungkin sosiologi, atau hanya menggunakan komputer sebagai bentuk komunikasi utama Anda, ada hubungannya dengan itu.

Komputer adalah alat, dan kesadaran yang disandangnya sangat indah, tetapi Anda jangan pernah mencoba mengatakan bahwa sepotong kode adalah objek ciptaan Anda sendiri ... setiap bagian kode adalah penemuan, pola yang ikatan komputer dengan dan dapat menghasilkan hasil yang Anda nikmati. Fakta bahwa kita dapat menemukan pola-pola ini secara iteratif dan merasa seperti sedang kita ciptakan adalah kebetulan kebetulan belaka - kita pandai menemukan pola.

Kita benar-benar perlu melihat komputer sebagai jendela untuk menemukan, dan menghormati otonomi otak kecil ini, bahkan jika itu hanya potongan kecil luar biasa dari otak biologis. Semua matematika dan semua algoritma berhubungan dengan kebenaran yang tidak dapat diganggu gugat atas mana kosmos kita bergema. Untuk menyatakan bahwa bagian dari ini adalah "milikku!" (Pikirkan burung camar di Finding Nemo) kehilangan begitu banyak poin di berbagai tingkatan.

Kadang-kadang sulit untuk menjauh dari hal ini, ketika "berusaha" untuk "merancang" algoritma baru, tetapi jika Anda berpikir bahwa kita hanyalah pemelihara rendah hati dari jendela yang sangat elegan ini menjadi kebenaran matematis, definisi tugas berubah tidak peduli apa tujuan Anda untuk perangkat lunak Anda.

Perlakukan komputer Anda sebagai yang pertama, yang lainnya (egoisme, koordinasi teman, perilaku berorientasi tujuan) akan mengikuti.


Sebagian besar motivasi saya untuk mempelajari ilmu komputer dan menjadi seorang programmer adalah karena afinitas yang saya rasakan, bukan pada perangkat keras fisik atau sensasi memecahkan masalah, tetapi kenyataan bahwa saya mengintip ke dalam otak, otak yang dapat saya ajak berkomunikasi secara langsung dalam mode favorit saya: pola!

Ambil satu langkah mundur dan ingat mengapa Anda menyukai hal-hal yang Anda sukai untuk memulai. Pemrograman bisa kompetitif dan saya pikir itu menyulut banyak ego dalam mempertahankan kode dan pilihan desain, tetapi

a) jika seseorang adalah programmer yang lebih baik,

Saya ingin berbicara dengan mereka dan belajar lebih banyak tentang hubungan kompleks ini dengan kesadaran listrik. Kami dapat berbagi penemuan, dan itu luar biasa!

b) jika pilihan atau kode desain saya dapat diubah agar lebih sesuai dengan organisasi tempat saya bekerja

maka dengan segala cara mengubahnya! Saya seorang karyawan karena saya butuh uang dan saya mendapatkan uang ketika perusahaan mendapatkan uang, dan mereka mendapatkan uang ketika kode yang kami gunakan mengagumkan, bukan ketika saya ingin berdebat tentang ruang kosong atau apa pun. Dan seperti yang ditunjukkan ChrisF, Anda pada dasarnya menjadi juru ketik yang benar-benar lambat di lingkungan perusahaan sejauh yang bisa dikatakan oleh pekerja lain. Anda tidak memiliki kode, Anda tidak memiliki implementasinya, Anda hanya media terjemahan dari ide / kertas / spesifikasi ke brainfood kesadaran listrik. Penerjemahan ke dan dari berbagai bahasa adalah proses berulang dan Anda menjadi lebih baik seiring waktu. Kritik mempercepat proses ini dan tidak boleh dianggap secara pribadi. Tapi bagaimanapun, sepertinya sebagian besar setuju bahwa Anda harus egois, ingatlah bahwa pengkodean untuk sebuah perusahaan adalah pekerjaan,

[/ imo]


0

Saya pikir ini berkaitan dengan bagaimana Anda melihat kode Anda. Pemrogram yang baik terus-menerus terlibat dalam perang antara melihat hasil sebagai "seni" dan sebagai "komoditas" (atau kata-kata apa pun yang ingin Anda pertahankan di sana).

Ketika kita melihat kode hanya sebagai sesuatu yang dibayar untuk diproduksi, sangat mudah untuk menghindari masalah yang berhubungan dengan ego.

Ketika melihat kode sebagai "seni" yang kami buat, ego benar-benar mencoba masuk ke sana. Lagipula, artis apa yang menghasilkan hal-hal yang tidak mereka sukai?

Jadi, tergantung pada pandangan Anda tentang kode Anda, Anda mungkin atau mungkin tidak memiliki ikatan emosional dengan kode Anda. Perhatikan tindakan penyeimbangan, dan Anda akan melakukannya dengan baik. Kami ingin membuat kode seolah-olah itu adalah seni berkualitas tinggi, tetapi kami ingin merilisnya sebagai komoditas murah. Pikirkan dari sudut yang tepat pada waktu yang tepat dan Anda akan melakukannya dengan baik.


0

Ego hanyalah rasa harga diri. Efek emosi yang berhubungan dengan ego dapat bersifat positif dan negatif.

Saya akan sering merasa bangga ( ego menjadi bersemangat ) ketika saya mencapai sesuatu yang sulit, atau menemukan solusi sederhana yang bersih untuk masalah yang kompleks, atau belajar menerapkan metodologi baru untuk suatu masalah. Yang menurut saya bermanfaat dan memberi saya motivasi yang bersumber dari diri sendiri. Otak ditransfer untuk melepaskan bahan kimia perasaan-baik ketika ini terjadi. Anda bisa menjadi pecandu sukses.

Ada aspek negatif dari mengandalkan ego Anda, terutama di lingkungan tim; yang dapat memiliki dampak kontraproduktif. Jika Anda menjadi terikat pada suatu proyek, atau solusi, atau teknologi, Anda akan menjadi defensif ketika terancam (oleh solusi atau teknologi baru, atau orang yang punya ide). Sangat penting untuk menjaga objektivitas, dan tidak menyerang solusi Anda secara pribadi.

Saya telah menemukan cara terbaik untuk menghadapi ancaman ego, adalah dengan rendah hati melekatkan diri pada ide atau solusi baru atau alternatif.

Selalu ada sesuatu yang baru untuk dipelajari, terutama jika Anda menganggap diri Anda ahli.

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.