it-swarm-id.com

Apa yang membedakan programmer luar biasa dari yang benar-benar baik?

Anda tahu siapa mereka. Mereka adalah bintang rock pemrograman:

  • Mereka kode 10X lebih cepat.

  • Kode mereka hanya berfungsi.

  • Mereka tidak hanya tahu bahasa utama mereka di dalam dan luar, tetapi mereka juga tahu cara kerjanya di bawah tenda.

  • Mereka tahu jawaban untuk sebagian besar pertanyaan apa pun sebelum Anda menanyakannya.

  • Beberapa dari mereka menemukan prinsip-prinsip pemrograman yang kita semua gunakan.

  • Dan mereka juga cenderung rendah hati.

Ada apa dengan orang-orang ini? Apakah ada sesuatu tentang proses pemikiran mereka yang secara fundamental berbeda dari programmer di atas rata-rata? Atau apakah mereka orang yang sangat berbakat yang bekerja keras?

Dengan kata lain: Bagaimana saya bisa seperti mereka? Saya tahu apa yang saya pikir perlu saya pelajari untuk menjadi sebaik itu, tetapi sepertinya butuh waktu sepuluh tahun untuk mempelajarinya, dan kemudian pengetahuan saya akan usang.

59
Robert Harvey
  • Humble: Seorang programmer luar biasa tidak akan pernah mengklaim kode mereka adalah yang terbaik, bahkan mereka akan selalu mencari cara yang lebih baik (Setiap kesempatan yang mereka dapatkan.) .

  • Pasien: Seorang programmer luar biasa akan memiliki kesabaran tanpa batas (Ini tidak berarti mereka akan menghabiskan berhari-hari untuk suatu masalah. Lihat: Pemecah Masalah) .

  • Pemecah masalah: Seorang programmer luar biasa akan dapat memecahkan masalah dalam hitungan menit yang mungkin memakan waktu berhari-hari untuk programmer rata-rata Anda.

  • Penasaran: Seorang programmer luar biasa tidak akan dapat menolak untuk mencoba mencari tahu mengapa sesuatu terjadi.

  • Insinyur: Seorang programmer luar biasa akan merekayasa sistem daripada berjalan pincang bersama-sama dengan mishmash of frameworks (Ini tidak berarti mereka tidak akan menggunakan frameworks.) .

88
ChaosPandion

Anda mendapat banyak hal di poin terakhir Anda:

"Dan mereka juga cenderung rendah hati, seperti biasanya."

Saya pikir itu adalah kombinasi dari kerendahan hati - tidak hanya di luar tetapi juga di dalam pikiran mereka. Mereka menerima kesalahan, melakukan kesalahan, dan cepat berbalik dari frustrasi. Banyak pemrogram akan mencoba sesuatu, gagal, dan kemudian menjadi sangat cepat secara emosional, suatu keadaan yang tidak menyenangkan untuk menulis kode yang baik. Anda harus menerima bahwa Anda tidak sempurna, dan bahwa Anda akan mengacaukan (sering!), Dan bahwa hal terbaik yang dapat Anda lakukan adalah belajar cara cepat pulih ketika Anda mengacaukan. Itu sederhana kepercayaan diri, seperti "Aku tahu aku akan kacau, tapi aku juga tahu jika aku terus berusaha, aku akan sampai di sana pada akhirnya."

Ada pepatah di NLP, "Tidak ada kegagalan, hanya umpan balik." Untuk menjadi programmer rock star, saya pikir Anda harus merangkulnya. Tidak ada yang tidak dapat Anda kode. Anda mungkin lambat dalam hal itu, pada awalnya, tetapi jika Anda terus berusaha dan menolak untuk berhenti ketika Anda gagal atau mengacaukan sesuatu, Anda akan memberikannya. Dan dalam proses itu Anda akan mempelajari semua trik mental yang Anda butuhkan untuk menjadi salah satu yang terbaik.

Saran, tentu saja, hanya sebagus sumbernya, jadi ... semua hanya pendapat saya.

28
Pax Noctis

Mereka sangat peduli tentang kode mereka.

25
JaredPar

Secara pribadi, programmer terbaik yang saya tahu/kenal mengerti dasar-dasarnya dan BUKAN ahli dalam bahasa apa pun. Mereka hanya memiliki pengalaman yang cukup tentang segala hal. Kanon "Jack of All Trades".

