Sumber AI Frontline
Di mata banyak orang, Jeff Dean identik dengan teknologi Google dan merupakan alasan penting mengapa Google begitu kuat. Namun kenyataannya, mereka semua mengabaikan dewa teknis lain di belakang Jeff Dean. Dalam proses pertumbuhan Google dari sebuah startup menjadi generasi raksasa, banyak sekali insinyur yang berpartisipasi dalam kontribusinya. Di antara mereka, Jeff Dean dan Sanjay Ghemawat adalah dua insinyur super yang telah mencapai Level 11 (Rekan Senior Google). Keduanya masih berteman sangat dekat. Sebagai teman baik pengkodean di komputer yang sama, Jeff Dean dan Sanjay Ghemawat mengubah arah pengembangan Google dan seluruh Internet. Beberapa orang dengan bercanda menyebut mereka contoh terbaik dari pemrograman berpasangan di dunia komputer. Artikel ini adalah artikel spesial yang ditulis oleh majalah The New Yorker untuk Jeff Dean dan "teman baiknya" Sanjay Ghemawat Artikel ini disusun oleh AI Frontline. Mari jelajahi kehidupan seru dua dewa super bersama-sama!Pada suatu hari di bulan Maret 2000, enam insinyur teratas dari Google berkumpul di "ruang komando operasional" sementara. Saat itu, Google sedang menghadapi keadaan darurat yang belum pernah terjadi sebelumnya.
Pada bulan Oktober tahun sebelumnya, sistem inti Google untuk merayapi Web untuk membangun indeks konten web mengumumkan bahwa itu berhenti bekerja. Meskipun pengguna masih dapat menanyakan hasil melalui situs web google.com, hasil yang mereka terima sebenarnya sudah lima bulan kedaluwarsa.
Konflik kepentingan yang dihasilkan jauh di luar imajinasi para insinyur.
Rekan pendiri Google Larry Page dan Sergey Brin sedang menegosiasikan perjanjian dengan Yahoo untuk memberikan dukungan bagi mesin telusur yang terakhir, dan kedua nama besar tersebut menjanjikan skala indeks yang sepuluh kali lebih besar dari skala indeks Google yang sebenarnya pada saat itu. -Ini akan menjadi sekumpulan indeks holistik yang dapat menindaklanjuti perubahan konten World Wide Web kapan saja. Saat itu, ukuran internet berlipat ganda dalam setahun.
Oleh karena itu, setelah perbaikan gagal, google.com akan tetap bertahan lima bulan yang lalu, dan transaksi dengan Yahoo juga dapat gagal karena ini-semua yang diinvestasikan Google dalam negosiasi ini akan sia-sia.
Simpan Gemini Google
Di ruang konferensi bertingkat ini, para insinyur meletakkan panel pintu di rak kayu untuk membentuk meja sederhana, tempat mereka memasang komputer dan mulai bekerja. Saat itu, Craig Silverstein yang berusia 27 tahun sedang duduk di kejauhan, bertubuh pendek namun bersuara nyaring. Silverstein adalah karyawan pertama Google: dia telah bergabung dengan Google sejak Brin menggunakan ruang tamunya sebagai kantor, dan dia telah menulis ulang sebagian besar kode oleh para pemula.
Setelah empat hari empat malam kerja keras, dia dan insinyur sistem Rumania lainnya bernama Bogdan Cocosel merasa tidak berdaya. Silverstein mengenang, "Setiap analisis yang kami lakukan tidak ada artinya. Semuanya salah, tetapi kami tidak dapat menemukan alasannya."
Silverstein hampir sepenuhnya mengabaikan lulusan MIT berusia 33 tahun Sanjay Ghemawat yang duduk diam di belakangnya di sebelah kiri. Insinyur dengan alis tebal dan rambut hitam baru saja bergabung dengan Google beberapa bulan yang lalu (Desember 1999). Dia bergabung dengan Jeff Dean yang berusia 31 tahun, kolega dari Digital Equipment Corporation (D.E.C), yang bergabung dengan perusahaan. Jeff meninggalkan D.E.C sepuluh bulan lebih awal dari Sanjay. Hubungan antara kedua orang itu selalu sangat baik, dan mereka sangat menikmati cara bekerja berpasangan.
Di ruang perang, Jeff memindahkan kursi ke meja Sanjay. Sementara Sanjay sedang mengetik di keyboard, Jeff mengamati dari samping dan memberikan saran untuk perubahan dari waktu ke waktu, seperti seorang produser berbisik kepada pembawa berita melalui headset.
Jeff dan Sanjay mulai mempelajari masalah indeks ini, yang tidak membuahkan hasil. Mereka menemukan bahwa beberapa kata hilang-mereka mencoba mencari kata "kotak surat", tetapi tidak ada hasil yang diperoleh, sementara beberapa kata lainnya rusak. Selama beberapa hari, mereka telah mencari masalah dalam kode dan memeriksa logika kode. Tetapi yang menyebabkan crash adalah setelah peninjauan menyeluruh dari setiap bagian dari semua kode, mereka masih gagal menemukan bug.
Pemrogram terkadang mengubah konsep perangkat lunak mereka menjadi struktur hierarki, umumnya dimulai dari antarmuka pengguna tingkat atas dan secara bertahap turun ke tingkat yang semakin dasar. Di bagian bawah struktur, terdapat struktur transisi antara perangkat lunak dan perangkat keras, di mana urutan kode yang tidak dibatasi mulai beralih ke dunia fisik yang terdiri dari listrik dan silikon.
Di hari kelima dihabiskan di ruang perang, Jeff dan Sanjay mulai curiga bahwa masalahnya bukan pada level logis, melainkan pada kategori fisik. Mereka mengubah file indeks yang berantakan menjadi representasi paling primitif: kode biner. Lebih khusus lagi, mereka ingin memahami apa yang dilihat mesin.
Serangkaian 0 dan 1 tebal muncul di layar Sanjay, dengan setiap baris mewakili istilah indeks. Sanjay menemukan bahwa salah satu digit yang seharusnya 0 ditampilkan sebagai 1. Selanjutnya, Jeff dan Sanjay mengumpulkan semua kata yang salah urutan dan menemukan pola yang sama - setiap kata memiliki masalah yang sama. Chip memori pada mesin mereka tidak berfungsi.
Sanjay tidak bisa membantu tetapi mengarahkan pandangannya pada Jeff. Selama berbulan-bulan, Google telah mengalami berbagai kegagalan perangkat keras dan terus meningkat. Masalahnya adalah dengan pesatnya perkembangan bisnis Google, infrastruktur komputasinya juga berkembang. Kemungkinan kegagalan perangkat keras komputer umumnya sangat rendah, jadi ketika masalah menumpuk, mereka memiliki efek yang merusak sekaligus. Kabel yang aus, disk yang rusak, dan motherboard terlalu panas. Beberapa perangkat tidak dapat memulai dengan sukses sama sekali, dan beberapa telah melambat entah bagaimana.
Pada saat yang sama, faktor lingkungan yang tidak terduga juga harus diperhitungkan - ketika supernova meledak, gelombang ledakan akan menghasilkan partikel berenergi tinggi yang tersebar dan menunjuk ke segala arah. Para ilmuwan percaya bahwa salah satu partikel yang disebut sinar kosmik memang memiliki peluang yang sangat kecil untuk mengenai chip komputer di bumi dan menyebabkan kerusakan - yaitu, menyebabkan target berubah dari 0 ke 1. Oleh karena itu, sistem komputer canggih yang digunakan oleh lembaga kelas berat seperti NASA dan perusahaan keuangan besar akan menggunakan perangkat keras khusus dengan toleransi kesalahan transisi status bit tunggal. Namun saat ini, Google masih mengadopsi model bisnis start-up, yaitu membeli sejumlah besar peralatan komputer murah yang tidak memiliki kemampuan tersebut. Fakta telah membuktikan bahwa pada saat ini Google telah mengantarkan pada titik balik perkembangan - cluster komputasinya telah menjadi sangat besar, sehingga kegagalan perangkat keras telah menjadi peristiwa yang tak terhindarkan.
Dalam beberapa hari berikutnya, Jeff dan Sanjay bekerja keras untuk menulis kode untuk memperbaiki mesin yang rusak. Indeks baru dengan cepat dibangun dan ruang perang secara resmi dibubarkan. Tapi saat ini, Silverstein sedang melamun. Dia adalah debugger yang sangat baik, dan dia tahu bahwa kunci untuk menemukan kesalahan adalah dengan mengidentifikasi sumber masalahnya. Dalam hal ini, Jeff dan Sanjay jelas melakukan lebih baik.
Sebelum indeks mogok pada bulan Maret 2000, sistem Google didasarkan pada kode yang ditulis oleh pendirinya di sekolah pascasarjana Universitas Stanford. Page dan Brin bukanlah insinyur perangkat lunak profesional, mereka hanyalah peneliti eksperimental teknologi pencarian dari akademisi. Oleh karena itu, ketika program perayapan web mereka macet, sistem tidak akan memberikan informasi diagnostik yang berarti - hanya "Wah, horsey!" Yang akan ditampilkan di layar. Karyawan veteran Google menyebut perangkat lunak BigFiles yang ditulis oleh Page dan Brin BugFiles, bercanda bahwa perangkat itu penuh dengan banyak bug. Pada saat itu, kode pengindeksan terpenting Google membutuhkan beberapa hari untuk diselesaikan, dan jika terjadi masalah, kode harus dimulai ulang dari awal. Menurut pernyataan yang berlaku di Silicon Valley, sistem Google tidak memiliki "skalabilitas".
Kita semua menggunakan istilah "telusuri web" atau "telusuri web", tetapi nyatanya pernyataan ini tidak akurat. Faktanya, mesin pencari kami melintasi indeks Web - atau peta. Ketika BackRub masih digunakan pada tahun 1996, peta indeks Google masih cukup kecil untuk dipasang pada komputer pribadi di asrama Page. Tetapi pada Maret 2000, skalanya telah melampaui kekuatan pemrosesan superkomputer mana pun.
Untuk mengikuti perkembangan pesat seperti itu, satu-satunya cara Google adalah membeli peralatan tingkat konsumen dan membentuk kluster. Karena separuh biaya peralatan konsumen berasal dari "sampah" yang tidak berarti bagi Google-termasuk floppy drive dan casing logam, mereka memutuskan untuk memesan motherboard dan disk secara langsung dan menghubungkannya. Google menumpuk 1.500 perangkat ini hingga ketinggian enam kaki di sebuah gedung di Santa Clara, California; namun karena kegagalan perangkat keras, hanya 1.200 perangkat ini yang berfungsi dengan baik. Selain itu, kegagalan acak terus-menerus menghancurkan sistem ini. Untuk mempertahankan operasi bisnis, Google harus membangun komputer ini menjadi satu kesatuan yang mulus dan fleksibel.
Menghadapi pekerjaan ini, Jeff dan Sanjay sekali lagi bergandengan tangan.
Wayne Rosing, yang pernah bekerja untuk Apple dan berpartisipasi dalam pengembangan komputer Macintosh, bergabung dengan Google pada November 2000 dan bertanggung jawab untuk mengelola tim teknik yang beranggotakan 100 orang. Dia mengenang, "Keduanya adalah pemimpin sejati." Mereka bekerja 90 jam seminggu, menulis kode , Berharap untuk mengatasi kemungkinan kegagalan dari satu disk drive tanpa mempengaruhi sistem secara keseluruhan. Mereka menambahkan pos pemeriksaan selama proses perayapan web sehingga seluruh proses dapat dimulai ulang di tengah jalan. Dengan mengembangkan skema pengkodean dan kompresi baru, mereka menggandakan kapasitas sistem. Mereka juga merupakan pengoptimal tanpa kompromi.
Saat mobil berbelok, bagian luar ban pasti akan lebih menyentuh tanah; hal yang sama berlaku untuk disk drive, kecepatan gerak tepi luar lebih tinggi daripada tepi dalam selama pengoperasian. Google telah memindahkan data yang paling sering diakses ke tepi luar untuk mempercepat kecepatan eksekusi kepala baca. Namun dalam kasus ini, bagian dalam disk penyimpanan sering kali dikosongkan. Jeff dan Sanjay menggunakan ruang ini untuk menyimpan data yang telah diproses sebelumnya untuk kueri penelusuran umum.
Pada tahun 2001, mereka menghabiskan empat hari untuk membuktikan bahwa pengindeksan Google harus menggunakan memori akses acak cepat alih-alih penyimpanan disk yang relatif lambat - sebuah penemuan yang membalikkan filosofi ekonomi Google. Page dan Brin sangat jelas, Layanan yang dapat memberikan jawaban langsung akan disambut dengan hangat oleh pengguna, tetapi masalahnya adalah tingkat kecepatan ini membutuhkan dukungan daya komputasi yang kuat, dan daya komputasi membutuhkan biaya. Menghadapi dilema seperti itu, Jeff dan Sanjay menggunakan perangkat lunak untuk menyelesaikan masalah tersebut .
Setelah Rosing pergi pada tahun 2005, Alan Eustace menjadi kepala tim teknik Google. Eustace mengenang, Kontradiksi intinya adalah kita harus memahami detail terkecil untuk dapat menyelesaikan masalah skala. Jeff dan Sanjay sangat akrab dengan prinsip kerja komputer dan dapat berpikir pada tingkat bit. Jeff pernah menyusun daftar "Nomor Penundaan Yang Harus Diketahui Setiap Programmer". Meskipun disebut "Setiap programmer harus tahu", kebanyakan praktisi sebenarnya sangat baru mengenal angka-angka ini Misalnya, referensi cache tingkat pertama biasanya membutuhkan setengah nanodetik, atau dibutuhkan sekitar 250 mikrodetik untuk membaca 1 MB secara berurutan dari memori, dll. Tetapi angka-angka ini telah langsung membakar otak Jeff dan Sanjay . Dengan beberapa penulisan ulang perangkat lunak inti Google, kapasitas sistem telah ditingkatkan ke tingkat yang baru. Pada saat yang sama, di pusat data Google yang sangat besar, teknisi juga mulai mengikuti rute kerja yang tidak direncanakan - mengganti drive disk, catu daya, dan stik memori sesuai dengan instruksi yang dihasilkan oleh perangkat lunak. Dengan cara ini, meski komponen terus aus dan bahkan perlu dilepas, sistem secara keseluruhan masih bisa berkembang.
Insinyur Google saat ini berada dalam rantai keberadaan yang sangat besar mulai dari level 1. Tingkat terendah 1 mewakili staf dukungan teknis TI, tingkat kedua adalah mahasiswa baru, dan tingkat 3 biasanya adalah staf dengan gelar master. Untuk mencapai level 4 seringkali membutuhkan beberapa tahun latihan, atau gelar doktor. Kemajuan karir sebagian besar karyawan tetap di level 5. Level 6 adalah seorang insinyur, mewakili 10% teratas dari bakat luar biasa Google. Kemampuan teknis mereka secara langsung menentukan keberhasilan atau kegagalan proyek. Level 7 mewakili insinyur level 6 dengan pengalaman praktis jangka panjang. Level 8 adalah chief engineer, dan pekerjaan mereka terkait erat dengan produk dan infrastruktur utama. Level 9 adalah insinyur luar biasa, yang sebagian besar telah menjadi nama yang dihormati. Kelas 10 mewakili akademisi Google, yang merupakan gelar kehormatan seumur hidup. Akademisi Google adalah pemimpin tak terbantahkan di bidang dunia, Jeff dan Sanjay adalah akademisi senior Google-perusahaan ini juga merupakan satu-satunya karyawan 11 tingkat pada awalnya .
Mitra terbaik, model peran pemrograman pasangan terbaik
Dua programmer top di Google ini seperti dua belahan otak yang sama.
Google Park terletak di jalan raya hanya beberapa menit dari pusat kota Mountain View. Ada beberapa bangunan biasa-biasa saja yang dilapisi dengan jendela gelap. Suatu hari di musim panas lalu, setelah menyelesaikan kerja pemrograman pagi bersama, Jeff dan Sanjay makan siang bersama di kantin kampus yang disebut Big Table. Faktanya, nama restoran tersebut berasal dari sistem yang mereka bantu kembangkan pada tahun 2005 - sistem ini bertanggung jawab untuk memproses komputer yang tak terhitung jumlahnya sebagai database. Sanjay bertubuh tinggi dan kurus, mengenakan jaket retro cokelat tua, celana abu-abu, dan kacamata sempit. Dia menyukai meja makan terbuka, berjalan cepat, menyangga payung dan duduk di tempat teduh. Tentu saja, dia tidak lupa memindahkan kursi lainnya di bawah terik matahari. Semenit kemudian, Jeff datang, mengenakan kemeja lengan pendek dan sepatu kets modis.
Seperti seorang suami dan istri yang sudah tua, Jeff dan Sanjay masing-masing menceritakan detail dalam ingatan mereka dan meninjau proyek awal yang secara pribadi mereka ikuti.
Sanjay berkata, Kami masih kode tulisan tangan saat itu. Kacamatanya berubah warna secara otomatis di bawah sinar matahari. "Kami juga melakukan penulisan ulang kode, yang terasa seperti" Oh, sepertinya mirip dengan yang kami tulis bulan lalu. ""
Jeff menambahkan: "Atau, hanya saja data indeksnya sedikit berbeda."
Sanjay mengambil percakapan: "Jadi, seberapa besar perbedaannya? Ini yang perlu kita cari tahu"
Jeff melanjutkan lagi: "Pertanyaan penting."
Sanjay akhirnya menyimpulkan, "Ini adalah cara kerja normal kami."
Jeff menggigit pizza di tangannya. Dia memiliki jari yang kasar, sendi yang tegas, dan kulit yang keras. Di sisi lain, Sanjay tampaknya memiliki rasa elegan yang bertolak belakang, sangat sulit membayangkan dua orang seperti itu menjadi teman dekat. Sanjay berkata, "Saya tidak tahu bagaimana saya memutuskan untuk bekerja sama."
Jeff berkata, "Tapi sebelum kami bergabung dengan Google, kami adalah mitra."
Sanjay: "Tapi saya tidak tahu mengapa kami merasa berpikir bersama di depan komputer yang sama lebih baik daripada bertindak sendiri-sendiri."
Jeff berkata, "Saya lebih suka berjalan dua blok, atau bergegas ke laboratoriumnya dari laboratorium penelitian D.E.C saya. Ada toko es krim di antara kedua laboratorium tersebut."
Sanjay berseru gembira, "Jadi, seharusnya toko es krim itulah yang membentuk kebiasaan kita."
Sanjay belum pernah menikah, namun ia sering berlibur dengan Jeff sendiri, istrinya Heidi, dan kedua putrinya. Anak perempuan Jeff akan memanggilnya Paman Sanjay, dan mereka berlima sering bertemu untuk makan malam pada hari Jumat. Putri tertua Sanjay dan Jeff, Victoria, memiliki hubungan yang sangat baik. Sanjay mengungkapkan dengan cukup bangga, "Saya melihat putrinya tumbuh dewasa." Setelah Google go public pada tahun 2004, mereka pindah ke tempat tinggal baru yang hanya berjarak empat mil. Sanjay tinggal di sebuah rumah dengan tiga kamar tidur yang biasa-biasa saja di Old Town of Mountain View, dan Jeff merancang rumahnya sendiri di Palo Alto dan memasang trampolin di ruang bawah tanah. Saat mendesain rumah, dia menemukan bahwa meskipun dia sangat menyukai pekerjaan ini, dia tidak memiliki kesabaran untuk mendengarkan begitu banyak pendapat rinci tentang pembangunan Sanjay: sejumlah besar informasi rinci seperti balok utama, baut dan penahan beban akan benar-benar menghancurkan visi makro Jeff .
Untuk pemrograman berpasangan, Sanjay berkata: "Saya tidak begitu mengerti mengapa kebanyakan orang enggan melakukan ini."
Jeff berkata, "Anda perlu menemukan seseorang yang cocok dengan cara berpikir Anda, sehingga dua orang dapat membentuk kekuatan yang saling melengkapi."
Mereka meninggalkan meja dan berjalan-jalan di antara karyawan Google di restoran Big Table hanya untuk mencari es krim yang enak. Di antara dua orang ini, Jeff lebih banyak mengungkapkan keinginannya, jadi dia membagikan pengalaman es krimnya sambil berjalan. Aku bertugas mengambil es krim. Kupikir satu dorongan dan satu saran akan membuat es krim berdiri kokoh di atas kerucut. Sanjay setuju dengan ini. Dia dengan senang hati menempelkan es krim cokelat dan es krim rasa vanila ke dalam manisnya tangan Jeff silinder.
Setiap orang memiliki masa ketika inspirasi mengering, tetapi dua orang jarang mendapat masalah pada saat yang bersamaan. Selama 35 tahun terakhir, sekitar setengah dari Hadiah Nobel di bidang Fisiologi atau Kedokteran telah dianugerahkan kepada mitra ilmiah tersebut.
Setelah bertahun-tahun bekerja dan hidup bersama, kedua orang itu bahkan telah mengembangkan bahasa komunikasi yang berdedikasi, seperti sepasang saudara kembar. Mereka akan meniru pakaian dan kebiasaan satu sama lain, berbagi gaya humor satu sama lain, dan membangun kepercayaan bersama. Namun, tingkat kerja sama ini sebenarnya sangat jarang terjadi dalam pengembangan perangkat lunak. Meskipun pengembang terkadang berbicara tentang "pemrograman berpasangan" yaitu, dua pemrogram berbagi komputer yang sama, yang satu bertanggung jawab untuk "mengemudi" dan yang lainnya bertanggung jawab untuk "navigasi" tetapi kemitraan antara Jeff dan Sanjay jauh lebih dekat daripada ini. banyak. Jika persahabatan antara programmer biasa mirip dengan persahabatan antara pilot kolaboratif, maka Jeff dan Sanjay lebih seperti dua belahan otak yang sama. Banyak makalah terkenal yang mereka terbitkan ditandatangani bersama. Salah satu manajer mereka, Bill Coughran, mengenang, "Mereka sangat produktif dan bekerja dengan sangat efisien. Kami sering membangun tim yang berpusat pada mereka."
Pada tahun 1966, para peneliti di System Development Corporation menemukan bahwa programmer terbaik cenderung lebih dari sepuluh kali lebih produktif daripada programmer terburuk. Sejak itu, apakah ada "programmer 10x (sepuluh kali efisiensi)" telah menjadi topik yang kontroversial. Menghadapi proyek perangkat lunak besar yang harus dilakukan dalam bentuk kolektif, pemikiran ini jelas menekankan pentingnya anggota individu. Di bidang pemrograman, beberapa pencapaian dapat berdiri sendiri. Tapi meski begitu, ironisnya, Banyak programmer menganggap pekerjaan yang dilakukan oleh Jeff dan Sanjay sebagai bukti kuat bahwa 10x programmer memang ada .
Jeff lahir di Hawaii pada Juli 1968. Ayahnya Andy adalah peneliti penyakit tropis dan ibunya, Virginia Lee, adalah antropolog medis yang berbicara dalam enam bahasa. Karena tertarik, ayah dan putranya menjelajahi pemrograman komputer IMSAI 8080. Mereka mengelas program peningkatan ke mesin dan mempelajari setiap bagian peralatan secara mendalam.
Jeff dan orang tuanya sering berpindah-pindah. Pada usia tiga belas tahun, ia menyelesaikan kelas delapan lebih cepat dari jadwal dan datang ke kamp pengungsi di Somalia barat bersama keluarganya. Kemudian, ketika dia di sekolah menengah, dia mulai menulis program pengumpulan data yang disebut Epi Info untuk ahli epidemiologi; hasil ini akhirnya menjadi alat standar untuk kerja lapangan, dan merilis versi dalam lebih dari selusin bahasa dan merilis data. Seratus ribu eksemplar.
Jeff kemudian bertemu dengan istrinya Heidi di University of Minnesota, yang belum pernah menghubungkan hidupnya dengan pemrograman. Dia mengenang, "Dia tidak pernah membual tentang pencapaian ini. Kamu harus menemukan cara untuk membimbingnya untuk mulai bercerita." Kencan pertama dari keduanya adalah menonton pertandingan bola basket wanita bersama. Hari itu, Jeff berpakaian seperti pemandu sorak. Membuat maskot tupai.
Studi Ph.D. Jeff berfokus pada kompiler, yaitu perangkat lunak yang mengubah kode yang ditulis oleh orang-orang menjadi instruksi bahasa mesin yang dioptimalkan untuk komputer. Allan Eustace menunjukkan, "Jika Anda memulai dengan kesenangan, maka kompiler itu sendiri sangat membosankan." Namun di sisi lain, pekerjaan ini memungkinkan orang untuk "lebih dekat dengan mesin." Saat membicarakan Jeff, Sanjay terus menekan jari telunjuknya di pelipisnya. "Saat Anda menulis kode, dia akan mengatur sekumpulan model. Dia akan mengingatkan" bagaimana kinerja kode-kode ini? " Dia dapat mempertimbangkan hampir semua kemungkinan situasi dengan cara semi-otomatis. "
Sanjay tidak pernah menyentuh komputer sebelum masuk Universitas Cornell pada usia 17 tahun. Ia lahir di West Lafayette, Indiana, pada tahun 1966, tetapi dibesarkan di Kota, sebuah kota industri di India utara. Ayahnya Mahipal adalah seorang profesor botani, dan ibunya Shanta merawat Sanjay dan dua saudara kandungnya. Ini adalah keluarga intelektual yang khas: pamannya Ashok Mehta pernah membeli salinan "The Day of the Jackal" oleh Frederick Forsyth. Buku itu hampir hancur berantakan, tetapi anak-anak masih menyatukannya dan membacanya. Kakak Sanjay, Pankaj, menjadi guru termuda dalam sejarah Harvard Business School yang mendapatkan masa jabatan (saat ini menjadi profesor di Universitas New York). Pankaj kuliah di universitas yang sama dengan Sanjay dan dikenal sebagai "serba bisa". Sanjay berkata, Sebenarnya, saya merasa sedikit di bawah bayang-bayang saudara laki-laki saya. Oleh karena itu, Sanjay selalu sangat rendah hati dan rendah hati. Ketika dia terpilih untuk American Academy of Arts and Sciences pada tahun 2016, dia bahkan tidak memberi tahu orang tuanya; kedua orang tua itu mendengar kabar baik dari tetangga mereka.
Di sekolah pascasarjana Institut Teknologi Massachusetts, Sanjay menemukan sekelompok teman yang berpikiran sama. Namun ia jarang berkencan, dan hingga kini ia "jarang" dengan lawan jenis. Sanjay mengatakan bahwa dia tidak menolak untuk memulai sebuah keluarga, tetapi banyak hal telah berkembang hingga saat ini. Teman-teman dekatnya terbiasa tidak mengganggu hidupnya, dan orang tuanya telah lama menerima keputusan putranya untuk melajang selamanya. Mungkin justru karena ia selalu hidup di dunianya sendiri sehingga karyawan Google lainnya merasa dirinya diselimuti rasa misteri. Dia dikenal pendiam dan mendalam-ini adalah orang yang bijaksana dan tidak biasa. Di mejanya, masih ada setumpuk catatan portofolio Mead yang ditulis hampir dua dekade lalu, yang diisi dengan list dan chart yang rapi. Dia terbiasa mengambil pena untuk dengan cepat mencatat pikirannya. Meski jarang mengutip isi catatan, ia percaya bahwa menulis bermanfaat untuk berpikir.
Mentornya untuk gelar masternya di MIT adalah Barbara Liskov, seorang ilmuwan komputer berpengaruh yang berspesialisasi dalam pengelolaan basis kode yang kompleks. Menurutnya, kode terbaik harus seperti artikel yang luar biasa. Ini membutuhkan struktur yang diterapkan dengan baik, dan setiap kata dan kalimat harus memiliki arti tersendiri. Namun pemrograman dengan cara ini membutuhkan pencipta untuk berempati dengan penonton. Selain itu, ini juga berarti bahwa pencipta tidak hanya memperlakukan kode sebagai alat untuk mencapai tujuan, tetapi juga memperlakukannya sebagai karya seni. Craig Silverstein berkata, "Saya pikir dia paling baik dalam pekerjaan desain sistem. Melihat file kode yang ditulis oleh Sanjay, Anda akan menemukan bahwa itu seperti patung yang indah dengan proporsi yang proporsional."
Di Google, nama Jeff jelas lebih menonjol. Bahkan, orang baik itu malah banyak menulis lelucon untuk Jeff Dean berdasarkan bintang laga Chuck Norris. (Misalnya, "Chuck Norris dapat menghitung hingga tak terbatas ... dan itu menghitung dua kali"; "resume Jeff hanya perlu mencantumkan hal-hal yang belum dia lakukan karena lebih pendek.") Tetapi bagi mereka yang mengetahuinya dengan baik Bagi mereka berdua, bakat Sanjay sudah pasti tidak kalah dengan Jeff. Wilson Hsieh, yang telah bekerja dengan keduanya untuk waktu yang lama, berkata, Jeff sangat pandai dalam mengusulkan ide dan prototipe gila, sementara Sanjay adalah tipe orang yang dapat menyelesaikan pekerjaan pengembangan sepenuhnya. Dalam hidup, Jeff lebih ramah, dan Sanjay adalah Lebih terkendali. Pada level kode, situasinya justru sebaliknya. Hasil pemrograman Jeff sering memusingkan-dia dapat dengan cepat membuat sketsa ide-ide yang mengejutkan, tetapi karena keseluruhan prosesnya sangat cepat, orang lain seringkali tidak dapat mengerti. Dan kode Sanjay sangat bersahabat.
Silverstein menunjukkan, "Beberapa kode orang terlalu longgar, artinya, layar kode berisi terlalu sedikit informasi. Ini berarti Anda harus menggulir bolak-balik untuk melihat apa arti kode tersebut. Tetapi beberapa orang menulis terlalu banyak kode. Jika terlalu padat, akan terasa seperti "Eh, saya tidak berencana untuk terus menontonnya." Sanjay menemukan keseimbangan antara keduanya. Menghadapi kodenya, Anda akan merasa "tidak masalah, saya bisa mengerti", tetapi pada saat yang sama mengandung banyak konten. "Silverstein juga menambahkan," Setiap kali saya berencana untuk menambahkan fitur baru ke kode Sanjay, saya selalu menemukan bahwa pengait tersebut sepertinya telah dipesan. Saya bisa memahami kehebatannya, dan saya tidak tahu bagaimana kode semacam itu ditulis. "
Suatu pagi di musim semi ini, Jeff dan Sanjay sedang berdiri di dapur kecil di Gedung 40, tempat departemen kecerdasan buatan Google berada. Papan tulis di belakang mereka penuh dengan aljabar matriks; di atas meja ada makalah tentang jaringan permusuhan yang tidak diawasi. Jeff mengenakan T-shirt dan jeans pudar, terlihat seperti gelandangan yang baru saja menemukan jalan hidupnya; Sanjay mengenakan sweter dan celana abu-abu. Sebatang pohon pinus besar terlihat dari jendela yang terang, dan ada lapangan di kejauhan. Kapanpun, selama dia bekerja, Jeff tidak akan pernah bisa hidup tanpa espresso. Di bar dapur kecil, penggiling kopi La Marzocco selebar tiga kaki sedang bersenandung. Sanjay menatap mesin itu dan berkata, Kita terlambat. Saat itu pukul 8:32 pagi.
Setelah waktu minum kopi selesai, mereka berjalan ke komputer mereka. Jeff mengambil kursi dari mejanya - mejanya kotor, dan meja Sanjay selalu bersih. Dia meletakkan satu kaki di lemari arsip dan bersandar ke belakang; Sanjay melihat ke layar di depannya. Empat jendela terbuka di monitor: di sebelah kiri adalah browser web dan terminal untuk menjalankan alat analisis; di sebelah kanan adalah dua file di editor teks Emacs-satu adalah daftar tugas dan buku catatan, yang lainnya adalah warna Kode yang bagus. Sanjay meletakkan laptopnya di sebelah desktop Jeff.
Oke, apa yang kita lakukan? Sanjay membuka topik pembicaraan.
Jeff berkata, "Saya pikir kita sedang mempelajari ukuran kode TensorFlow Lite."
Ini adalah proyek perangkat lunak penting yang terkait dengan pembelajaran mesin. Baik Jeff maupun Sanjay khawatir volumenya akan membengkak tanpa batas; seperti editor buku, mereka perlu menemukan cara untuk menyederhanakan konten. Untuk tujuan ini, keduanya membangun sebuah alat "pelangsing", dan alat itu sendiri juga perlu dioptimalkan.
Sanjay berkata, "Jadi saya mencoba mencari tahu seberapa lambatnya ini."
Jeff menjawab, Itu sangat lambat. Dia mencondongkan tubuh ke depan, tetapi masih sangat santai.
Sanjay menjawab, "Jadi ini mewakili 120 KB, yang artinya lambat sekitar 8 detik."
Jeff menjawab, "Ini 120.000 stack call, bukan 120 KB."
Sanjay berkata, "Ya, KB mengacu pada jumlah teks, mungkin."
Jeff menjawab, "Oh, ya, maaf."
Sanjay bertanya, "Saya tidak begitu mengerti ambang batas apa yang harus ditetapkan untuk ukuran unit. Bagaimana dengan 0,5MB?"
Jeff berkata, Seharusnya mungkin. Sanjay mulai mengetik di keyboard, dan Jeff tertarik ke layar. "Jadi maksudmu, jika lebih besar dari 0.5MB, maka kita harus ..." Sebelum dia bisa menyelesaikan kata-katanya, Sanjay menjawab dengan kode.
Sanjay akan meletakkan tangannya ke arah jam sepuluh dan dua saat mengemudi, dan kemudian menatap ke depan dengan seksama - sekarang dia sedang mengoperasikan keyboard dan posturnya persis sama. Kakinya selebar bahu, masih mempertahankan keadaan yang paling dia kenal. Jari-jarinya yang ramping menjentikkan tombol dengan ringan, dan secara bertahap menarik perhatian beberapa programmer muda.
Segera, mereka mencapai kemenangan bertahap, dan Sanjay mengadakan perintah untuk menguji kemajuan saat ini. Sedikit lelah, dia memeriksa alamat emailnya saat perintah dijalankan. Ujiannya sudah selesai, tapi dia tidak menyadarinya untuk pertama kalinya.
"Hei," Jeff menjentikkan jarinya dan menunjuk ke layar. Meskipun Jeff selalu sangat santai dan baik dalam percakapan sehari-hari, ketika dia dan Sanjay duduk bersama di depan komputer, dia akan langsung menjadi pria yang percaya diri, kasar, dan selalu antagonis. Sanjay sudah lama terbiasa dengan ini. Saat dia mengira berpikir Jeff terlalu cepat, dia mengangkat tangannya dari keyboard dan membuat gerakan, seolah mengatakan "Tunggu sebentar." (Umumnya, Jeff seperti pedal gas, dan Sanjay adalah remnya.) Meskipun dua orang Tampaknya akan ada pertengkaran sebentar lagi, tetapi dalam dua dekade terakhir, mereka tidak pernah benar-benar saling berteriak.
Sanjay menggulir layar dan memindahkan kode baru ke tengah layar. Jeff melihatnya, "Ini semua bisa ditambahkan ke proses biasa, kan?"
"Baiklah," Sanjay setuju.
Jeff meremas buku jarinya. "Sepertinya oke, jadi tambahkan sekarang?"
Sanjay lebih berhati-hati, "Tidak, aku ..."
Jeff tampak sedikit tidak sabar, "Apakah ada masalah yang belum kami temukan?"
"Itu tidak benar, maksudku, kita harus mencari tahu dulu situasi saat ini. Kita bisa mencatat dulu, kan?"
"Oke, tidak masalah," Jeff kembali santai, emosinya selalu berubah saat berbicara. Mereka menyusun catatan bersama.
Menjelang waktu makan siang, mereka bekerja selama dua jam, di mana mereka beristirahat sepuluh menit, dan menghabiskan sebagian besar waktu mereka untuk berkomunikasi di tempat kerja. (Pemrogram muda harus memiliki ingatan yang dalam ketika mereka melihat status kerja mereka, karena percakapan antara dua orang ini tidak pernah berhenti, atau bahkan berhenti.) Dalam praktik teknik standar, setiap orang perlu menyerahkan kode Anda kepada yang lain Ulasan programmer. Tapi Jeff dan Sanjay melewatkan langkah ini dan hanya menulis "lgtm" dalam rekaman, yang berarti "terlihat bagus bagiku" - Kupikir bisa. Dalam arti tertentu, mereka mungkin kewalahan oleh hal-hal kecil. Namun, pekerjaan pengembangan kode mereka perlu sepenuhnya mempertimbangkan skala bisnis Google yang besar. KB dan latensi mikrodetik yang mereka khawatirkan dapat meningkat secara eksponensial antara pusat data di seluruh dunia, yang pada akhirnya mencapai miliaran kali. Ruang komputer yang besar dan terus menerus memanas ini diisi dengan rak prosesor yang tak ada habisnya dan membutuhkan sumber daya pendingin air yang cukup besar untuk pendinginan. Dalam pekerjaan yang tampaknya membosankan inilah Jeff kembali ke rumah dengan mudah dan memberi tahu putri-putrinya, "Sanjay dan saya meningkatkan kecepatan penelusuran Google sebesar 10% hari ini."
Landasan dari data besar: kelahiran MapReduce
Dalam empat bulan tahun 2003, Jeff dan Sanjay membantu Google menyelesaikan peningkatan terbesar sejak didirikan. Perangkat lunak yang mereka gunakan adalah MapReduce yang terkenal belakangan. Inspirasi untuk peningkatan ini berasal dari penulisan ulang ketiga perayap dan pengindeks Google. Mereka menyadari bahwa setiap kali mereka memecahkan masalah penting, mereka diarahkan untuk bekerja sama pada komputer yang tak terhitung jumlahnya yang tersebar secara geografis dan perangkat individu mungkin tidak dapat diandalkan. Oleh karena itu, hanya promosi solusi yang komprehensif yang dapat menghindari menghadapi masalah yang sama berulang kali. Lebih khusus lagi, alat harus dibuat untuk memastikan bahwa setiap pemrogram di Google dapat menggunakannya untuk menjalankan mesin di pusat data dengan kata lain, memperlakukan semua infrastruktur Google sebagai komputer besar.
Jeff dan Sanjay menulis MapReduce di sudut kantor. Ada kolam di luar jendela kantor. Signifikansi MapReduce adalah untuk mengatur proses kompleks yang mungkin tidak dapat dijelaskan secara teratur. Sebelum munculnya MapReduce, setiap programmer harus memikirkan cara membagi dan mendistribusikan data, mengalokasikan pekerjaan, dan bertanggung jawab untuk menangani kegagalan perangkat keras. MapReduce memberi pemrogram metode terstruktur untuk mempertimbangkan masalah seperti itu. Sama seperti koki menyortir bahan sebelum dimasak, MapReduce juga meminta programmer untuk membagi tugas mereka menjadi dua tahap. Pertama, pemrogram perlu memberi tahu setiap mesin cara menyelesaikan tahap "Peta" dari tugas (seperti menghitung berapa kali sebuah kata muncul di halaman web); selanjutnya, pemrogram perlu menulis instruksi untuk mencapai "Mengurangi" semua hasil mesin (seperti Tambahkan hasil di atas). MapReduce dapat menangani detail pekerjaan distribusi, dengan demikian membantu pemrogram menyingkirkan tugas-tugas kompleks dan membosankan ini.
Selama tahun berikutnya, Jeff dan Sanjay menulis ulang sistem perayapan dan pengindeksan Google dalam bentuk tugas MapReduce. Segera, ketika teknisi lain menyadari kekuatan MapReduce, mereka juga mulai menggunakannya untuk memproses video dan merender ubin di Google Maps. MapReduce sangat sederhana dan dapat dengan mudah mencerna semua jenis tugas baru. Bisnis Google memiliki apa yang disebut "kurva penggunaan siang dan malam" -yaitu, lalu lintas lebih banyak di siang hari daripada di malam hari, dan tugas MapReduce mulai menggunakan kapasitas diam. Sama seperti makhluk yang menceritakan pengalaman mereka di siang hari dalam mimpi mereka, Google sekarang menggunakan metode yang sama untuk memproses datanya sendiri.
Awalnya, ada serangkaian tanda itu Google sebenarnya adalah perusahaan AI yang menyamar sebagai perusahaan pencari . 2001 Jeff Sanjay Noam Shazeer TurboTaxTurbot axturbot Shazeer pritany spearsBrinsley spearsBritney Spears Shazeer T.G.I.F Jeff Georges Harik Shazeer
MapReduce Jeff BigTableMapReduce Jeff Sanjay
2004 Jeff Sanjay MapReduceMapReduce Simplified Data Processing on Large Clusters MapReduce
Nutch Mike Cafarella Doug Cutting MapReduce Hadoop Cutting
Hadoop Hadoop Facebook Hadoop MapReduceFacebook Hadoop Hadoop MapReduce LinkedIn Netflix Randy Garrett Keith Alexander Hadoop 18000 collect it all
Jeff 2011 Jeff Jeff
Jeff Heidi Jeff Google BrainAlan Eustace Sanjay Jeff
2001 Claire Cui Jeff Jeff
Jeff TensorFlow MapReduce TensorFlow 2015 TensorFlow CEO Sundar Pichai AI Jeff AI
Jeff TPU AutoML Sanjay
James Cook George Vancouver John Harrison
Jeff Sanjay Palo Alto Sol Jeff Gmail 2004 4 1 Sanjay Jeff
Jeff Sanjay Sanjay Jeff Area Tech Leads Jeff Sanjay
Jeff Sanjay AI Jeff Jeff Sanjay .
Jeff Heidi
3 Jeff Sanjay Jeff Roadster Bernie 2016 Sanjay Model S Sanjay Jeff 7.1 20 Jeff Sanjay
6 Jeff Sanjay Jeff "
Jeff
Sanjay
Jeff
Jeff
Jeff Sanjay
Tautan asli:
https//www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge
- "TFBOYS" "News" 190330 Pertempuran terakhir "Captain Big Ice", Yi Yang Qianxi memimpin pemain muda untuk memanfaatkan momentum
- Rihanna membuat episode ketiga dari sejarah keluarga-rapper kulit putih legendaris Eminem diundang untuk bekerja sama dan mencapai puncak
- 190330 Pertempuran terakhir "Jenderal Kecil" Yi Yang Qianxi memimpin remaja untuk memanfaatkan momentum
- Rihanna membuat episode kedua dari sejarah keluarga - dia berubah dari seorang gadis kecil yang lugu dan polos menjadi seorang gadis seksi