"Jadi apa yang kamu lakukan?"

Saya semakin sering ditanya, “Apa sebenarnya pekerjaan Anda?” Sebenarnya, saya adalah seorang arsitek dan pengembang perangkat lunak yang independen. Praktisnya, saya mempunyai pekerjaan impian: Saya dapat bekerja di mana saja dan kapan saja pada proyek yang saya pilih. Setelah sedikit penjelasan berdasarkan contoh, pertanyaan lanjutannya biasanya seperti ini: “Bagaimana saya bisa melakukan itu?”

Saya adalah burung langka itu - seorang wanita teknis senior yang berbasis di non-Silicon Valley (ya, kami memang ada). Meskipun menggoda, saya TIDAK meninggalkan teknologi (namun demikian), meskipun sering terjadi serangkaian insiden malang sepanjang 15+ tahun karir saya di sini. Sebaliknya, saya telah menemukan cara untuk berkembang di dunia teknologi yang cocok untuk saya. Mengingat subteksnya, tampaknya masuk akal untuk mencoba membagikan apa yang telah saya pelajari.

Cara paling ringkas untuk mendeskripsikan siklus pekerjaan saya adalah melalui tiga kata kerja sederhana: belajar, membangun, dan mengajar. Namun, apa artinya jika diterapkan pada domain saya?

Mempelajari

Keingintahuan

Sifat ini mungkin telah membunuh kucing, tapi ini adalah kunci pekerjaan (dan kehidupan) saya. Kombinasi dari kepercayaan diri yang tidak biasa (mungkin tidak wajar?) (yaitu “Saya akan dapat memahami topik x, y atau z…”), kegigihan dan tidak adanya gangguan ( tanpa TV) menghasilkan pembelajaran seumur hidup. Terkaitnya adalah saya selalu menjadi pemula di banyak domain, jadi kurangnya asumsi saya sering kali memungkinkan pembelajaran lebih cepat. Saya bereksperimen dengan teknologi baru, bahasa pemrograman, dll…terus-menerus.

Pendampingan Tepat Waktu

Saya sering diminta untuk membimbing orang-orang, tidak jarang saya melihat beberapa pertanyaan datang setiap minggu. Jadi, bagaimana cara memilih seseorang untuk diajak bekerja sama? Sebagai seorang insinyur, saya mengoptimalkan untuk menjawab pertanyaan (“maukah Anda membimbing saya?”), menulis postingan ini untuk menjawab pertanyaan tersebut.

Sangat menarik untuk melihat respons terhadap pendekatan ini — beberapa kandidat menganggapnya sebagai tantangan pribadi, yang lain bertujuan untuk mendapatkan MVP (minimum viabel persona), sementara yang lain mencoba bernegosiasi (“apakah ini cukup?”).

Gagasan berbasis proyek (atau Pendampingan JIT) sepertinya jarang terjadi. Sayangnya, cukup banyak calon peserta yang tampak bingung ketika saya meminta mereka menunjukkan kepada saya kode yang berjalan dari proyek tempat mereka berkontribusi, bukan pertanyaan standar tentang CV mereka.

Pendampingan mengalir langsung ke topik berikutnya. Pembelajaran diwujudkan dalam pembuatan perangkat lunak yang berfungsi.

Membangun

Gairah

Semangat yang mendorong energi untuk mengubah ide menjadi perangkat lunak yang berfungsi adalah alasan kami melakukan ini, bukan?

Tantangannya selalu adalah membuat MVP untuk pengguna saya. Yang sepertinya terlewatkan adalah siapa pengguna sebenarnya? Petunjuk: Bisa jadi saya, namun lebih sering BUKAN SAYA. Saya benar-benar telah menghasilkan ribuan dolar dengan membantu perusahaan mendapatkan kembali fokus pada pertanyaan kunci ini.

Karena saya sering memasangkan program dengan mahasiswa, saya sekarang (akhirnya) memahami apa yang kami lakukan dan tidak ajarkan kepada lulusan Ilmu Komputer kami. Pengalaman saya belajar coding sangat berbeda dengan pengalaman mereka. 15 tahun yang lalu, saya memulai, secara otodidak melalui metode pengembang salin dan tempel yang terbukti benar (“berhasil!”).

Cukup kodekan saja

