it-swarm-id.com

Kapan seseorang akan dianggap sebagai programmer yang buruk?

Bagaimana Anda menganggap bahwa seorang programmer buruk dalam apa yang ia lakukan?

Jika memungkinkan ... Bagaimana cara meningkatkannya?

57
Tamara Wijsman

Ketika mereka gagal belajar dari kesalahan mereka dan dari ulasan rekan.

Kita semua hijau di beberapa titik; namun, jika Anda tidak menjadi lebih baik atau berusaha menjadi lebih baik maka Anda adalah programmer yang buruk.

134
ist_lion

Seorang programmer yang tidak tahu apa yang tidak dia ketahui dan tidak tertarik untuk mencari tahu.

125
Graviton

Tanda peringatan besar adalah jika mereka adalah programmer "pemujaan kargo" - yang berarti mereka melakukan sesuatu tetapi tidak tahu mengapa mereka melakukan hal-hal itu (hanya saja "sihir"). Posting hebat oleh Eric Lippert di sini .

Dari artikel:

programmer yang mengerti apa yang dilakukan kode, tetapi tidak bagaimana melakukannya.
75
Marcel Lamothe

Sebuah tip-off besar bagi saya adalah ketika mereka menanyakan kepada Anda atau programmer lain pertanyaan pengembangan yang jelas menunjukkan bahwa mereka telah benar-benar berusaha untuk mengatasinya sendiri.

Sebuah akibat wajar adalah ketika mereka mengajukan pertanyaan pemrograman yang sama beberapa kali yang menunjukkan mereka tidak menginternalisasi informasi.

45
JohnFx

Ketika mereka membutuhkan waktu yang lama untuk menyelesaikan masalah FizzBuzz.

21
EpsilonVector

Programer yang menolak untuk belajar teknologi/bahasa baru, dan bersikeras untuk tetap berpegang pada apa yang sudah mereka ketahui.


Tambahan: (menambahkan tanda hubung di bawah di komentar)

Perpanjangan dari ini adalah orang-orang yang tahu sebagian dari fungsionalitas beberapa teknologi tetapi tidak menunjukkan keinginan untuk belajar lebih banyak tentang hal itu. Bahasa pemrograman, editor, alat lain ...

21
missingfaktor

Ketika seorang anggota tim adalah pengembang penghasil negatif .

|# Lines Written| - |# Lines of bugs introduced| - |# Lines of rework required| < 0

Berarti sisa tim Anda harus melakukan lebih banyak pekerjaan karena pengembang yang buruk. NNPP

18
danivovich

Ketika mereka menghasilkan barang-barang milik The Daily WTF secara teratur.

18
Billy ONeal

Ketika mereka tahu ada cara yang lebih baik untuk melakukan sesuatu tetapi masih menolak untuk melakukannya bahkan ketika waktu mengizinkan.

15
JeffO

Secara pribadi saya berpikir bahwa setiap programmer yang dapat melihat kode mereka sendiri yang mereka tulis beberapa waktu lalu dan tidak menemukan sesuatu yang salah dengan itu bukan yang baik. "Beberapa saat" dapat ditingkatkan dengan pengalaman ... saya akan mengatakan antara beberapa minggu hingga satu tahun atau lebih.

15
Daenyth

Mereka yang mengabaikan peringatan pada kode mereka dan hanya peduli pada kesalahan.

15
Reigel

