14 Habit of Highly Productive Developers

14 Habit of Highly Productive Developers

2021/10/19
book-summary
books, self-improvement, productivity, Zeno Rocha

Buku ini ditulis oleh Zeno Rocha pada tahun 2020, dia juga menginterview atau bertanya ke beberapa software engineer yang berkerja di perusahaan-perusahaan besar seperti Google, Microsoft, Spotify, Amazon dan lain lain.

Part One: Principles

  • Apa sih keunikan dari orang-orang yang berkeja di perusahaan besar?
  • Apa yang spesial dari seseorang yang aplikasinya digunakan oleh banyak orang?
  • Bagaimana beberapa programmer bisa sangat produktif ditempat kerja dan juga diluar kerjaan mereka?

Pertanyaan diatas yang sedang dicari jawabannya oleh penulis, buku ini bukanlah tentang jalur kesuksesan yang pasti, akan tetapi buku ini adalah pencarian atau penyelidikan kepada programmer yang produktif diluar sana.

Why [[Habits]]?

Semuanya mengenai kebiasaan, seperti yang dikatakan oleh James Clear, yang ditulis pada bukunya atomic habits.

Kebiasaan adalah compound interest dari perkembangan diri. Sama seperti uang yang bunga berbunga, efek dari kebiasaan akan terasa berlipatganda jika kita terus mengulanginya.

Daripada kita bertanya apa bahasa pemrograman yang harus kita pelajari lebih baik tanyakan pertanyaan seperti ini:

Apa kebiasaan yang perlu saya kembangkan agar efektif dalam bahasa pemrograman apapun?

Part Two: Learning Habits

Habit 1: Look for the signals

Daripada FOMO (Fear of missing out) mendingan JOMO (Joy of missing out). Senangi sesuatu yang sudah lo tau atau sudah ada. Ambil pelajarannya dan cari alternatifnya.

Akan banyak orang yang terus jualan, apapun yang menurut mereka itu yang terbaik. Perlu diingat apa yang terbaik buat mereka bisa jadi gak cocok buat lo.

Pilihlah informasi yang sesuai dengan kebutuhan lo. Ya gak perlu se extreme, menghapus semua sosial media atau unsubsrcribe semua newsletter, ribet. digital detox seperti itu cuma membantu sementara dan bukan solusi untuk jangka panjang. Lo harus bisa membentuk kebiasaan memilih informasi yang relevan buat karir lo.

Terima aja kalo lo gak bisa belajar semuanya. Keinginan mah gak ada batasnya, kebutuhan itu terbatas. Terima aja kalo sesuatu yang baru gak selalu lebih bagus.

Yang harus dilakukan

Buatlah list dari semua teknologi dan tools yang ingin lo pelajari. Lalu labelin dengan prioritas berbeda, “Minggu ini”, “Bulan depan”, “Tahun depan”. Kapanpun lo merasa ketinggalan sesuatu dari sesuatu yang lagi trend, coba check lagi list ini dan atur ulang prioritasnya.

Pertanyaan & Jawaban

Q: Bagaimana lo memutuskan teknologi yang mau dipelajari dan menginvestasikan waktu lo untuk mempelajarinya?

  • Daniel Buchner (Microsoft):

    Dia fokus ke beberapa pertanyaan dibawah ini

    1. Apasih kebutuhan teknikal yang sedang gw kerjakan saat ini?
    2. Seberapa mudah untuk orang lain dapat ikut merngerjakan apa yang gw buat? dan seperti apa mereka mengintegrasikan kedalam proyek yang sedang mereka kerjakan?
    3. Apakah yang saya lakukan sudah selaran dengan standar dan spesifikasi yang saya yakini akan bertahan lama?
  • Addy Osmani (Google)

    Terima aja lo gak bisa belajar semuanya, tapi lo bisa belajar untuk menjadi efektif. Saya menginvestasikan waktu disore hari. Dan selalu bertanya-tanya: - Apakah hal ini mengimprove produktifitas saya? - Apakah hal ini mengimprove user experience dari project yang biasa saya buat? Kalau jawabannya iya semua, pertimbangin buat meluangkan waktu untuk belajar lebih dalam.

    Karena waktu itu terbatas dan banyak banget teknologi yang mesti saya coba. Lebih bagus lagi kalo kita bisa menemukan keseimbangan dari apa yang kita pilih agar tetap efektif.

  • Loiane Groner (Citibank)

    Dia selalu bertanya beberapa pertanyan kepada dirinya sendiri.

    • Masalah apa yang dipecahkan oleh teknologi? kita sebagai developers dibawa buat menyelesaikan masalah bukan cuma nulis ocde.
    • Jadi masalah apa yang ingin dipecahkan sama teknologi atau framework baru ini?
    • Apa yang membedakan dari yang sudah ada?
    • Apakah saya butuh belajar sesuatu yang baru?
    • Bisa kah saya mengambil manfaat dari kemamupan dan pengetahuan yang sudah ada?
    • Bagaimana infrastructurenya? apakah ada cloud provider yang sudah support teknologi baru ini? atau infrastructure saya saat ini sudah mendukung?

    Diluar dari pertanyaan diatas, lo juga harus belajar overview dari teknologinya, mungkin coba dikantor lo atau personal project buat lo latihan menggunakan teknologi baru ini.

    Lalu coba lihat seberapa banyak perusahaan yang menggunakan teknologi yang mau lo pelajari itu. Bikin POC, belajar semua skenario apa yang diperlukan untuk maintain project.