Ini lebih dari sains dasar, ada nilai signifikan dalam pengalaman dalam operasi aktual. Contohnya, mereka yang memahami Filsafat Unix dan dengan demikian dapat memecahkan masalah yang tidak diketahui dengan berbagai alat yang diberikan (TKI mereka tahu ke mana harus mencari) jauh lebih tinggi nilainya dari ahli Java yang mengkodekan solusi berulir dan paralel.

Pemrogram yang luar biasa juga menghormati mereka yang datang sebelum mereka. Mereka tidak membenci model data relasional atau ngeri ketika mereka melihat SQL sebagai API formal, atau menolak di FORTRAN dalam matematika. Mereka tahu bahwa OO bukanlah yang terakhir, dan di atas segalanya memahami bahwa pemrograman adalah ART, bukan ilmu pengetahuan.

15
Jé Queue

Ketika saya pertama kali mulai, saya bekerja dengan orang ini yang saya pikir sangat brilian dalam semua hal yang dia lakukan dalam hal pemrograman. Dia masih sangat mungkin, tapi dia naik menjadi direktur sebuah perusahaan di Asia Tenggara sekarang.

Bagaimanapun, dia menjaga hal-hal sederhana, dan hal-hal sederhana berhasil. Tidak pernah ingin menulis lebih banyak baris kode dari yang diperlukan, semua yang dia lakukan hanya berfungsi. Saya bermain mengejar selama setahun hanya untuk mendekati levelnya. Namun, hal lainnya adalah waktu. Dia telah melakukan banyak hal lebih lama daripada yang saya miliki saat itu, dan dia memiliki kesempatan untuk menanyakan pertanyaan-pertanyaan yang tepat ini berulang-ulang, sampai dia tahu (sepertinya) semua jawaban.

Dia juga tidak takut untuk bertanya. Saya pikir itu hal terbesar.

11
user2358

Matriks Kompetensi Programmer

Banyak topik untuk membantu mengidentifikasi level Anda pada topik pemrograman.

10
Maniero

Saya belajar jawaban untuk pertanyaan ini dalam sebuah buku tentang Texas Hold'em poker, tetapi itu berlaku untuk semua usaha yang membuat frustrasi. Coders terbaik tidak pernah bisa dimiringkan. Pergi Tilt adalah waktu ketika sesuatu tidak berfungsi seperti yang Anda harapkan, dan Anda merespons dengan cara yang menciptakan kesalahan eksponensial dalam aplikasi keseluruhan. Dalam turnamen poker itu menyebabkan Anda memasang taruhan buruk dan tersingkir.

Dalam pemrograman, tilt menyebabkan Anda mencabut rambut Anda dan menulis tambalan kode konyol yang hanya berfungsi dalam kasus tertentu pada aplikasi Anda. Tilt menyebabkan programmer mengabaikan kebutuhan proyek secara keseluruhan, berusaha mendapatkan kepuasan instan untuk menyelesaikan masalah yang mendesak saat ini. Seringkali masalah terpecahkan hari ini, tetapi aplikasi menderita besok.

Coders terbaik mengambil konsep tilt dan mengelolanya dengan cara yang memungkinkan mereka untuk melihat masalah dari perspektif luar, selalu. Jika itu gagal minum kafein.

7
JMC

Programmer luar biasa:

  • Peduli tentang kode mereka
  • Peduli dengan pengguna yang menggunakan kode mereka
  • Peduli dengan orang yang akan mempertahankan kode mereka
  • Peduli dengan produktivitas
  • Peduli prosesnya, bukan hanya produknya

Dua hal tentang faktor "10x":

  1. Itu harus diterapkan ujung ke ujung. Tidak ada baiknya menulis kode 10x lebih cepat jika diperlukan 10x lebih lama untuk menguji, mengerjakan ulang dan memelihara.
  2. Saya percaya bahwa faktor "10x" merupakan cerminan dari seberapa buruk jumlah programmer yang tinggi dibandingkan dengan seberapa baik sejumlah kecil programmer.
6
darreljnz

kebanyakan dari mereka terlihat dilindungi dan tidak ada yang istimewa .. beberapa dari mereka terlihat sangat pintar .. mereka lebih suka memeriksa/men-debug dua kali dari semua sudut pandang yang mungkin, perangkat lunak mereka adalah bugless di dunia: p IMO beberapa programmer mungkin lebih lambat, tetapi kualitasnya lebih baik, bahkan orang biasa dapat memahami cara kerja perangkat lunak mereka!