Ketika saya adalah seorang pemimpin tim di sebuah toko bertubuh kecil, ada beberapa orang yang harus saya tugaskan kembali (baik saya atau penyelia langsung saya tidak memiliki kemampuan pemutusan tanpa satu ton pun). Pita Merah dan setumpuk dokumentasi.) atau tidak memiliki perpanjangan kontrak pada akhir perjanjian saat ini. Beberapa tipe yang disebutkan juga bekerja untuk para pemimpin tim lainnya, dan mereka cukup banyak mengambil pandangan yang sama. Hal-hal yang membuat orang masuk dalam kategori "Programmer Buruk" di buku saya:

  1. Tidak dapat dilatih atau di Osifikasi di masa lalu
    Ketika 'programmer' tampaknya tidak dapat menyerap sistem baru, alat baru atau apa pun yang sedang digunakan, tidak peduli bagaimana pelatihan/pendidikan dilakukan. Harus mengulangi pelatihan tersebut secara rutin.
    Ketika 'programmer' hanya tahu teknologi atau paradigma pengkodean yang mereka gunakan 10 atau 15 tahun yang lalu. Itu sudah cukup bagus, jadi mengapa mereka harus berubah?
  2. Coder koboi
    Orang yang memberi kode terlebih dahulu, tanpa rencana. 'Programmer' yang membuat perubahan yang belum teruji pada kode produksi dan/atau data "karena kita harus memperbaikinya sekarang" dan kemudian terkejut ketika "perbaikan" gagal.
    Si Koboi juga jelas bukan pemain tim. Tidak perlu tim menyebalkan.
  3. Baling-baling cuaca
    'Programmer' ini terpikat dengan "teknologi du jour " dan melihat setiap kerangka kerja baru, bahasa, metodologi atau apa pun yang baru dan hot sebagai
  4. "Otak Besar"
    'Programmer' ini sangat yakin dengan bakat dan kemampuannya sehingga banyak hal dilakukan yang tidak membuat banyak proyek masuk akal. mis. Menulis ulang perpustakaan standar "karena tidak efisien untuk sistem kami" atau memperkenalkan alat dan teknik yang tidak cocok untuk masalah yang dihadapi. mis. Memperkenalkan LISP atau Keempat di lingkungan mainframe.
  5. LOC sebuah. Sandbagger
    'Programmer' ini menggunakan kebingungan dan salah arah untuk meningkatkan sebuah. LOC: Baris Kode yang dibayar. Saya telah melihat kode dalam situasi ini yaitu halaman demi halaman, layar demi layar dari struktur dan logika duplikat, dengan hanya paragraf atau nama-nama variabel kontrol yang diubah untuk memompa jumlah baris.
  6. Pakar yang sangat diperlukan
    'Programmer' yang memiliki pengetahuan domain untuk menyelesaikan masalah yang ada, tetapi karena mereka "tahu" segalanya tentang itu. Faktanya, jika mereka ditabrak bus, maka seluruh organisasi akan runtuh. { Pengamatan: Mereka yang berpikir mereka sangat diperlukan biasanya adalah. (Adakah yang mendapat sumber tentang pepatah ini?)}
  7. Koki Pasta
    'Programmer' ini mengkhususkan diri dalam kode spaghetti, dibumbui dengan pengidentifikasi yang terlalu sulit untuk diikuti tanpa IDE yang diimplementasikan secara sintaksis. mis. IndexI1O0, Index1I0O, dll.
  8. Summer Intern - Khususnya subtipe Walking Disaster
    Toko lama saya dulu mempekerjakan beberapa karyawan magang sekolah menengah atas atau perguruan tinggi. Suatu kali suatu departemen membutuhkan basis data kecil untuk melacak penggunaan beberapa peralatan, (sekarang ini sudah kembali, dan menggunakan dBase III). Pria itu berkode sepanjang musim panas, tetapi tidak selesai ketika kuliah dimulai pada musim gugur. Dia mendapat perpanjangan satu minggu kemudian minggu kedua. Pada akhir minggu kedua, saya dikirim untuk mengambil proyeknya dan membawanya kembali ke Pengembangan Sistem untuk diselesaikan. Dia menunjukkan kepada saya hal-hal yang telah dia lakukan, dan kemudian bagian yang belum selesai. Apa yang berhasil memiliki permen mata yang bagus, tetapi aplikasi dulu tidak lengkap. Ketika saya membuka kotak baru disket berformat untuk mendapatkan salinan, dia berkata, "sebentar, biarkan saya menghapus file pengujian saya ..." dan sebelum saya bisa mengatakan apa-apa, dia telah menghapus banyak file.
    Menjadi orang yang mencurigakan, dan mendapati bahwa aplikasinya hampir tidak lain adalah eye candy ketika saya kembali ke toko saya, saya kembali ke departemen dan mengeluarkan Norton dan menghapus file-file yang telah dihapus, mencoba temukan beberapa logika tambahan, bahkan jika tidak lengkap.
    Saya menemukan, bukan logika yang buruk, tetapi perilaku buruk. Printer yang terpasang pada PC yang ia gunakan adalah printer roda daisy. Set karakter yang biasanya dipasang adalah varian swiss. Keluaran dari program yang dihapus mengeluarkan nama, alamat, DOB, beberapa kode surat dan beberapa jenis nomor id. Format dan tata letaknya mengganggu saya. Semua tanggal lahir untuk banyak orang adalah usia minum yang legal. Sebagian besar alamat tidak ada di sana, ketika saya mencari di direktori silang kami. Ketika saya menunjukkan hasil cetakan itu kepada atasannya, dia menatap saya dan berkata, "Surat izin mengemudi, bukan?" Saya katakan saya melakukannya. Dia mengatakan itu sebabnya dia menemukan stok transparansi terpotong di tempat sampah di sebelah Xerox. Bocah kami telah membuat overlay untuk menyesuaikan umurnya dan teman-temannya pada SIM mereka. Kami melaporkannya ke pihak berwenang. Dia tidak dibayar untuk dua minggu terakhir.