Habit 2: Focus on the fundamentals

Mengtip dari Michael Jordan:

You can practice shooting eight hours a day, but if your technique is wrong, then all you become is very good at shooting the wrong way. Get the fundamentals down and the level of everything you do will rise.

Memahami fundamental atau inti dari konsep itu penting. Seperti algoritma, logic, network, accessbility, security and user experience. Memang betul, kita tidak membutuhkan semuanya ketika membuat aplikasi pertama kita, tapi mengetahui fundamental ini akan membantu kita untuk membuat aplikasi yang lebih kompleks dimasa depan.

Yang harus dilakukan

Luangkan waktu untuk research fundamental konsep dari apa yang kita kerjain sekarang. Ambil kertas dan bagi mendjadi 2 kolom. Kolom sebela kiri, tuliskan apa pengetahuan yang sudah kita pahami. Dan kolom sebelah kanan isi dengan list pengetahuan yang ingin kita pahami. Rencanakan dan dedikasikan waktu untuk mempelajari konsepnya.

Pertanyaan & Jawaban

Q: Bagaimana pendekatan anda dalam mempelajari bahasa pemrograman baru hari ini?

Pendekatan saya untuk belajar bahasa pemrograman baru sama seperti pendekatan belajar framework baru. Saya coba untuk mendapatkan perngertian dasar dari konsep dan mencari example dari hal lain yang menyelesaikan problem yang sama.

Dan yang paling penting adalah saya coba mengerti apa pun yang saya tulis. Baca dokumentasi dan mengerti teori dibelakangnya. Saya butuh percaya diri tentang kenapa ini adalah pilihan terbaik.

  • Fabio Costa (GoDaddy, Ex-Facebook):

    Saya belajar bahasa pemrograman baru dengan mengambil salah satu dari pet project saya yang sudah ada lalu tulis ulang menggunakan bahasa pemgrograman baru itu. Opini saya ini adalah cara paling efisien untuk belajar bahasa pemrograman baru, karena saya bisa fokus 100% hanya untuk belajar bahasa pemrograman.

  • Michael Lancaster (BlackBerry):

    Saya gak punya pendidikan komputer. semua berawal dari ABC (always be coding). Saya biasanya ambil tutoral dari youtube yang membuat project dan saya pilih youtuber yang membahas lebih dalam ke fundamental. Selain itu dokumentasi resmi, project unit test dan opensource project menjadi referensi saya juga.

Habit 3: [[Teaching]] equals [[learning]]

Penulis sudah melakukan persentasi mulai dari tahun 2011, sudah 100 acara dia menjadi pembicara. Dia juga sudah pergi ke 16 negara dan 71 kota untuk presentasi. Menurut kalian ini tidak membuat saya takut ketika berbicara didepan orang banyak? hmm, seujurnya setiap saya masuk ke panggung saya tetap masih merasa takut.

Kalo lo mau belajar sesuatu, lu harus ngajajarin.

Dengan lu coba menjelaskan ke orang lain, lo bisa mengambil sesuatu yang paling penting untuk dibagikan kepada orang lain. Menuliskan apa yang sedang lo pelajarin itu membuat lo lebih dapat mengingat.