saya punya teman yang menulis program ASM pertamanya pada usia 10, sekarang dia berusia 24 tahun, tidak menyelesaikan universitas, tetapi itu tidak menghentikannya untuk membuat perusahaan sendiri, menghasilkan jutaan :) tetapi dari apa yang saya lihat dia tangkas dalam segala hal :)

programmer luar biasa kemungkinan besar akan mengatakan kode ini dapat dikodekan dengan cara lain- lebih baik daripada mengatakan itu benar-benar salah dengan reputasi programmer lain yang lebih rendah :)

"Ada apa dengan orang-orang ini? Apakah ada sesuatu tentang proses pemikiran mereka yang secara fundamental berbeda dari programmer di atas rata-rata? Atau apakah mereka orang yang sangat berbakat yang bekerja keras?"

saya pikir mereka dilahirkan seperti itu, itu di dalam DNA mereka: p Saya tidak tahu tentang proses pemikiran mereka, tetapi programmer terbaik yang pernah saya tahu memiliki epilepsi

3
shegy

Beberapa hal membedakan yang luar biasa dengan yang khas.

Luar Biasa:

  1. Sangat bersemangat tentang pekerjaannya dan berusaha untuk menghasilkan karya agung.

  2. Kinerja dan kualitas adalah gambaran besar dalam pikiran mereka bahkan sebelum pengkodean dimulai.

  3. Mereka memikirkan perbaikan terus menerus setelah setiap rilis.

  4. Mereka menjaga ketat pada alternatif dan merupakan pengguna awal.

  5. Tema mereka dalam kehidupan profesional adalah: "Menulis lebih sedikit menyampaikan lebih banyak".

  6. Mereka terus berpikir tentang perspektif logis bahkan ketika tidak mengkode.

Khas

  1. Kadang-kadang agak bersemangat tetapi berusaha untuk memberikan karena itu adalah pekerjaan. Jika itu bukan sebuah mahakarya, tidak apa-apa. Setidaknya dikirimkan tepat waktu.

  2. Akan memikirkan kinerja nanti, lagi pula PC cukup cepat hari ini.

  3. Tingkatkan hanya jika tidak ada opsi tersisa untuk menyimpan pekerjaan.

  4. Tidak ada waktu untuk menggali teknologi lain. Tetap berpegang pada apa yang dituntut pekerjaan Anda sekarang. Akan mempelajari hal-hal lain ketika dibutuhkan.

  5. Tema mereka adalah: "Lakukan apa yang diminta dan tiba di rumah tepat waktu".

3
RPK

Pemrogram yang luar biasa berlaku Prinsip Spartan .

Gambar yang menarik perhatian:

enter image description here

Artikel ini: http://willcode4beer.com/design.jsp?set=codeReduction

Dan kutipan ini:

Orang bodoh mana pun dapat membuat segalanya lebih besar, lebih kompleks, dan lebih keras. Dibutuhkan sentuhan jenius - dan banyak keberanian - untuk bergerak ke arah yang berlawanan. - Albert Einstein

2
Ates Goral

1 - Mereka tahu apa yang terputus ketika menghadapi garis mati.

0
Gedean Dias

Promosi diri, dan maksud saya dengan cara terbaik. Memiliki pekerjaan seperti pemrograman, terutama dalam tim, berarti tidak segera jelas di mana kontribusi pribadi Anda cocok dengan gambaran besar, atau siapa yang bertanggung jawab atas bagian yang mana. Orang-orang yang kita dengar dan pelajari sebagai "programmer hebat" adalah IMO mereka yang telah menguasai seni membuat kontribusi mereka diketahui tanpa terdengar egois atau egois tentang hal itu. Dalam banyak kasus, ini adalah dengan menciptakan alat, perpustakaan, dan perangkat lunak yang kita semua andalkan untuk mendapatkan roti harian kita.

0
Gaurav

Artikel terkait yang sangat bagus: Elektron Gratis (dari randsinrepose.com)

Saya minta maaf karena tidak merangkum artikel di sini, tetapi poin-poinnya tidak mudah dipisahkan dari prosa.

0
Nicole