Saya terus berlatih, berlatih, berlatih — aplikasi pertama yang saya buat sepenuhnya adalah aplikasi Windows: “Lynn’s Life in C#”. Untuk melanjutkan perjalanan saya yang tidak biasa, proyek pertama saya yang dapat ditagih menggunakan bahasa pemrograman yang kuat — T-SQL. Akhir-akhir ini sebagian besar pekerjaan produksi saya menggunakan Python, namun saya telah melakukan pekerjaan yang dapat ditagih di Ballerina, JavaScript, Lua, dan Go selama setahun terakhir.

Akhirnya, saya menambahkan buku-buku berbasis pola perangkat lunak utama ke basis pengetahuan saya. Untuk mengintip kebiasaan membaca saya, lihat postingan saya tentang topik itu. Tidak mengherankan, saya mulai memanfaatkan teknologi cloud publik saat teknologi tersebut muncul. Akhir-akhir ini saya bekerja dengan “jalur bioinformatika berbasis cloud” yang terkadang mencakup pembelajaran mesin.

Sebaliknya, saya merasa sedih dan mungkin tragis, karena mata kuliah ilmu komputer di universitas kami tampaknya terjebak dalam bahasa tipe C atau Lisp.

Saya akhirnya mengerti mengapa saya sering diberi tahu “kamu tidak teknis”. Definisi akademis ini sangat sempit. Saya ingin tahu kapan kita akan berevolusi?

Perusahaan saya memberikan nilai bagi pelanggan saya dengan cepat karena saya memahami biaya sebenarnya dari kode (pengorbanan tanpa menggunakan kode, menggunakan kembali kode, atau menulis kode) lebih baik daripada kebanyakan pengembang yang berpendidikan formal. Kepraktisan ini terwujud dalam pengulangan pertanyaan-pertanyaan berikut:

  • Apakah itu bekerja?
  • Apakah itu penting?
  • Bisakah mereka menggunakannya?
  • Apakah mereka menggunakannya?

Aspek kunci dari proses ini adalah komunikasi yang efektif. Pendidikan formal saya adalah seputar linguistik. Fokus pada komunikasi domain spesifik, dengan perhatian khusus pada taksonomi telah menjadi landasan pekerjaan saya. Apakah saya memahami apa yang diinginkan/dibutuhkan pelanggan saya? Apakah mereka memahami apa yang saya rencanakan untuk dibangun untuk mereka? Akhir-akhir ini, saya menambahkan komunikasi visual (diagram, gambar, sketsa) ke dalam repertoar saya.

Ketika kode tim saya berfungsi untuk pelanggan saya, kami senang dan puas — namun, pekerjaan kami belum selesai. Kemudian kita beralih ke fase berikutnya dalam siklus kerja kita: mengajar. Dalam banyak hal, ini adalah bagian paling menarik dari siklus ini.

Mengajar

Bertanya

Mengingat pengajaran teknis, beberapa pertanyaan muncul…

Apa yang diajarkan hari ini? Dengan segala sesuatu yang online setiap saat, apakah kita mendapat manfaat dari interaksi dengan guru manusia? Lewatlah sudah hari-hari kursus teknis 5 hari delapan jam yang saya ajarkan — apa yang menggantikannya?

Jawaban atas pertanyaan ini selalu menjelaskan:

"Bagaimana kamu belajar?"

Mendengarkan dengan cermat jawaban individu pasti akan memulai kembali siklus kerja saya. Sesuatu dalam penyelidikan ini pasti benar. Saya terkejut melihat lebih dari 4 juta siswa telah menonton sebagian atau seluruh kursus online saya.

Bagikan saja

“Masukkan kode Anda di GitHub!” menjadi sebuah mantra. Sangat menarik bagi saya untuk melihat jenis materi apa yang dimasukkan orang ke GitHub — kode, daftar, panduan, bahkan buku.

Dalam dunia pembelajaran teknis kolaboratif ini, saya mencari 'GitHub berikutnya'. Mengingat maraknya pembelajaran mesin, fokus utama saya adalah pada Kaggle. Menariknya, Microsoft memiliki GitHub, Google memiliki Kaggle. Sedang memikirkan apakah Amazon, atau mungkin Alibaba akan segera memasuki bidang ini…

Ini adalah contoh proyek yang didorong oleh hasrat yang dibangun oleh pengembang yang senang bekerja sama dengan saya akhir-akhir ini.

Berikutnya

Bagaimana masa depan pekerjaan teknis? Saya telah memikirkan cukup banyak tentang pertanyaan ini akhir-akhir ini. Saya meluangkan waktu untuk menulis tulisan pendek ini dengan harapan dapat membuka perbincangan dengan khalayak yang lebih luas tentang topik ini. Bagikan pemikiran Anda di bagian komentar.

#belajarBuildTeach