Ada banyak cara untuk mengajari orang lain, bisa posting disosial media, tulis blog dan merekam screen cast. Kalo favoritnya penulis adalah dengan mejadi pembicara.

Yang harus dilakukan

Temukan acara online dan submit presentasi. Rekam pembelajaran lo dan bagikan. Bikin blog dan bagikan artikel. Pilih topik yang mau lu pelajari dan coba untuk mengajari.

Pertanyaan & Jawaban

Q: Apakah kalian pernah mengajar didepan umum? Bagaimana itu mempengaruhi hidup kalian?

  • Fernando Tadashi (Adobe):

    Saya tidak ada habit dalam memberikan pelajaran untuk audience yang besar, tapi saya berkerja di area konsulting. Audience saya selalu membutuhkan saya mengetahui maximum dari pengetahuan teknikal saya.

  • Loiane Groner (Citibank)

    Saya menjadi pembicara, menulis beberapa buku, membuat beberapa video di youtube dan selalu diundang untuk mengajar dikelas tambahan dikampus.

    Untuk mengetahui konsep atau teknologi dengan cara membuat praktical project. Cara efektif lainnya adalah dengan menjelaskan ke orang lain. Dengan kata lain mengajar adalah cara yang hebat untuk belajar tentang spesifik topik.

  • Addy Osmani (Google)

    Benar! Mengajari orang lain mengubah lo untuk menjadi lebih baik. Memaksa lo buat kritis dan selalu bertanya.

    • Apakah gw benar benar paham dengan topic ini?
    • Bisa gak gw menjelaskan ke pemula dalam hitungan menit?

    Terkadang ketika lo perlu menjelaskan sesuatu kepada orang lain, itu menantang lo buat menyederhanakan ke ide paling utama. Ini akan memaksa lo untuk terus improve pengetahuan.

    Mengajari orang lain membantu lo buat bertanya apakah lo beneran paham apa engga. Lo mungkin tau secara umum tapi lo tau gak lebih dalam dari topik yang paling lo minati? Apakah masuk akal buat belajar lebih jauh lagi?

Part Three: Daily Habits

Habit 4: Be Boring

Sebenarnya programmer yang bagus itu kaya gimana sih?

Nan untuk menjwab itu, kita perlu tau ada istilah permainan terbatas dan permainan tidak terbatas.

Permainan terbatas itu seperti sepak bola ada waktu dan tujuannya. Sesangkan permainan terbatas itu seperti pernikahan tidak ada yang akan menang atau kalah yang ada adalah bagaimana mempertahankannya.

Yang harus dilakukan

Apakah kamu bermain dipermainan terbatas atau tidak terbatas? Berapa banyak lo meluangkan waktu untuk mengejar keuntungan jangka pendek vs menginvestasikan waktu untuk hasil yang panjang.

Pertanyaan & Jawaban