Ini hanya beberapa karakter buruk yang harus saya kerjakan ....

/ s/BezantSoft

14
BezantSoft

Terlepas dari kurangnya pengetahuan/kemampuan, seorang programmer adalah yang buruk, jika kode mereka lebih sulit untuk dibaca dan/atau dipelihara dari yang seharusnya.

10
Chinmay Kanchi

Tidak dapat menyesuaikan diri dengan teknologi yang akan datang

10
Gopi

Ketika tidak ada orang lain yang bisa membaca kodenya. Tidak masalah seberapa pintar Anda; tidak ada programmer yang menjadi pulau.

10
stevenvh

Ada dua kategori untuk programmer untuk saya - solo dan tim.

Pemrogram solo yang buruk adalah

  • Mereka yang terlalu lama untuk menyelesaikan tugas sederhana.
  • Mereka yang tidak dapat meneliti sendiri untuk apa yang mereka lakukan.
  • Mereka yang akan melupakan apa yang telah dikodekan hari ini dalam beberapa hari dan tidak dapat mempertahankan basis kode sendiri dengan baik.
  • Mereka yang tidak dapat beradaptasi dengan perubahan persyaratan.

Pemrogram tim yang buruk adalah mereka yang termasuk dalam kategori pemrogram solo yang buruk, termasuk

  • Mereka yang tidak dapat berkoordinasi dengan anggota tim lainnya.
  • Mereka yang tidak menerima kritik.
  • Mereka yang tidak tahu bagaimana menjadi berguna bagi orang lain, dan bagaimana mendapat manfaat dari anggota tim lainnya.
  • Mereka yang tidak bisa menulis kode yang bisa dibaca.
  • Mereka yang tidak berkomentar demi keterbacaan kepada yang lain.
7
tia

Seseorang yang tidak memperhatikan detail dan selalu dalam "itu bekerja, jadi saya meninggalkannya sendiri. Semua pengecualian dalam log tidak masalah" mode.

7
talonx

Tanda peringatan besar dalam pengalaman saya adalah ketika mereka tidak mengomentari peretasan mereka ....

Anda tahu apa yang saya maksud: ketika Anda dipaksa untuk melakukan sesuatu yang sangat gila karena tidak ada cara yang lebih baik untuk melakukannya.

Pemrogram yang baik akan membenci harus melakukannya dan memasukkan komentar sebaris mengatakan betapa mereka benci melakukan hacking seperti itu, tetapi tidak ada pilihan. Pemrogram yang buruk hanya akan melakukan hack dan tidak berkomentar.

4
Bobby Tables

Tidak mau mengakui bahwa mereka tidak tahu jawabannya dan/atau tidak mau mencari sesuatu.

Jika Anda tidak mengetahuinya, jangan menyerah - cari tahu dan selesaikan.

4

Diperlihatkan dengan benar benar cara untuk melakukannya, dan berulang kali melakukannya dengan cara yang mudah.

3
DaveDev

Tenang jelas ketika seorang programmer menulis BANYAK kode. Fungsi yang sangat besar, mungkin menyalin/menempelkan baris atau blok kode, menggunakan cara lebih banyak jika seandainya diperlukan, dll. Ini bisa karena programmer tidak tahu fungsi standar untuk melakukan apa yang dia inginkan tetapi sebagian besar waktu tidak.

