Skip to content
This repository has been archived by the owner on Dec 15, 2020. It is now read-only.

Latest commit

 

History

History
106 lines (98 loc) · 8.77 KB

14_Mentoring_Apprenticeship_and_Craftmanship.md

File metadata and controls

106 lines (98 loc) · 8.77 KB

The Clean Coder

Chapter 14

Mentoring, Apprenticeship, And Craftmanship

Contributor

  • Alfian
  • Nuzha

Content:

Degree of failure

    Penulis pernah menginterview seseorang yang sedang mengambil studi Master Computer Science yang ingin melamar magang di suatu perusahaan, dan ternyata orang tersebut tidak bisa programming dan bahkan tidak mengambil mata kuliah programming di studi masternya. Tentu saja hal ini adalah yang paling ekstrim selama penulis menjadi interviewer, bahkan tidak semua lulusan computer science jauh dari hal ini.

Penulis berpikir adalah mungkin bagi seseorang untuk mendapat pendidikan di unirvesitas, lalu lulus dengan hasil gelar saja, tanpa ada hal lain yang lebih penting.

Mentoring

Bagaimana kita belajar programming?, penulis akan menjelaskan ceritanya.

DIGI-COMPI, MY FIRST COMPUTER

    Pada tahun 1964 penulis mendapat hadiah sebuah komputer plastik kecil dari ibunya sebagai hadiah ulang tahunnya. Komputer itu disebut Digi-Comp yang mempunyai 3 plastik flip-flop dan 6 “and” gates.
    Singkat cerita penulis mendapat manual dari komputer tersebut yang menjelaskan secara sederhana tentang aljabar boolean, hukum asosiatif dan distribusi dan juga teori DeMorgan.Lalu penulis akhirnya membuat program pertamanya yang dinamai “Mr. Patternson’s Computerized Gate.”, dan hal ini membuat penulis semakin tertarik dengan komputer.

THE ECP-18 IN HIGH SCHOOL

    Pada masa SMA penulis, penulis suka jalan-jalan ke departemen matematika, dan pada suatu hari, didepartemen matematika ada sebuah mesin yang berukuran sebesar meja, yang memiliki beberapa tombol dan berbunyi sangat keras.
    Penulis berdiri dibelakang teknisi dan guru yang sedang mengobrol. Penulis memperhatikan apa yang dilakukan teknisi tersebut dan pada akhirnya menduga dasar dari pengoperasian mesin tersebut, dan pada sore harinya penulis menyelinap masuk dan mencoba mesin tersebut, dan ternyata dugaan penulis benar, ia berhasil membuat suatu program yang bisa mengkalikan suatu angka dan menambahkan hasilnya sebanyak 1. Beberapa hari kemudian penulis baru sadar ternyata ada manual mesin tersebut yang terletak di dalam lab yang berisi banyak instruksi yang tidak dipelajari saat penulis mempelajarinya dengan melihat teknisi melakukannya.

UNCONVENTIONAL MENTORING

    Dari 2 cerita yang diceritakan penulis, 2 cerita tersebut menjelaskan 2 perbedaan proses mentoring. Tentunya penulis punya mentor lain. Adalah seorang tetangga yang baik hati yang mengajari penulis cara menggunakan multimeter, pemilik toko suplai di kantor yang memperbolehkan penulis datang dan bermain dengan programmable calculator yang sangat mahal, dan selanjutnya big Jim Carlin seorang programmer BAL yang menolong penulis dari pemecatan dari pekerjaan programming pertamanya dengan membantu penulis mendebug program Cobol-nya dan juga mengajarkan beberapa hal ke penulis.
    Pada masa awal 70an tidak banyak senior programmer, dimanapun penulis bekerja, ia selalu jadi senior karna tidak ada yang membantunya bagaimana menjadi programmer profesional, semuanya harus dipelajari sendiri dan itu bukanlah hal yang mudah.

HARD KNOCKS

    Penulis pernah dipecat dari pabrik automasi pada tahun 1976. Meskipun penulis secara teknis sangat kompeten, tapi penulis tidak memberi perhatian terhadap hal non-teknis seperti deadline dan bahkan ia pernah melupakan demo yang harus ia lakukan, dan meninggalkan sistem yang rusak, sehingga ia mendapat surat peringatan dari bosnya.
Dengan surat peringatan itu penulis mulai mencoba memperbaiki kesalahannya namun semua itu sudah terlambat, karna selanjutnya apapun kesalahan kecil penulis akan dianggap kesalahan besar, sehingga pada akhirnya penulis dipecat./br>     Penulis menjadikan pengalaman tersebut sebagai pembelajaran untuk pekerjaan selanjutnya, dan pada akhirnya penulis tetap survive, namun pasti akan lebih baik jika penulis punya seseorang yang mengajarnya, seseorang yang bisa diobservasi ketika penulis membantu orang itu dengan hal kecil, dan seseorang yang mereview dan membimbing pekerjaan awal penulis. Seseorang yang menjadi model dan mengajar penulis nilai yang cocok dan menjadi gambaran. Seorang sensei, seorang master dan seorang mentor.