Q: Coba deh pikirin tentang programmer terbaik yang pernah kerja bareng lo. Apa yang mereka lakukan terus menerus yang membuat dia bisa bagus?

  • Luciano Sousa (Shopify):

    Saya pikir saya belajar banyak dari orang orang yang selalu memiliki jadwal/agenda yang baik dalam hidup mereka. Mereka selalu tepat waktu, memulai dan menyelesaikan perkerjaan mereka pada yang tepat setiap hari.

    Orang orang ini menunjukan kepada saya ahwa saya anya akan menang jika saya dapat mengatur hari saya dengan cerdas dan menghindari penundaan. Secara umum, mereka memiliki dampak positif dalam hidup saya. mendorong saya untuk selalu mecoba membangun pola kerja sehari hari yang sederhana dan lugas. tidak terlalu banyak dan tidak terlalu sedikit.

  • Berg Brandt (Amazon, Ex-Yahoo):

    Yang paling saya hargai adalah integritas tinggi. Integritas tinggi memanifestasikan dirinya dalam berbagai bentuk dan programmer terbaik yang pernah berkerja dengan saya telah menunjukan integritas yang dingi dalam beberapa cara. Yang paling dasar adaalah fokus pada melakukan hal yang benar dan untuk alasan yang benar.

    Programmer berintergitas tinggi memperhatikan hasil dan mengapa itu penting. Sementara mereka akan berlajir jika perlu,, mereka secara konsisten tanpa henti berbari menuju tuuan. Mereka aalah orang orang yang secara proaktif akan memanggil jika ada sesuatu yang salah atau memanggil anda jika renaca atau arahan anda perlu penyesuaaian.

    merekalah yang mengerjakan proyek yang tidak begitu glamor hanya karena penting unuk diselesaikan. Terakhir, mereka adalah orang orang yang akana berada disampng anda membantu menemukan solusi ketika dalam keadaan buruk.

  • Caio Gondim (New York Times):

    Menurut saya programmer terbaik adalah yang dapat diandalkan (reliable). lo gak bisa konsisten kalo gak reliable. mereka tau bahwa tidak layak berkerja sepanjang malam dan keesokan harinya tidak bisa befikir jernih.

    mereka tau bahwa sangat penting untuk bersenang senang dan makan dengan baik. mereka tidak memberikan estimasi dalam kondisi sempurna, karena mereka tau sangat jarang mendapatkan satu hari penuh tanpa gangguan. mereka tau bahwa akan ada meeting, sesuatu pada production dan membantu orang lain dalam membaca source code.

  • Blake Williams (GitHub):

    Saya melihat sebuah polah yang saya anggap sebagai programmer terbaik, semuanya disiplin. Mereka selalu punya waktu menulis kode yang baus, menambahkan cakupan pengujuan yang komperhensif dan menjelaskan detail seluk beluk melalui pesan commit message yang terperinci.

    programmer yang disiplin ini tidak berkerja sepanjang malam dan stres pada delivery fitur berikutnya. Mereka menginvestasikan waktu dalam melakukan sesuatu yang baik dan berkomunikasi dengan jelas. Disiplin itu membantu orang lain dalam tim merasa tidak terburu buru dan memungkinkan mereka menginvestasikan waktu untuk meningkatkan ppekeraan mereka yang sudah ada dari pada pindah ke tugas berikutnya. Pada akhirnya mereka menghemat waktu mereka dan tim mereka dengan memperlambat mengambil pendekatan pragmatis untuk pemecahan masalah.

Habit 5: Do It For Your Future Self

Jangan menjadi sok pintar, jangan mencoba membuat kode yang membuat lo merasa lebih pintar. Lo gak perlu pamer trik baru yang baru aja lo pelajari. cukup dengan menulis kode yang dapat dibaca. Pikirin tentang maintainabilityu dan gunakan nama yang bermakna untuk variable dan function lo. Tanyakan pada diri sendiri: Apakah dimasa depan saya akan paham kode maksud dari kode ini?

Yang harus dilakukan

Buka project yang sedang lo kerjakan. Apakah ada refactoring yang bisa lo lakukan untuk membuat kehidupan dimasa depan jadi lebih mudah?

Pertanyaan & Jawaban

Q: Hal-hal apa yang lo lakukan dihari ini untuk membantu lo dimasa depan?

  • Silvio Gustavo (Spotify):

    Saya mencoba berempati dengan siapapun yang dapat menyentuh kode itu dimasa depan, termasuk diri saya dimasa depan. Apakah kode ini dapt dibaca oleh siapa pun dengan tingkat pengalaman apapun? Dengan pemikiran itu saya menargetkan.

    1. Tulis kode sederhana dengan nama variabel/method/class yang bermakna. Jangan berasumsi bahwa orang lain (termasuk lo) akan memahami nama pendek yang tidak berarti banyak.
    2. Punya automated testuang baik, ini akan memberikan dokumentasi tambahan tentang kode anda dan juga membantu siapa saja yang perlu menyentuh kode itu dimasa depan.
    3. Gunakan version control sebagai dokumentasi. Ketika proyek berkembang, perubahan dan pebaikan bug dilakukan setiap saat. Dimasa depan ketika itu menjadi legacy code tidak ada yang bisa memahamu keputusan dan perubahan yang dibuat saat itu jika tidak didokumentasikan.
  • Lais Andrade (Google):

    Salah satu hal terbaik untuk menjaga basis kode dimasa depan adalah memiliki standar yang baik untuk praktik terbaik dan ini haru diikuti oleh tim.

    early optimization is the root of all evil. Sangat mudah menulis satu baris tanpa komentar, tapi nanti akan sulit untuk mendebug kode itu dalam waktu beberapa minggu, bulan atau tahun. Peer review juga sangat penting.

    Test semua kode yang lo tulis. Unit test,integration, performace/benchmark test. semuanya. Bikin aturan semuakode harus ada testnya.