Memiliki kualitas motivasi diri dan penentuan nasib sendiri serta memiliki kemauan untuk pergi ke jurang yang tidak diketahui dan merasa nyaman dengan benar-benar bingung sebagai bagian dari proses sangat besar. Ini tidak begitu banyak tentang kecerdasan awal seperti yang Anda pikirkan karena otak menjadi jauh lebih baik pada hal-hal yang selalu dilakukan dan dipikirkan. Saya datang dari nol di perguruan tinggi dan kemudian menjadi sangat kaya hanya dengan kegigihan semata, tidak pernah menyerah, menjadi lelaki yang terus menghadapi masalah ketika semua yang lain bosan mencoba memecahkannya. Setelah kegigihan semacam itu, masalah menjadi lebih mudah dan lebih mudah dan datang dari menjadi noob di perguruan tinggi untuk membuat sebagian besar dari mereka merasa malu pada titik ini. Bakat tipis tidak cukup dan kadang-kadang dapat menyebabkan Anda berpuas diri.

Juga, untuk Robert Harvey, Anda terus melakukan doinking pada posting saya ketika saya menyebutkan ada hubungannya dengan CMS yang saya tulis dari awal. Anda melihat beberapa orang lain mencantumkan tautan yang mungkin atau mungkin belum tertulis. Anda mendorong orang ke bawah yang memiliki motivasi sendiri yang ironis karena Anda memposting ini. Anda adalah "pria" di alam semesta kecil ini dan tidak membaca hal-hal berdasarkan kemampuan mereka, melainkan hanya melakukan hal-hal kecil dan menghapus keinginan Anda. Anda juga suka Star Wars terlalu banyak dan mungkin melambaikan tangan Anda di pintu otomatis di toko kelontong percaya Anda memiliki kekuatan.

0
Joonha

Mereka memprogram murni pada intuisi. Tidak perlu hanya berpikir mengalir.

0
John Shaft

tapi sepertinya butuh sepuluh tahun ke depan untuk mempelajarinya, dan kemudian pengetahuan saya akan usang.

Itu akan. Anda telah memastikan bahwa orang-orang ini 10x lebih cepat, itulah sebabnya mereka mempelajarinya dalam 1 tahun dan itu membawa Anda 10. Untuk bagian serius dari jawaban saya pikir itu adalah mereka sudah super pintar (bisa sangat sukses di apa pun), mereka suka coding, dan mereka untuk beberapa alasan memiliki (atau menemukan) banyak waktu luang untuk berlatih coding atau bekerja pada proyek pribadi.

Jika Anda mengajukan pertanyaan ini di sini Anda mungkin tidak memiliki apa yang diperlukan (jangan khawatir saya menjawab di sini jadi saya mungkin juga tidak). Jangan khawatir meskipun Anda masih bisa menjadi gila baik jika Anda suka coding.

0
Kevin

Ada banyak posting yang bermaksud baik di sini tentang Kerendahan Hati, Teknik, Gairah, Pasien, Pemecah Masalah. IMO ini semua diperlukan. Namun, mereka menggambarkan 30% programmer.

Saya pikir Anda bertanya tentang programmer yang benar-benar luar biasa, 1% teratas.

Salah satu hal yang membuat saya iri tentang bakat yang sangat langka yang saya kerjakan adalah kemampuan mereka untuk menjaga sangat besar jumlah detail tentang sistem yang kompleks di kepala mereka pada satu waktu, dan untuk dapat mengingatnya dengan cepat. Saya pikir saya bisa melakukan ini kadang-kadang, mungkin sebulan sekali, ketika saya benar-benar di zona itu. Perasaan ini luar biasa. Pengembang yang saya pikirkan sepertinya bisa berada di zona itu sebagian besar waktu .

Sifat inilah, IMO, di samping kemampuan Kerendahan Hati, Keingintahuan, Teknik, Gairah, Kesabaran dan Pemecahan Masalah yang membuat mereka benar-benar luar biasa.

0
Kyle Hodgson

Coder yang luar biasa memiliki pengaruh pada proyek di luar lingkup kode mereka sendiri dan masalah tempat sebelum mereka terjadi karena pengalaman mereka. Mereka menjadikan semua orang di tim lebih baik dan menyelamatkan proyek mereka dari desain dan manajemen yang buruk.

Mereka sebenarnya menciptakan sesuatu yang luar biasa.

0
JeffO