3
user2528

Saya memindahkan jawaban saya ke sini dari topik duplikat tertutup yang bertanya Bisakah Anda mengenali jika Anda seorang programmer yang buruk? Topik lain sedang ditutup ketika saya menyusun respons saya. Jawaban saya lebih langsung menjawab pertanyaan seperti yang diungkapkan oleh penanya lain dan akan membaca lebih baik jika Anda memahaminya.

Mendesah! Sebagian diriku tidak ingin menambah topik yang sudah sibuk ini, tetapi bagian lain dari diriku menang! Mengapa itu menang? mengapa saya repot-repot menambahkan lebih banyak kata ke multilog khusus ini? Ya, karena, sampai taraf tertentu, saya mungkin memiliki pandangan yang sedikit berbeda dari banyak komentator sebelumnya.

Biner bekerja sangat baik di komputer: '1' atau '0', "hidup" atau "mati." Kita dapat abstrak dan menyandikan banyak informasi menggunakan dua negara terkenal itu. Tapi, itu cenderung tidak bekerja dengan baik untuk masalah manusia: "baik" atau "buruk," "waras" atau "gila," "baik" atau "jahat," "pintar" atau "bodoh," "gemuk" atau "kurus," "hidup" atau "mati?" Evaluasi terpolarisasi semacam ini selalu membuat manusia yang peduli menjadi bagian dari saya sangat tidak puas. Dengan skema pengukuran apa pun yang saya pilih untuk diterapkan, saya biasanya menemukan bahwa jawaban untuk kontras yang sangat mencolok itu sebenarnya terletak di suatu kontinum antara satu kutub tersebut dan yang lainnya, bukan di kedua ujungnya.

Saya telah berjuang dengan kecenderungan polarisasi ini untuk beberapa waktu, sekarang, dan solusi pribadi saya adalah bahwa saya merasa jauh lebih berguna untuk menerapkan tiga kata pada evaluasi semacam itu: " pada tingkat apa! "

Jadi, jawaban saya untuk pertanyaan Anda adalah menyarankan agar Anda mengulanginya dan bertanya pada diri sendiri: "Sampai sejauh mana saya seorang programmer yang buruk?" Atau, bahkan lebih baik, menanyakannya ke arah lain: "Sampai sejauh mana saya seorang programmer yang baik?" Jika Anda mengejar kebenaran, Anda mungkin akan menemukan diri Anda di suatu tempat di sepanjang rangkaian antara menjadi programmer "buruk" dan yang "baik". Kemudian, begitu Anda berhasil menemukan kira-kira di mana Anda berada di sepanjang jalan ini, Anda mungkin dapat mengidentifikasi suatu titik yang agak lebih dekat ke ujung "baik" — titik di mana Anda ingin menemukan diri Anda dalam waktu dekat.

Jika Anda tidak mengatur titik itu terlalu jauh, Anda mungkin bisa mendapatkan gigi belakang Anda dan mulai bergerak ke arah itu. Jika Anda berhasil mengulangi algoritme heuristik yang agak sederhana ini beberapa kali, Anda mungkin akan mendapati diri Anda terlalu sibuk memprogram untuk menanyakan pertanyaan ini lagi! Oh, dan Anda mungkin akan membuat kemajuan lebih cepat jika Anda mulai menumbuk kode pada keyboard secepat dan sesering mungkin; dan, jika Anda beristirahat sebentar sekarang, baca beberapa kode berkualitas tinggi yang ditulis oleh rekan-rekan Anda! Saat ini pengembangan Open Source yang dinamis, Anda tidak kekurangan kode gratis dan indah untuk dipelajari!

Jadi, saya sangat menyarankan kepada Anda agar Anda mencoba tiga kata kecil saya, "sampai sejauh mana," dan melihat seberapa jauh ke arah yang baik mereka dapat membawa Anda!

3
John Tobler

Mereka yang tidak tahu prinsip-prinsip seperti SOLID, KERING, OOP dan seterusnya. Penting untuk memiliki pemahaman yang baik tentang prinsip-prinsip dan dasar-dasar pemrograman daripada mengetahui teknologi tertentu. Mereka yang memiliki dasar yang kuat akan menjadi dapat mempelajari topik baru dengan mudah dan akan menghasilkan kode yang lebih baik.

