Saya dihubungi untuk melakukan beberapa pekerjaan remote mengendalikan tampilan LED melalui TCP / IP, tetapi pengalaman dan persiapan saya kebanyakan tentang bahasa pemrograman tingkat tinggi. Saya mengatakan itu kepada orang yang menghubungi saya tentang pekerjaan itu dan dia mengatakan kepada saya bahwa:
"jika kamu menyebut dirimu seorang programmer kamu harus tahu semua hal ini"
Haruskah seorang programmer benar-benar mengetahui detail pemrograman tingkat rendah? Atau bisakah saya memperlakukannya sebagai konsep kotak hitam, sebagai pengetahuan teoretis tetapi tidak harus melakukannya atau menerapkan solusi bahasa tingkat rendah, mengingat bahwa pemrograman tingkat rendah bukan keahlian saya?
low-level
high-level
pekerjaan
sumber
sumber
Jawaban:
Kontak Anda tidak tahu apa yang mereka bicarakan. Ada banyak bahasa, metodologi, teknologi, dan sebagainya sehingga satu orang tidak mungkin mengetahui semua detail yang diperlukan dengan baik. Apa yang harus Anda ketahui sebagai seorang programmer adalah bagaimana mempelajari apa yang Anda butuhkan untuk menyelesaikan pekerjaan dan memiliki pendekatan pemecahan masalah yang dapat Anda terapkan untuk sampai pada suatu solusi, tidak peduli bahasa pemrograman apa yang perlu Anda gunakan.
Mengakui apa yang tidak Anda ketahui tidak apa-apa, tetapi Anda juga dapat membuktikan bahwa Anda dapat belajar cukup banyak untuk mencapai hasil yang diinginkan, apa pun yang Anda hadapi. Pemrogram yang baik adalah pemecah masalah yang bisa mengimplementasikan solusi mereka dalam berbagai bahasa pemrograman.
Saya tidak akan bekerja untuk seseorang yang memiliki sikap seperti kontak Anda.
sumber
Saya sangat tidak setuju dengan pernyataan ini. Ini seperti meminta koki untuk memasak apa saja, pengemudi untuk mengoperasikan segala jenis kendaraan bermotor, atau dokter untuk mengetahui semua penyakit, yang merupakan asumsi konyol.
Untuk menjadi seorang programmer, seseorang harus tahu bagaimana memberikan perangkat lunak tulis dalam beberapa bahasa untuk melakukan beberapa tugas secara otomatis. Bahasa dan tugas akan bervariasi dari programmer ke programmer seperti hidangan apa yang koki tahu bagaimana membuat, pengemudi tahu bagaimana cara beroperasi, atau dokter tahu bagaimana mendiagnosis akan bervariasi tergantung pada bagaimana spesialisasi seseorang ingin berada di setiap profesi.
sumber
Diucapkan seperti orang yang tidak pernah menulis sebaris kode pun dalam hidupnya. Ini akan menjadi orang yang sama yang akan merasa Anda harus dapat melakukannya dalam setengah waktu yang Anda kutip. Jangan berdebat dengan orang idiot.
Anda menunjukkan lebih banyak pengetahuan dan karakter dengan mengetahui keterbatasan Anda. Orang ini berbicara tentang hal-hal yang tidak diketahuinya.
Saya kira setiap tukang kayu harus tahu cara mengukir furnitur hiasan. Jika seorang pilot dapat menerbangkan satu pesawat, ia dapat menerbangkan semuanya.
sumber
Sebagian besar program CS di sekolah akan memberi Anda pengetahuan tentang pemrograman tingkat rendah. Saya, misalnya, memiliki kelas assembler menggunakan prosesor 8088 (OK ... jadi tanggal saya sedikit). Saya pikir, bagaimanapun, bahwa banyak sekolah perdagangan hari ini memotong pengetahuan itu - sambungkan dengan komentar jika itu tidak benar.
Intinya, itu selalu baik untuk mengetahui apa yang terjadi pada level chip - selain itu, bahasa tingkat tinggi Anda akhirnya akan berakhir di sana ketika dijalankan.
Namun, meminta seseorang memberi tahu Anda bahwa Anda bukan seorang programmer karena saat ini Anda tidak tahu pemrograman tingkat rendah itu bodoh. Jika Anda perlu memiliki keterampilan tersebut untuk proyek saat ini, maka Anda harus memiliki kecerdasan atau motivasi yang cukup untuk mempelajari keterampilan yang Anda butuhkan dan kemudian menerapkannya.
Saya harus mempertimbangkan dengan serius untuk tidak mengambil proyek itu jika klien sudah berbicara dengan Anda seperti itu - Anda tidak pernah tahu ke mana bisa pergi.
sumber
Saya benar-benar membenci itu ketika orang mengatakan "Anda perlu tahu X untuk menyebut diri Anda seorang programmer." Betulkah? Yah beberapa orang bekerja di COBOL sepanjang hari dan MENYUKAINYA. Mereka mungkin sudah begitu mahir dalam hal itu dan domain masalah mereka sehingga di sebelah mereka kita semua berpura-pura.
Serius, beri orang hormat untuk memecahkan masalah yang mereka hadapi dengan cara yang keren dan menarik. Memahami bahwa pemecahan masalah yang hebat datang dari beragam latar belakang. Bukan apakah mereka sudah menguasai "daftar periksa" keterampilan yang seharusnya diketahui semua orang sehingga mereka semua dapat berpikir dengan cara yang sama. Itulah PELUANG TEPAT dari apa yang kita inginkan. "Daftar periksa" setiap orang adalah dan harus berbeda. Semakin berbeda semakin baik. Pemrograman adalah pemecahan masalah hari ini. Hormati mereka yang melakukannya dengan baik dan pahami bahwa setiap orang datang ke meja dengan kekuatan yang berbeda. Itulah satu-satunya cara kita akan saling membantu bekerja secara efektif sebagai sebuah tim. Hanya karena mengetahui "C" atau sesuatu yang benar-benar membantu orang ini menjadi luar biasa, bukan berarti karena Anda tidak
sumber
Saya sarankan Anda membaca ini:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
Seperti yang dijelaskan, ketika Anda menggunakan abstraksi, apa yang tingkat bawah selalu memiliki pengaruh pada apa yang Anda lakukan. Ini bisa berkinerja buruk, penyebab kegagalan, alasan keamanan, dan sebagainya.
Jadi secara definitif, Anda sekarang harus tentang barang-barang ini. Tidak terutama menjadi spesialis arsitektur asm atau CPU. Tetapi cukup mengetahui untuk mendokumentasikan diri sendiri ketika Anda perlu tahu lebih banyak, memang, harus dimiliki.
sumber
Argumennya adalah contoh yang baik dari kesalahan logis No True Scotsman .
Namun, perbedaan antara pemrograman tingkat rendah dan tinggi bukan bahasa, itu adalah domain pengetahuan aplikasi. Menetapkan nilai true dapat berarti menyalakan LED atau mengaktifkan acara klik mouse pada widget. Bahasa tidak peduli.
Misalnya, lihat perpustakaan ini untuk bekerja dengan matriks LED pada arduino. Ini bukan ilmu roket di sini, dan benar-benar setiap programmer akan dapat memahaminya dengan sedikit usaha jika mereka tidak memasang "tingkat rendah oh tidak!" blok mental.
sumber
Setiap Bahasa Pemrograman memiliki pro dan kontra sendiri. Belajar beberapa, akan memberi Anda persepsi yang bagus tentang apa yang harus digunakan dan bagaimana menggunakannya secara efektif ketika diberi proyek.
Sebagai seorang programmer, Anda dapat mengkhususkan pada PL tertentu, menggunakannya sebagai satu-satunya alat Anda untuk menyelesaikan masalah, Anda juga dapat mengetahui banyak PL tetapi mengkhususkan pada tidak ada dan lebih banyak di antara yang ekstrem ini.
Mungkin orang yang mengatakan kepada Anda bahwa "Frasa" frustrasi, mungkin Anda bukan satu-satunya penghubung yang telah ia ajak bicara.
mengetahui masalah dan mengetahui keahlian apa yang dibutuhkan untuk dapat menyelesaikan masalah secara efektif adalah salah satu sifat yang baik dari seorang programmer. Sayangnya pada kasus Anda, karena Anda tidak memiliki keahlian yang diperlukan, Anda mungkin dapat merujuk orang kontak Anda ke programmer lain dengan keahlian yang diperlukan.
Bersulang,
Wardy
sumber
Memiliki pengetahuan teoritis itu baik. Mampu mempelajari bahasa tingkat rendah saat diperlukan sangat penting.
Tetapi untuk "jika Anda menyebut diri Anda seorang programmer Anda harus tahu semua hal ini", siapa yang bisa tahu segalanya tentang segalanya? Bahkan sebelum mereka melakukannya?
sumber
Saya akan ulang frase
UNTUK
sumber