Bagaimana Anda menjaga keterampilan dasar Anda dari atrofi? [Tutup]

37

Pengkodean hanya satu aspek dari pemrograman profesional. Pekerjaan saya mengharuskan saya untuk kode, tetapi juga mengharuskan saya untuk melakukan hal-hal lain untuk waktu yang lama - kadang-kadang hari atau minggu berlalu ketika saya tidak hanya coding .

Saya takut membiarkan keterampilan pemrograman yang sulit didapat berhenti berkembang saat saya duduk dalam rapat, menggambar diagram arsitektur dan persyaratan anotasi. (Belum lagi saya tidak percaya orang untuk menulis persyaratan yang tidak mengerti kode.)

Saya tidak bisa hanya membaca buku dan majalah tentang pengkodean. Saya terlibat dalam beberapa proyek open source di waktu senggang saya, dan stackoverflow dan teman-teman sedikit membantu, karena saya mendapatkan kesempatan untuk membantu orang memecahkan masalah pemrograman mereka tanpa manajemen mikro, tetapi tidak satu pun dari keduanya yang sangat terstruktur, sehingga tergoda untuk bekerja pertama pada masalah yang bisa saya pecahkan dengan mudah.

Saya kira yang ingin saya temukan adalah serangkaian latihan terstruktur (tidak peduli bahasa atau lingkungan apa) yang…

  • … Saya bisa melakukannya secara berkala
  • ... memiliki semacam persyaratan waktu sehingga saya dapat mengetahui apakah saya telah bermain-main
  • ... memiliki semacam penilaian sehingga saya bisa tahu apakah saya melakukan kesalahan

Apakah ada hal seperti itu? Apa yang akan Anda lakukan agar keterampilan Anda tetap segar?

kojiro
sumber
6
Pada stack ini, tukarkan pertanyaan-pertanyaan semacam ini yang sebenarnya sangat membantu. Kenapa tutup itu?
Edeph
@Edeph Pertanyaan seperti ini terdengar membantu pada awalnya, tetapi pengalaman membuktikan bahwa mereka memiliki sedikit nilai bagi masyarakat. Harap baca: Mengapa pertanyaan saya ditutup sebagai di luar topik?
3
@Snowman pengalaman siapa? 25 suara positif adalah lencana "Pertanyaan Bagus". Pertanyaan ini juga dijawab oleh staf StackExchange dan anggota komunitas berperingkat tinggi. Jadi komunitas itu sendiri dengan jelas menyatakan bahwa itu adalah pertanyaan yang berharga. Periode. Menyimpang dari topik? Masih terlihat, tapi berharga? Iya nih.
kojiro
1
@ Kojiro pertanyaannya masih terlalu luas dan terutama pendapat. Seperti yang ditunjukkan oleh jawaban yang Anda miliki, tidak ada jawaban yang benar. Orang-orangnya menyarankan berbagai cara yang berhasil bagi mereka. Pada intinya, pertanyaannya adalah jajak pendapat. jika itu akan dibuka kembali, jawaban lain yang akan Anda dapatkan akan sama beragamnya tanpa benar-benar mendapatkan jawaban yang benar yang dapat dibedakan dari yang lain.
1
Jadi, Anda mengatakan bahwa komunitas ini agak didorong oleh paket mod (yang adalah manusia dan cenderung subyektivisme) alih-alih orang memperbaiki sesuatu karena berguna bagi mereka meskipun tidak memiliki jawaban yang benar menurut definisi? Tidak semuanya hitam putih di bidang ini lho?
Edeph

Jawaban:

26

Kode katas langsung terlintas di benak saya.

Idenya adalah bahwa ini adalah latihan yang dapat diulang yang dapat Anda praktikkan sampai Anda mengetahuinya dingin, dan Anda mengulanginya secara berkala untuk menjaga daging Anda tetap tinggi. Ada yang fokus pada pemrograman, ada yang lebih terbuka dan fokus pada pemikiran dan desain. Mereka dapat dilakukan dalam bahasa atau lingkungan apa pun dan beberapa orang juga menggunakannya untuk mencoba atau mempelajari pendekatan baru (misalnya, pengembangan berbasis tes).

Situs yang saya tautkan di atas memiliki banyak ide untuk katas. Satu lagi yang cukup terkenal adalah Game Bowling dari Paman Bob Martin.

Adam Lear
sumber
1
Luar biasa. Latihan Qigong untuk programmer. Aku menyukainya!
kojiro
Tidak pernah mendengar ini. Mereka terlihat fantastis. :)
Waktu pengkodean pribadi saya selalu sangat terganggu (3 anak di rumah). Halaman tertaut menyatakan, "Anda perlu waktu tanpa gangguan". Apakah ini benar-benar suatu kebutuhan, atau apakah saya masih dapat belajar dengan cukup efektif jika saya sering terganggu?
Ethel Evans
2
@Ethel Saya tidak tahu dari pengalaman pribadi, tapi saya pikir Anda masih bisa terus berjalan. Menjadi ahli dalam pengalihan konteks akan membantu. Saat Anda berlatih dan menjadi lebih terbiasa dengan latihan, saya bayangkan mengelola gangguan akan menjadi lebih mudah.
Adam Lear
Sekarang saya telah melakukan beberapa kata kode yang dapat saya komentari lebih banyak. Saya memiliki beberapa pengalaman dengan seni bela diri, jadi saya pikir ide katas adalah benar-benar bagus, tetapi (setidaknya awal) katas yang diusulkan oleh Dave Thomas lebih seperti mengangkat beban daripada kata seni bela diri tradisional. Mereka adalah kerja keras, tetapi tidak berulang atau cukup meditasi untuk menjadi jenis latihan yang sama dengan kata yang benar sama sekali. Yang mengatakan, saya pikir Anda dapat mendasarkan beberapa kata yang baik pada usulannya.
kojiro
10

Bagaimana dengan Project Euler ?

serangkaian masalah pemrograman matematika / komputer yang menantang yang akan membutuhkan lebih dari sekedar wawasan matematika untuk dipecahkan. Meskipun matematika akan membantu Anda mencapai metode yang elegan dan efisien, penggunaan komputer dan keterampilan pemrograman akan diperlukan untuk menyelesaikan sebagian besar masalah.

Motivasi untuk memulai Project Euler, dan kelanjutannya, adalah untuk menyediakan platform bagi pikiran yang ingin menyelami bidang-bidang yang tidak dikenal dan mempelajari konsep-konsep baru dalam konteks rekreasi dan rekreasi ...

Audiens yang dituju termasuk siswa yang kurikulum dasarnya tidak memberi makan rasa lapar mereka untuk belajar, orang dewasa yang latar belakangnya bukan matematika tetapi memiliki minat dalam hal-hal matematika, dan para profesional yang ingin menjaga penyelesaian masalah dan matematika mereka di ujung ...

Martin Beckett
sumber
10
Menurut saya ini lebih banyak matematika daripada pemrograman.
Poin bagus - saya belum melihat kode katas dalam jawaban Anna.
Martin Beckett