Habit 6: Your 9-to-5 Is Not Enough

menurut penulis jam 9 ke 5 ini gak cukup untuk untuk berkari didunia teknologi.

Yang harus dilakukan

Pikirkan tentang keterampilan yang menurut lo dapat ditingkatkan. Bisakah lo merencanakan waktu ekstra untuk mengembangkannya? 10 menit sehari juga tidak apa apa itu juga bisa membuat pebedaan.

Pertanyaan & Jawaban

Q: Bagaimana lo menghabiskan waktu luang? Bagaimana lo menyeimbangkan personal dan perkerjaan?

  • Silvio Gustavo (Spotify):

    Saya dulu menghabiskan waktu dengan menyelam lebih dalam pada internal android , best practice dan arsitektur code. ini sudah seperti hobi buat saya.

    Pada titik tertentu, meskipun saya suka, tapi terkadan merasa tsres ketika menggabungkannya dengan pekerjaan 9-5. saya kemudian memutuskan untuk memperlambat dan menggunakan waktu luang saya untuk melakukan lebih banyak ha; seperti main game dan mempelajari hobi baru dan berolahraga. Saya memili keseimbangan kehidupan kerja yang jauh lebih baik saat ini.

  • Fernando Tadashi (Adobe):

    Saya mendedikasikan waktu saya untuk tau teknologi baru dan yang masih digunakan. terkadang saya belajar lebih dalam.

  • Fabio Costa (GoDaddy, Ex-Facebook):

    Pada akhir pekan saya cenderung lebih banyak bekumpul dengan keluarga dan teman teman atau mengerjakan pet project.

Part Four: Career Habits

Habit 7: Master The Dark Side

Jaman dulu belajar bahasa pemrograman itu cuma ada di universitas yang bagus bagus saja. saat ini suah berbeda tidak perlu ke universitas sudah banyak bootcamp , tutorial dan kurus menjadi programmer.

Pada dasarnya programmer adalah penerjemah, tugas kita adalah menerjemahkan kebutuhan pengguna kedalam fungsi. Biasanya kebutuhan itu akan dibuat oleh BA (bisnis analis). Pada awalnya saya merasa orang bisnis itu seperti orang jahat tidak peduli dengan kualitas kode saya, tapi pada akhirnya saya menyadari ssi bisnis dapat membatu saya dalam aktifitas sehari hari.

  1. Hemat Waktu: Semakin lo paham bisnis, semakin mampu lo untuk memecahkan masalah itu sendir.
  2. Mencegah kode yang rumit: Kita selalu ingin membuat kode yang abstrak, fleksibel dapat diextend dan dapat digunakan kembali. Kita sangat ingin seperti itu hingga kita membuat aplikasi yang terlalu rumit.
  3. Prioritas yang lebih baik: Dengan pengethuan bisnis akan lebih mudah untuk memprioritaskan keputusan mikro. Lo bisa mengantisipasi mana bagian yang lebih penting.

Rekomendasi saya adalah mulai dengan kosakata atau vocabulary. Perhatikan kata dan istilah kusus yang digunakan oleh para pebisnis. Jika lo meniru terminologi yang sama komunikasi dengan mereka akan jauh lebih baik.

Ingat, orang yang tau cara membuat kode iti kuat, orang yang tau membuat kode dan tau cari kejar bisnis tidak dapat dihentikan.

Yang harus dilakukan

Elaborasi daftar istilah yang paling umum digunakan dalam industri lo. Mulailah percakapan dengan teman kerja lo untuk memahami bidang mereka. Misalnya, Sales funnel itu seperti apa? Market yang niche apa yang sedang ditargetkan? Apa pertannyaan paling umum untuk customer suport? bagaimana produk kita berbeda dengan produk kompetitor?

Pertanyaan & Jawaban

Q: Apakah kalian mencoba untuk mengerti dari sisi bisnis sebelum programming sesuatu?

  • Michael Lancaster (BlackBerry):

    Tergantung pada kerumitan pekeraan dan waktu. Karena kadang kita juga bisa menyelesaikan pekerjaan tanpa tau bisnis sama sekali.

    Karena itu, semakin banyak kami tau tentangbinis ini, semakin berharga kami bagi tim karena itu memungkinkan kami untuk menggunakan pengetahuan teknnis dan bisnis kami untuk memberikan kontribusi lebih besar.