2
Giorgi

Satu hal yang membedakan programmer buruk dari programmer pemula adalah desakan keras kepala untuk menerapkan sistem favorit mereka dalam bahasa dan API apa pun yang mereka gunakan.

Saya pernah mewarisi sistem di mana pengembang sebelumnya kembali menerapkan (di Jawa) satu set besar Ashton Tate DBase III + api berlapis di atas perpustakaan akses dbf kustom. Tak satu pun dari kerangka kerja Java koleksi digunakan.

Ini agar dia bisa menulis aplikasi Java/swing yang terlihat dan bertindak seperti aplikasi DBase III + (atau mungkin clipper).

Aplikasi yang ia tulis dalam sistem ini memiliki menu lite-bar dan akan membuka formulir jendela penuh dengan deretan tombol di bagian bawah ketika Anda menavigasi lite-bar ke opsi. Itu seperti mesin waktu kecil kembali ke tahun 1980-an.

Pria itu jelas merupakan pengembang yang terampil. Dia cukup tahu bahwa dia mampu menulis seluruh sistem itu sendiri dalam kerangka waktu proyek itu. Dia juga dapat menggunakannya kembali pada beberapa sistem internal lainnya.

Tetapi dia adalah seorang programmer yang buruk karena kodenya menyalahgunakan fitur dari sistem yang dia kerjakan. Dia lebih bersedia untuk menghabiskan 3 bulan di lib kustom manfaat yang meragukan daripada belajar Java/Swing/SQL.

2
sal

Seseorang yang mengatakan "Itu tidak bisa dilakukan".

Menurut saya ini semua tentang pemecahan masalah, alat ini seharusnya jauh lebih tidak relevan daripada benar-benar menyelesaikan pekerjaan. Jika saya harus menyelesaikannya menggunakan MS-Access atau bahasa Assembly, ini masalah waktu dan uang, bukan masalah "Itu tidak bisa dilakukan"

Tanda peringatan terlalu banyak fokus pada cara akademis dan "tepat" dalam melakukan sesuatu, dan tidak cukup fokus untuk menyelesaikan pekerjaan.

2
Dan Williams

Jika dia hanya tahu sintaks suatu bahasa tetapi tidak tahu konsep dasar algoritma.

2
Chankey Pathak

Ketika mereka melakukan banyak pontificating tetapi menghasilkan sangat sedikit.

2
Gratzy

Programmer tertanam yang tidak mengerti mengganggu dengan sangat baik atau multitasking. Juga programmer yang perlu bekerja dengan bidang bit tetapi tidak memahami operasi logis pada mereka dan bergeser.

2
tcrosley

Sinyal pengenalan langsung adalah seseorang berkata: "Saya tidak mengerti mengapa itu tidak berhasil. Saya melakukan semuanya dengan benar."

2
Robert Rossney

! (pintar dan menyelesaikan sesuatu)

2
Nick Pierpoint

Saat ini, banyak programmer percaya bahwa kompleksitas ini paling baik dikelola dengan menggunakan hanya satu set kecil teknik yang dipahami dengan baik dalam program mereka. Mereka telah menyusun aturan ketat tentang bentuk program yang seharusnya, dan yang lebih bersemangat di antara mereka akan mencela mereka yang melanggar aturan ini sebagai programmer yang buruk.

1
Pir Abdul

Seorang programmer yang hanya menyalin dan menempelkan kode dari tempat lain, dan tidak mengerti bagaimana kode itu bekerja, dikenal sebagai programmer yang buruk! Saya biasanya melihat ini dengan javascript.

1
Pir Abdul

Saya berpikir bahwa satu-satunya cara programmer dapat menjadi buruk dalam pemrograman adalah jika dia berhenti mendengarkan apa yang dikatakan orang lain.

Pemrograman adalah tentang informasi. Seseorang perlu menjaga telinga, dan mata terbuka lebar.

Seorang programmer hanya dapat meningkatkan dengan memukul buku, dan bekerja keras. Namun, Anda juga harus fokus mempelajari hal-hal baru, tidak belajar hal yang sama berulang-ulang (mencari pengalaman baru di bidang/industri spesifik Anda).

Semoga berhasil.

0
Pablo