APPRENTICESHIP

Dalam ilmu medis, mereka tidak semata-mata mengambil seorang fresh graduate dan dengan spontan meletakkannya pada ruang operasi. Untuk memastikan para lulusan mendapatkan edukasi terbaik, terdapat suatu tradisi yang dinamakan intense on-the-job-training. Secara garis besar, program ini memberikan kesempatan pada lulusan baru untuk belajar dan berlatih dahulu kepada profesional di bidangnya sebelum pada akhirnya lulus sertifikasi dan terjun langsung ke lapangan. Tentu dalam dunia IT hal ini pun berlaku. Kita tidak bisa begitu saja memberi suatu project kepada lulusan muda dan mempertaruhkan hal yang besar di dalamnya. Meskipun rata-rata penyebab kegagalan disebabkan oleh bugs, namun perusahaan kerap kehilangan finansial akibat kurangnya pelatihan pada software developer mereka. Melihat banyaknya aspek kehidupan yang bergantung pada keberlangsungan dunia IT, memberikan pelatihan dan praktik-praktik yang dibimbing oleh profesional dirasa pantas dan sangat masuk akal.

Jadi, bagaimanakah seharusnya software apprenticeship itu? Tantangan apa saja yang perlu lulusan muda temui untuk mencapai profesionalisme? Dibagi dalam 3 stase, software developer terdiri atas masters, journeymen, dan apprentices/interns. Masters adalah mereka yang telah mengambil alih lebih dari satu project yang signifikan dan biasanya telah mengabdikan dirinya kurang lebih 10 tahun pengalaman. Mereka telah menguasai banyak sistem, bahasa, OS, dan mengerti bagaimana caranya untuk memimpin. Mereka adalah orang yang dipercayai tanggung jawab besar oleh suatu perusahaan. Journeymen adalah programmer yang telah terlatih, kompeten, dan antusias. Mereka terbiasa untuk bekerja dalam tim dan perlahan-lahan memimpinnya. Meski sangat mahir dengan teknologi, namun biasanya mereka hanya andal dalam satu sistem, bahasa, dan OS. Posisi ini biasanya didapat setelah 5 tahun pengalaman. Dalam kesehariannya, mereka masih didampingi oleh masters, namun lama-kelamaan akan bertransisi menjadi teman sejawat. Apprentices/interns adalah lulusan perguruan tinggi yang baru saja memulai karirnya. Interns sangat diawasi oleh journeymen. Biasanya masih belum diberi tugas apa-apa dan hanya berperan sebagai asisten journeymen. Dalam kurun waktu rata-rata setahun, mereka belajar dan membentuk ikatan dengan journeymen dan apabila journeymen merasa mereka telah siap, masters akan mereview dan memutuskan apakah mereka dapat bergabung menjadi journeymen atau tidak.

Pada kenyataannya, semua tidak begitu berbeda dari apa yang kita harapkan. Lulusan muda diawasi oleh pimpinan tim, yang diawasi oleh pimpinan project, dan sebagainya. Yang menjadi masalah adalah pada kebanyakan perusahaan hampir tidak ada pengawasan teknis sama sekali. Apa yang kita lakukan hari ini seharusnya berfokus pada pembelajaran teknis, pelatihan, pengawasan, dan review. Yang kurang dari pendekatan sementara kita saat ini adalah kepedulian para tetua untuk mengajar dan mendidik para lulusan muda.

CRAFTSMANSHIP

Apa yang dimaksud craftsmanship? Craftsman sendiri adalah seorang profesional yang bekerja cepat namun tidak tergesa-gesa, memiliki estimasi yang masuk akal dan berkomitmen. Craftsmanship adalah prinsip yang dipegang oleh craftsman, yang berisi nilai-nilai, disiplin, teknik, perilaku, dan solusi. Craftsmanship diajarkan secara turun temurun dari yang tua ke yang muda, diperoleh lewat teman sejawat lewat observasi dan pembelajaran. Kita tidak dapat meyakinkan seseorang untuk menjadi craftsmen. Craftsmanship bersifat menular, hanya apabila observable. Kita dapat menjadi craftsman, kemudian menginspirasi sesama untuk menjadi craftsman, dan biarkan sisanya mengikuti.

CONCLUSION

Bangku sekolah dapat mengajarkan teori, namun tidak dapat memberikan disiplin, praktik, dan kemampuan untuk menjadi craftsman. Hal tersebut dicapai lewat pendidikan dan pengawasan profesional dalam jangka waktu tertentu. Sudah saatnya kita menghadapi fakta bahwa membimbing generasi baru adalah tanggung jawab kita, bukan perguruan tinggi. Sudah saatnya kita untuk menyediakan program berwujud apprenticeship, internship, dan pembimbingan jangka lama.