Habit 8: [[Side Projects]]

Pasti kalian sudah tau kalo twitter, craiglist dan slack dimulai sebagai side project. ya side project, yang bisa sebesar sekarang. Side project dapat membantu kita mengembangkan portofolio lo, membuat resume, memamerkan keahlian lo.

Kalo lo udah mapan dalam karir lo, side project bisa sangat berguna. memungkinkan lo untuk mengalami dan mempelajari keterampilan baru yang mungkin gak ada dikerjaan lo. Juga gak ada tekanan, jadwal atau spesifikasi yang dipaksakan oleh siapapun, yang artinya lo bisa menggunakan semua kreativitas lo dan bersenang senang melakukannya.

Langkah apa yang selanjutnya? Ide apa yang layak dikerjakan?

Ini adalah daftar pertanyaan yang biasanya gw tanyakan ke dirisendiri sebelum memulai project sampingan baru.

  1. Side project berarti lo harus mengorbankan waktu pribadi untuk mengerjakan project itu. Pertanyaannya:

    Apakah saya benar benar menikmati subject, bidang pada jenis pekerjaan ini?

    Jika jawabannya tidak, ya gak usah, kalau dikerjakan pun gak dapet apa apa dan biasanya terbengkalai.

  2. Butuh waktu untuk side project untuk mendapkatkan traction, pertanyaannya:

    Apakah saya bersedia setidaknya 5 tahun untuk mengerjakan ide ini?

    Kalau jawabannya tidak, kemungkinan besar anda akan kehilangan motivasi dan akan menyerah pada proyek inisebelum dimulai. namun, jika tujuan lo hanya untuk bereksperimen ya gak perlu khawatir.

  3. Memiliki ide adalah sau hal, memiliki kemampuan untuk mengeksekusi ide itu sama sekali berbeda, jadi lo harus tanya ke diri sendiri.

    Bisakah saya menjalankan ide ini sendirian?

    Kalau jawabannya tidak, lo perlu mempertimbangkan untuk mempelajari keterampilan baru atau mengundang seorang teman untuk mengisi kekosongan tersebut.

  4. Mengatakan Ya untuk satu ide berarti mengatakan tidak untuk banyak ide lain. Jadi tanyakan sama diri lo

    Apakah ide ini lebih baik dari ide lain? Apakah ada ide lain yang dapat menggunakan waktu saya dengan baik?

    Kalau jawabannya tidak, ulangi siklus ini untuk ide yang lain.

  5. Memahamu untuk siapa lo membangun solusi ini, Jika lo gak kenal audiens lo kemungkinan besar lo gak akan memahami kebutuhan mereka. jadi tanyakan pada diri lo:

    Apakah saya secara pribadi mengalami hal ini atau saya memecahkannya untuk orang lain?

    Kalau jawabannya tidak, maka pertimbangkan untuk menjangkau orang orang yang benar benar mengalami rasa sakit yang coba anda selesaikan.

  6. Dan pertanyaan terakhir adalah

    Mengapa saya senang dengan ide ini sekarang? Apakah lo pengen mempelajari teknologi baru? Apakah lo ingin menghasilkan lebih banyak uang? Apakah lo membutuhkan pengalian dari masalah lain?

    Jujur pada diri sendiri. Hal yang lebih penting dari memilih ide adalah memilih scope dari project lo.

Yang harus dilakukan

Selama beberapa hari kedepan perhatikan aplikasi yang sering lo gunakan. Apakah yang kurang dari mereka? Apakah lo dapat membuat versi lebih baik dari itu

Pertanyaan & Jawaban

Habit 9: Mario or Sonic?

Yang harus dilakukan

Pertanyaan & Jawaban

Part Five: Team Habits

Habit 10: Active Listening

Yang harus dilakukan

Pertanyaan & Jawaban

Habit 11: Don’t Underestimate

Yang harus dilakukan

Pertanyaan & Jawaban

Habit 12: Specialist vs. Generalist

Yang harus dilakukan

Pertanyaan & Jawaban

Part Six: Life Habits

Habit 13: Control Your Variables

Yang harus dilakukan

Pertanyaan & Jawaban

Habit 14: Stop Waiting

Yang harus dilakukan

Pertanyaan & Jawaban

Part Seven: The End

comments powered by Disqus