Persahabatan yang membuat Google besar

Suatu hari, pada Maret 2000, enam insinyur terbaik Google bertemu di ruang perang dadakan. Perusahaan berada di tengah-tengah keadaan darurat yang belum pernah terjadi sebelumnya. Pada bulan Oktober, sistem pusatnya, yang melacak Web untuk membuat "indeks" -nya, telah berhenti berfungsi. Meskipun pengguna masih bisa menulis pertanyaan di google.com, hasil yang mereka terima lima bulan kedaluwarsa. Lebih banyak yang dipertaruhkan daripada yang disadari oleh para insinyur. Google co-founder, Larry Page dan Sergey Brin, sedang bernegosiasi perjanjian untuk mempromosikan mesin pencari untuk Yahoo, dan telah berjanji untuk memberikan indeks sepuluh kali lebih besar daripada yang mereka miliki saat itu, yang mampu bertahan. World Wide Web, yang telah dua kali lipat dalam ukuran tahun sebelumnya. Jika gagal, google.com akan tetap menjadi kapsul waktu, perjanjian Yahoo mungkin akan runtuh dan perusahaan akan menanggung risiko pendanaannya yang terlupakan.

Di ruang konferensi di sebelah tangga, para insinyur membuka pintu melalui trestles dan memasang komputer mereka. Craig Silverstein, seorang anak berumur dua puluh tujuh tahun dengan gambar kecil dan suara nyaring, duduk di dinding seberang. Silverstein adalah karyawan pertama Google: dia bergabung dengan perusahaan ketika kantornya berada di ruang tamu Brin dan dia sendiri telah menulis ulang sebagian besar kodenya. Setelah empat hari dan malam, dia dan seorang insinyur sistem Rumania bernama Bogdan Cocosel tidak sampai di mana-mana. "Tak satu pun dari analisis yang kami lakukan masuk akal," kata Silverstein. "Semuanya rusak, dan kami tidak tahu mengapa."

Silverstein baru saja mendaftarkan kehadirannya, di bahu kirinya, Sanjay Ghemawat, seorang bocah lelaki berusia tiga puluh tiga tahun yang pendiam, M.I.T. Lulus dengan alis tebal dan rambut hitam beruban di pelipis. Sanjay telah bergabung dengan perusahaan hanya beberapa bulan sebelumnya, pada bulan Desember. Dia mengikuti seorang rekannya, seorang pemuda energik dan energik yang berumur tiga puluh satu tahun bernama Jeff Dean dari Digital Equipment Corporation. Jeff telah meninggalkan D.E.C. Sepuluh bulan sebelum sanjay. Mereka sangat dekat, dan mereka lebih suka menulis kode bersama. Di ruang perang, Jeff memindahkan kursinya ke meja Sanjay, meninggalkan kamarnya yang kosong. Sanjay bekerja dengan keyboard sementara Jeff bersandar di sisinya, mengoreksi dan membujuk seperti seorang produser di telinga pembaca berita.

Jeff dan Sanjay mulai mempelajari dengan teliti indeks stagnannya. Mereka menemukan bahwa beberapa kata hilang, mereka akan mencari "kotak surat" dan mereka tidak akan mendapatkan hasil, dan yang lain tidak berfungsi. Selama berhari-hari, mereka mencari cacat dalam kode, membenamkan diri dalam logikanya. Bagian demi bagian, semua tidak terlindungi. Mereka tidak dapat menemukan kesalahan itu.

Programmer terkadang mengkonsepkan perangkat lunak mereka sebagai struktur lapisan yang berpindah dari antarmuka pengguna, di bagian atas, melalui lapisan yang lebih mendasar. Untuk menjelajah ke bagian bawah struktur ini, di mana perangkat lunak memenuhi perangkat keras, adalah menyimpang dari urutan kode Platonik dan menuju ke alam semesta unsur listrik dan silikon yang menjadi tumpuannya. Pada hari kelima mereka di ruang perang, Jeff dan Sanjay mulai curiga bahwa masalah yang mereka cari tidak logis tetapi fisik. Mereka mengkonversi file indeks yang berantakan menjadi bentuk representasi yang lebih luas: kode biner. Mereka ingin melihat apa yang dilihat mesin mereka.

Pada monitor Sanjay, kolom tebal 1 dan 0 muncul, setiap baris mewakili kata yang diindeks. Sanjay menunjukkan: angka yang seharusnya 0 adalah 1. Ketika Jeff dan Sanjay mengumpulkan semua kata yang salah eja, mereka melihat sebuah pola: jenis masalah teknis yang sama di setiap kata. Chip memori mesin mereka telah rusak dalam beberapa cara.

Sanjay menatap Jeff. Selama berbulan-bulan, Google telah mengalami peningkatan jumlah kegagalan perangkat keras. Masalahnya adalah, ketika Google tumbuh, infrastruktur komputasinya juga meluas. Perangkat keras komputer jarang gagal, sampai Anda memiliki cukup, maka gagal sepanjang waktu. Kabel menjadi usang, hard disk runtuh dan motherboard terlalu panas. Banyak mesin tidak pernah bekerja di tempat pertama; beberapa akan tumbuh tanpa bisa dijelaskan lebih lambat. Faktor lingkungan yang aneh ikut bermain. Ketika supernova meledak, ledakan menciptakan partikel berenergi tinggi yang menyebar ke segala arah; Para ilmuwan percaya bahwa ada kemungkinan kecil bahwa salah satu partikel yang menyimpang, yang dikenal sebagai sinar kosmik, bisa mengenai chip komputer di Bumi, berubah dari 0 ke 1. Sistem komputer paling kuat di dunia, di NASAPerusahaan keuangan, dan sejenisnya, menggunakan perangkat keras khusus yang dapat mentoleransi perubahan sedikit. Namun Google, yang masih beroperasi sebagai startup, membeli komputer murah yang tidak memiliki fitur itu. Perusahaan telah mencapai titik balik. Kelompok komputernya telah tumbuh begitu besar sehingga kegagalan perangkat keras yang tidak mungkin tidak dapat dihindari.

Bersama-sama, Jeff dan Sanjay menulis kode untuk mengimbangi mesin-mesin serangan. Segera setelah itu, indeks baru selesai dan ruang perang dibubarkan. Silverstein bingung. Dia adalah seorang debugger yang baik; Kunci untuk menemukan kesalahan adalah sampai ke dasar segalanya. Jeff dan Sanjay sudah lebih dalam.

Hingga bencana indeks Maret, sistem Google telah mengakar pada kode yang ditulis pendirinya di sekolah pascasarjana, di Stanford. Page dan Brin bukanlah insinyur perangkat lunak profesional. Mereka adalah akademisi yang melakukan eksperimen dalam teknologi pencarian. Ketika perayap webnya mogok, tidak ada pesan diagnostik informasi, hanya frasa "Wow!". Karyawan pertama mengacu pada BigFiles, perangkat lunak yang Page dan Brin telah tulis, seperti BugFiles. Kode pengindeksan yang penting membutuhkan waktu berhari-hari untuk diselesaikan, dan jika menemukan masalah, itu terjadi untuk memulai dari awal. Dalam bahasa Silicon Valley, Google tidak "terukur."

Kami mengatakan bahwa "kami mencari Web", tetapi dalam kenyataannya kami tidak; mesin pencari kami melintasi indeks Web: peta. Ketika Google masih disebut BackRub, pada tahun 1996, petanya cukup kecil untuk dipasang di komputer yang dipasang di kamar tidur halaman. Pada Maret 2000, tidak ada superkomputer yang cukup besar untuk memprosesnya. Satu-satunya cara Google dapat mempertahankannya adalah dengan membeli mesin konsumen dan menghubungkannya dengan armada. Karena separuh biaya komputer-komputer ini ada di bagian-bagian yang dianggap Google sebagai sampah: drive disket, rangka logam, perusahaan memesan motherboard dan hard drive mentah dan menggabungkannya. Google memiliki seribu lima ratus perangkat yang ditumpuk di menara setinggi enam kaki, di sebuah gedung di Santa Clara, California; Karena kegagalan perangkat keras, hanya 1.200 yang bekerja. Cacat, yang tampaknya terjadi secara acak, terus merusak sistem. Untuk bertahan hidup, Google harus menyatukan komputernya dalam keseluruhan yang mulus dan tahan.

Berdampingan, Jeff dan Sanjay mengambil alih upaya ini. Wayne Rosing, yang pernah bekerja di Apple di prekursor Macintosh, bergabung dengan Google pada November 2000 untuk memimpin tim insinyur 100 orang. "Mereka adalah para pemimpin," katanya. Bekerja selama sembilan puluh jam seminggu, mereka menulis kode sehingga satu hard drive bisa gagal tanpa merusak keseluruhan sistem. Mereka menambahkan titik kontrol ke proses pelacakan sehingga dapat dimulai kembali di tengah proses. Dengan mengembangkan skema pengkodean dan kompresi baru, mereka secara efektif menggandakan kapasitas sistem. Mereka adalah pengoptimalan tanpa henti. Ketika mobil berputar satu putaran, lebih banyak tanah harus ditutupi dengan roda luar; Demikian pula, tepi luar hard drive yang berputar bergerak lebih cepat daripada bagian dalam. Google telah memindahkan data yang diakses lebih sering ke luar, sehingga bit bisa mengalir lebih cepat di bawah kepala bacaan, tetapi mereka telah meninggalkan bagian dalam kosong; Jeff dan Sanjay menggunakan ruang untuk menyimpan data yang sudah diproses sebelumnya untuk permintaan pencarian umum. Selama empat hari pada tahun 2001, mereka menunjukkan bahwa indeks Google dapat disimpan menggunakan memori akses acak cepat daripada hard drive yang relatif lambat; Penemuan mereformasi ekonomi perusahaan. Page dan Brin tahu bahwa pengguna akan pergi ke layanan yang menawarkan jawaban secara instan. Masalahnya adalah kecepatan yang diperlukan daya komputasi, dan daya komputasi biaya uang. Jeff dan Sanjay memasang jarum dengan perangkat lunak.

Alan Eustace menjadi kepala tim teknik setelah Rosing pergi, pada tahun 2005. "Untuk memecahkan masalah dalam skala, secara paradoks, Anda harus mengetahui detail terkecil," kata Eustace. Jeff dan Sanjay memahami komputer pada tingkat bit. Suatu kali, Jeff mengedarkan daftar "nomor Latency yang harus diketahui oleh setiap programmer." Faktanya, ini adalah daftar angka yang hampir tidak diketahui oleh programmer: bahwa referensi cache L1 biasanya membutuhkan setengah nanodetik, atau bahwa membaca megabyte secara berurutan dari memori membutuhkan dua ratus lima puluh mikrodetik. Angka-angka ini terhubung ke otak Jeff dan Sanjay. Ketika mereka membantu kepala beberapa penulisan ulang perangkat lunak pusat Google, kapasitas sistem diperluas oleh perintah besarnya. Sementara itu, di pusat data besar perusahaan, teknisi sekarang berjalan di rute serpentine, mengikuti instruksi yang dihasilkan oleh perangkat lunak untuk mengganti hard drive, pasokan listrik dan kartu memori. Meskipun bagian-bagiannya sudah aus dan mati, sistemnya menjadi makmur.

Hari ini, insinyur Google ada di Great Chain of Being yang dimulai di Level 1. Di bagian bawah adalah I.T. staf pendukung Level 2 baru lulus dari perguruan tinggi; Level 3 sering memiliki master. Mencapai Level 4 membutuhkan beberapa tahun, atau gelar Ph.D. Sebagian besar perkembangan berhenti di Level 5. Para insinyur tingkat 6 (sepuluh persen teratas) sangat mampu sehingga dapat dikatakan bahwa mereka adalah alasan mengapa sebuah proyek berhasil; Level 7 adalah level 6 dengan sejarah panjang. Principal Engineers, Level 8, terkait dengan produk atau bagian infrastruktur penting. Distinguished Engineers, Level 9, dibicarakan dengan hormat. Untuk menjadi anggota Google, level 10, adalah mendapatkan kehormatan yang akan mengikutinya seumur hidup. Google Scholar umumnya ahli terkemuka di bidangnya. Jeff dan Sanjay adalah Google Senior Fellows, yang pertama dan satu-satunya level 11 perusahaan.

Kampus Google, terletak di sebelah jalan tol beberapa menit dari pusat kota Mountain View, adalah serangkaian bangunan jongkok dan tidak menarik dengan jendela gelap. Suatu Senin musim panas lalu, setelah satu pagi program bersama, Jeff dan Sanjay pergi makan siang di kafe kampus bernama Big Table, yang dinamai berdasarkan sistem yang telah mereka kembangkan, pada tahun 2005, untuk merawat komputer yang tak terhitung jumlahnya seperti jika mereka adalah database tunggal. Sanjay, yang jangkung dan langsing, mengenakan hudley garnet tua, celana panjang abu-abu dan kacamata kecil berbingkai kawat. Dia melihat sebuah meja di luar dan berjalan cepat untuk mengklaimnya, membuka payung dan duduk di tempat teduh. Dia pindah kursi lain ke matahari untuk Jeff, yang tiba semenit kemudian, mengenakan kemeja lengan pendek dengan bahu lebar dan sepatu bergaya.

Sebagai pasangan, Jeff dan Sanjay menceritakan kisah dengan menyumbangkan bagian dari total gambar. Mereka mulai mengingat proyek pertama mereka.

"Kami sedang menulis sesuatu dengan tangan," kata Sanjay. Kacamatanya gelap di bawah sinar matahari. "Kami akan menulis ulang dan itu, seperti, & # 39; Oh, itu sepertinya dekat dengan apa yang kami tulis bulan lalu."

"Atau sedikit berbeda dalam pengindeksan kami. Data, "Jeff menambahkan.

"Atau sedikit berbeda," kata Sanjay. "Dan itulah yang kami sadari …"

"Inilah intinya," kata Jeff.

"Ini pola umum," kata Sanjay, menyelesaikan pikirannya.

Jeff menggigit pizza yang dimakannya. Ia memiliki jari seorang pelaut, buku jari dan coriacea; Sanjay, yang kelihatannya hampir tidak seberapa dibandingkan, bertanya-tanya bagaimana mereka akhirnya menjadi pasangan. "Saya tidak tahu bagaimana kami memutuskan akan lebih baik," katanya.

"Kami sudah melakukannya sejak sebelum Google," kata Jeff.

"Tapi saya tidak tahu mengapa kami memutuskan lebih baik melakukannya di depan komputer, bukan dua," kata Sanjay.

"Aku akan berjalan dari Lab Penelitian D.E.C.ku dua blok dari laboratorium riset D.E.C.," kata Jeff. "Ada toko gelato di tengah."

"Jadi ini toko gelato!" Kata Sanjay, senang.

Sanjay, yang tidak menikah, bergabung dengan Jeff, dua putrinya, dan istrinya, Heidi, berlibur. Anak-anak perempuan Jeff memanggilnya Paman Sanjay, dan mereka berlima makan malam pada hari Jumat. Sanjay dan Victoria, tertua Jeff, sudah mulai memanggang. "Aku sudah melihat putrimu tumbuh besar," kata Sanjay bangga. Setelah Google I.P.O., pada tahun 2004, mereka pindah ke rumah yang berjarak empat mil. Sanjay tinggal di apartemen tiga kamar sederhana di Old Mountain View; Jeff merancang rumahnya, dekat pusat Palo Alto, dirinya sendiri, memasang trampolin di ruang bawah tanah. Ketika bekerja di rumah, ia menemukan bahwa meskipun ia suka mendesain ruang, ia tidak memiliki kesabaran dengan apa yang ia sebut "aspek-aspek berorientasi Sanjay" dari arsitektur: detail balok, sekrup dan beban yang menghindari desain hebat. merobek.

"Saya tidak tahu mengapa lebih banyak orang tidak melakukannya," kata Sanjay tentang pemrograman dengan seorang mitra.

"Anda perlu menemukan seseorang yang cocok dengan program yang sesuai dengan cara berpikir Anda, sehingga Anda berdua adalah kekuatan pelengkap," kata Jeff.

Mereka meninggalkan meja dan pergi mencari layanan lunak, berjalan di sekitar Big Table dan para karyawan Google yang terpaut. Dari keduanya, Jeff lebih bersemangat untuk menjelaskan, dan ketika mereka berjalan, ia berbagi strategi layanan lunaknya. "Saya melakukan squish, saya pikir pendekatan push-up menambah stabilitas," katanya. Sanjay, senang dan bertekad, memutar campuran cokelat dan vanila dalam kerucutnya.

Dalam bukunya "Collaborative Circles: Dynamics of Friendship and Creative Work" tahun 2001, sosiolog Michael P. Farrell melakukan penelitian terhadap kelompok-kelompok kreatif terdekat: Impresionis Prancis, Sigmund Freud dan orang-orang sezamannya. "Sebagian besar ide-ide rapuh yang meletakkan fondasi untuk visi baru muncul bukan ketika seluruh kelompok bersatu, dan bukan ketika para anggota bekerja sendiri, tetapi ketika mereka berkolaborasi dan menanggapi secara berpasangan," tulisnya. Bagi Monet dan Renoir, yang bekerja berdampingan pada musim panas tahun 1869, memimpin mereka untuk mengembangkan gaya yang menjadi impresionisme; selama enam tahun kerja sama yang memunculkan kubisme, Pablo Picasso dan Georges Braque sering hanya menandatangani bagian belakang kanvas mereka, untuk menyembunyikan yang mana dari mereka telah menyelesaikan setiap lukisan. ("Sebuah kanvas belum selesai sampai kita berdua merasakannya," kenang Picasso nanti.) Dalam "Kekuatan Dua: Menemukan Esensi Inovasi dalam Pasangan Kreatif," penulis Joshua Wolf Shenk mengutip wawancara tahun 1971 di mana John Lennon menjelaskan bahwa dia atau Paul McCartney "akan menulis bagian yang baik, bagian yang mudah, seperti saya membaca berita hari ini" atau apa pun itu. " Salah satu dari mereka akan terjebak sampai yang lain tiba, kemudian, kata Lennon. "Dia akan bernyanyi setengah, dan dia akan terinspirasi untuk menulis sedikit berikutnya dan sebaliknya." Semua jatuh ke dalam rutinitas kreatif, tetapi dua orang jarang melakukannya pada saat yang bersamaan.

Dalam tahap "pembangunan teori" dari sains atau seni baru, penting untuk menjelajahi secara luas tanpa terjebak di jalan buntu. François Jacob, yang, bersama dengan Jacques Monod, adalah pelopor dalam studi regulasi gen, mencatat bahwa pada pertengahan abad kedua puluh, sebagian besar penelitian di bidang biologi molekuler berkembang adalah hasil dari Twosomes "Dua lebih baik dari satu untuk memimpikan teori dan membangun model," tulis Jacob. "Karena dengan dua pikiran mengerjakan suatu masalah, ide terbang lebih padat dan lebih cepat. Mereka terpental sebagai pasangan. Mereka dicangkokkan satu sama lain, seperti cabang-cabang pohon. Dan dalam prosesnya, ilusi dihilangkan dengan cepat. " Dalam tiga puluh lima tahun terakhir, sekitar setengah Hadiah Nobel dalam Fisiologi atau Kedokteran telah masuk ke asosiasi ilmiah.

Setelah bertahun-tahun berbagi kehidupan kerja mereka, duo terkadang mengembangkan bahasa pribadi, seperti yang dilakukan oleh kembar. Mereka meniru pakaian dan kebiasaan masing-masing. Rasa humor osmosis dari satu ke yang lain. Distribusi kredit di antara mereka menjadi tidak mungkin. Tetapi asosiasi intensitas ini tidak biasa dalam pengembangan perangkat lunak. Meskipun pengembang terkadang berbicara tentang "pemrograman pasangan": dua programmer yang berbagi satu komputer, satu "mengemudi" dan yang lain "navigasi", biasanya menganggap asosiasi seperti itu dalam hal redundansi, seolah-olah pasangan itu co-pilot di penerbangan yang sama. Jeff dan Sanjay, di sisi lain, kadang-kadang tampaknya menjadi dua bagian dari satu pikiran. Beberapa artikelnya yang paling terkenal memiliki selusin rekan penulis. Namun, Bill Coughran, salah seorang manajernya, mengenang: "Mereka begitu produktif dan sangat efektif bekerja sebagai pasangan sehingga kami sering membentuk tim di sekitar mereka."

Pada 1966, para peneliti di Systems Development Corporation menemukan itu Programer terbaik sepuluh kali lebih efektif daripada yang terburuk. Keberadaan apa yang disebut "programmer 10x" telah menjadi kontroversi sejak itu. Ide itu memuja individu, ketika proyek perangkat lunak sering luas dan kolektif. Dalam pemrograman, ada beberapa pencapaian dalam isolasi. Meski begitu, dan mungkin ironisnya, banyak programmer melihat pekerjaan yang dilakukan oleh Jeff dan Sanjay, bersama-sama, sebagai bukti bahwa programmer 10x ada.

Jeff lahir di Hawaii, pada bulan Juli 1968. Ayahnya, Andy, adalah peneliti penyakit tropis; ibunya, Virginia Lee, adalah seorang antropolog medis yang berbicara setengah lusin bahasa. Untuk bersenang-senang, ayah dan anak memprogram komputer dengan kit IMSAI 8080. Mereka menyambungkan pembaruan ke mesin, mempelajari setiap bagiannya.

Jeff dan orang tuanya sering pindah. Pada usia tiga belas tahun, ia melewatkan tiga bulan terakhir dari kelas delapan untuk membantu mereka di sebuah kamp pengungsi di Somalia barat. Kemudian, di sekolah menengah, ia mulai menulis program pengumpulan data untuk ahli epidemiologi yang disebut Epi Info; ini menjadi alat standar untuk kerja lapangan dan, akhirnya, ratusan ribu salinan didistribusikan dalam lebih dari selusin bahasa. (Sebuah situs web yang dikelola oleh Pusat Pengendalian dan Pencegahan Penyakit, "The Epi Info Story," termasuk gambar Jeff di kelulusan SMA-nya.) Heidi, yang ditemui Jeff di universitas, di University of Minnesota, belajar tentang pentingnya program hanya beberapa tahun kemudian. "Dia tidak membanggakan tentang semua itu," katanya. "Kamu harus mengambilnya dari dia." Kencan pertamanya adalah pertandingan basket wanita; Jeff mengenakan setelan gopher, cheerleaders.

Jeff Ph.D. berfokus pada kompiler, perangkat lunak yang mengubah kode yang ditulis oleh orang menjadi instruksi dalam bahasa mesin yang dioptimalkan untuk komputer. "Dalam hal sensualitas, kompiler sangat membosankan," kata Alan Eustace; Di sisi lain, mereka menempatkan Anda "sangat dekat dengan mesin". Menggambarkan Jeff, Sanjay memutar jari telunjuknya di sekitar pelipisnya. "Dia memiliki model ketika Anda menulis kode," katanya. "& # 39; Apa yang akan menjadi kinerja kode ini? & # 39; Akan memikirkan semua kasus dari sudut hampir semi-otomatis".

Sanjay tidak menyentuh komputer sampai dia pergi ke Cornell, pada usia tujuh belas tahun. Ia dilahirkan di West Lafayette, Indiana, pada tahun 1966, tetapi dibesarkan di Kota, sebuah kota industri di India utara. Ayahnya, Mahipal, adalah seorang profesor botani; Ibunya, Shanta, mengambil alih Sanjay dan dua kakak laki-lakinya. Mereka adalah keluarga buku: paman mereka, Ashok Mehta, ingat membeli salinan "Jackal Day" Frederick Forsyth, sangat usang, dan melihat anak-anak Ghemawat membaca buku yang rusak bersama-sama, membalik halaman sambil melakukannya . selesai Saudara Sanjay, Pankaj, menjadi anggota fakultas termuda di Harvard Business School. (Sekarang seorang profesor di N.Y.U. Stern.) Pankaj pergi ke sekolah yang sama dengan Sanjay dan memiliki reputasi sebagai pria Renaissance. "Aku tinggal di bayangan kakakku," kata Sanjay. Sebagai orang dewasa, ia mempertahankan bakat untuk mengurangi diri. Pada 2016, ketika dia dimasukkan dalam Akademi Seni dan Sains Amerika, dia tidak memberi tahu orang tuanya; Tetangga Anda harus memberi tahu mereka berita itu.

Di sekolah pascasarjana, di M.I.T., Sanjay menemukan sekelompok teman dekat. Namun, dia tidak pernah berkencan, dan sekarang dia hanya melakukannya "sangat, sangat jarang". Dia mengatakan dia tidak memutuskan untuk tidak memiliki keluarga, dia hanya mengembangkan seperti itu. Teman-teman dekatnya belajar untuk tidak mengganggunya, dan orang tuanya menerima lama bahwa putranya akan melajang. Mungkin karena ini sangat pribadi, sebuah misteri menyebar di Google. Dia dikenal sebagai orang yang pendiam tetapi dalam, seseorang yang berpikir dalam dan dengan kejelasan yang tidak biasa. Di mejanya, dia menyimpan setumpuk buku catatan komposisi Mead yang berumur hampir dua puluh tahun, diisi dengan daftar dan diagram pesanan. Tulis dengan pena dan huruf miring. Dia jarang mengacu pada buku catatan lama, tetapi menulis untuk berpikir. Dalam M.I.T., penasihatnya adalah Barbara Liskov, seorang ilmuwan komputer yang berpengaruh yang mempelajari, antara lain, manajemen basis kode yang kompleks. Menurutnya, kode terbaik adalah seperti tulisan yang bagus. Anda membutuhkan struktur yang dibuat dengan hati-hati; setiap kata harus berfungsi. Pemrograman dengan cara ini membutuhkan empati dengan pembaca. Ini juga berarti melihat kode tidak hanya sebagai alat untuk mencapai tujuan, tetapi sebagai artefak itu sendiri. "Apa yang saya pikir dia lebih baik di sistem desain," kata Craig Silverstein. "Jika Anda hanya melihat file kode yang ditulis Sanjay, itu indah dengan cara bahwa patung yang proporsional itu indah."

Di Google, Jeff jauh lebih dikenal. Ada meme Jeff Dean, yang terinspirasi oleh Chuck Norris. ("Chuck Norris menghitung hingga tak terbatas … dua kali"; "Daftar ulang Jeff Dean memuat hal-hal yang belum dia lakukan, lebih pendek seperti itu.") Tapi, bagi mereka yang mengenal mereka, Sanjay adalah bakat yang setara . "Jeff hebat dalam menciptakan ide-ide dan prototipe baru," kata Wilson Hsieh, rekan lamanya. "Sanjay adalah orang yang membangun sesuatu untuk bertahan." Dalam hidup, Jeff lebih ekstrovert, Sanjay lebih introvert. Dalam kode, itu kebalikannya. Pemrograman Jeff sangat mempesona (dia dapat dengan cepat membuat sketsa ide-ide luar biasa), tetapi, karena itu dilakukan dengan cepat, dengan semangat penemuan, dia dapat meninggalkan pembaca di belakang. Kode Sanjay bersifat sosial.

"Beberapa orang," kata Silverstein, "Kode Anda terlalu longgar, layar kode hanya memiliki sedikit informasi, Anda selalu bergerak maju mundur untuk mencari tahu apa yang terjadi." Orang lain menulis kode yang terlalu padat: "Kamu lihat, kamu seperti" Ugh. Saya tidak sabar untuk membaca ini. "Sanjay entah bagaimana telah membagi tengahnya, Anda melihat kode-nya dan berkata, OK, saya bisa menyelesaikannya, dan tetap saja, Anda mendapatkan banyak pada satu halaman." Silverstein melanjutkan, "Setiap kali saya ingin menambahkan fungsionalitas baru pada kode Sanjay, tampaknya kait sudah ada di sana, saya merasa seperti Salieri, saya mengerti kebesaran, saya tidak mengerti bagaimana hal itu dilakukan."

Pada Senin pagi, musim semi ini, Jeff dan Sanjay berada di dapur Gedung 40, rumah bagi banyak divisi kecerdasan buatan Google. Di belakang mereka, papan tulis diisi dengan aljabar matriks; Sebuah dokumen tentang jaringan-jaringan yang tidak terlihat yang merugikan sedang tergeletak di atas meja. Jeff, mengenakan T-shirt dan jins yang pudar, tampak seperti gelandangan pantai yang diperbarui; Sanjay mengenakan sweater dan celana abu-abu. Jendela-jendelanya yang cerah menunjukkan tegakan pinus yang tinggi dan, di luar itu, sebuah ladang. Di mana pun Jeff bekerja di Google, mesin espresso akan mengikuti. Di counter dapur, buzz dari La Marzocco selebar tiga kaki. "Kami terlambat," kata Sanjay, di dekat penggiling kopi. Itu delapan tiga puluh dua.

Setelah cappuccino, mereka berjalan ke komputer mereka. Jeff menggulingkan kursi dari mejanya, yang berantakan, ke Sanjay, yang tak bernoda. Dia meletakkan satu kaki di lemari arsip dan bersandar, sementara Sanjay menyaksikan layar di depannya. Ada empat jendela yang terbuka: di sebelah kiri, browser web dan terminal, untuk menjalankan alat analisis; Di sebelah kanan, dua dokumen dalam editor teks Emacs, satu dengan kombinasi tugas yang tertunda dan notebook, yang lain diisi dengan kode warna-warni. Salah satu notebook komposisi Sanjay ada di sebelah komputer.

“Oke, apa yang kita lakukan?” Sanjay bertanya.

"Saya pikir kami melihat ukuran kode TensorFlow Lite," kata Jeff.

Ini adalah proyek perangkat lunak utama baru yang terkait dengan pembelajaran mesin, dan Jeff dan Sanjay khawatir bahwa itu besar; Sebagai penerbit buku, mereka mencari potongan. Untuk tugas ini, mereka membuat alat baru yang perlu dioptimalkan.

"Jadi saya mencoba mencari tahu seberapa lambat itu," kata Sanjay.

"Sangat lambat," kata Jeff. Dia membungkuk, masih rileks.

"Jadi, Anda memiliki seratus dua puluh kilobyte," kata Sanjay, "dan mereka, seperti, delapan detik."

"Seratus dua puluh ribu tumpukan panggilan," kata Jeff, "bukan kilobyte."

"Yah, kilobyte teks, ya, tentang," kata Sanjay.

"Oh, ya, saya minta maaf," kata Jeff.

"Saya tidak yakin apa ambang yang harus kita pilih untuk ukuran unit," kata Sanjay. "Setengah meg?"

"Kelihatannya baik bagiku," kata Jeff. Sanjay mulai menulis, dan Jeff tertarik ke layar. "Jadi, kamu hanya mengatakan, jika itu lebih besar dari itu, kita hanya akan mengambil sampel …" Dia meninggalkan sisanya tanpa berkata, Sanjay menjawabnya dengan kode.

Ketika Sanjay menyetir, dia meletakkan tangannya pada posisi sepuluh dan dua dan melihat ke depan dengan penuh perhatian. Dia dengan cara yang sama pada keyboard. Dengan kakinya yang tersebar di pundaknya, dia sepertinya sedang bekerja dengan posturnya. Jari-jarinya yang kurus bergerak dengan mulus melalui kunci. Beberapa programmer yang lebih muda mulai masuk.

Mereka segera mencapai tonggak kecil, dan Sanjay menulis perintah untuk membuktikan kemajuannya. Tampak lelah, dia memeriksa emailnya saat dia berlari. Tes selesai. Dia tidak memperhatikan.

"Hei," kata Jeff. Dia menjentikkan jarinya dan menunjuk ke layar. Meskipun dalam percakapan mereka memberikan lelucon dan permainan kata-kata kepada ayahnya, dia dapat dianggap, kasar dan tidak setuju ketika dia duduk di komputer dengan Sanjay. Sanjay mengambil ini perlahan. Ketika dia berpikir Jeff bergerak terlalu cepat, dia akan mengangkat tangannya dari keyboard dan merentangkan jari-jarinya, seolah-olah mengatakan, "Berhenti." (Secara umum, Jeff adalah akselerator, Sanjay rem). Ini hal yang paling dekat. ketika mereka datang ke diskusi: dalam dua puluh tahun bersama, mereka tidak dapat mengingat setelah mengangkat suara mereka.

Sanjay bergerak, membawa bagian kode baru yang terlihat. "Seperti semua yang bisa menjadi rutinitas, bukan?" Kata Jeff.

"Mmm," Sanjay setuju.

Jeff meremas buku-buku jarinya. "Sepertinya layak, haruskah kita melakukan itu?

Sanjay berhati-hati. "Bukan aku"

"Jadi kita akan mengabaikan masalah?" Kata Jeff marah.

"Tidak, maksudku, kami hanya mencoba untuk mendapatkan ide tentang jenis hal yang sedang terjadi, jadi kami bisa membuat catatan tentang itu, kan?

"Oke," kata Jeff dengan gembira, suasana hatinya telah menyalakan sepeser pun. Mereka mendiktekan catatan bersama.

Jam makan siang mendekat. Mereka telah bekerja selama dua jam dengan istirahat sepuluh menit, berbicara hampir sepanjang waktu. (Seorang programmer kecil untuk melihat mereka akan terkesan, lebih dari apa pun, oleh fakta bahwa mereka tidak pernah berhenti atau macet.) Ini adalah praktik teknik standar bahwa kode Anda ditinjau oleh programmer lain, tetapi Jeff dan Sanjay melewatkan langkah ini. , dalam catatannya, "lgtm" yang dangkal untuk "sepertinya bagus". Dalam arti tertentu, mereka diduduki oleh hal-hal kecil. Kode Anda, bagaimanapun, berjalan pada skala Google. Kilobit dan mikrodetik yang mereka khawatirkan berlipat ganda oleh satu miliar kali di pusat data di seluruh dunia: gedung-gedung yang berisik, panas, dan berukuran gudang yang rak prosesor tanpa akhirnya didinginkan oleh tangki air. Pada hari-hari seperti ini, Jeff telah Diketahui untuk pulang dan memberi tahu anak-anaknya: "Sanjay dan saya mempercepat pencarian Google hingga sepuluh persen hari ini."

Jeff dan Sanjay memberi Google apa yang mungkin merupakan pembaruan individu terbaik mereka selama empat bulan pada tahun 2003. Mereka melakukannya dengan perangkat lunak bernama MapReduce. Ide itu muncul pada mereka untuk ketiga kalinya mereka menulis ulang perayap dan pengindeks Google. Terpikir oleh mereka bahwa, setiap kali, mereka telah memecahkan masalah penting: untuk mengoordinasikan pekerjaan dalam sejumlah besar komputer yang didistribusikan secara geografis, secara individual tidak dapat diandalkan. Menyamaratakan solusi Anda berarti Anda dapat menghindari meninjau kembali masalah itu lagi dan lagi. Pero también crearía una herramienta que cualquier programador de Google podría usar para manejar las máquinas en sus centros de datos como si fueran una sola computadora del tamaño de un planeta.

MapReduce, que Jeff y Sanjay escribieron en una oficina de la esquina con vistas a un estanque de patos, impuso el orden en un proceso que podría ser complicado. Antes de MapReduce, cada programador tenía que averiguar cómo dividir y distribuir datos, asignar trabajo y tener en cuenta las fallas de hardware por su cuenta. MapReduce le dio a los programadores una forma estructurada de pensar acerca de estos problemas. Así como un chef mantiene mise en place—Preparando ingredientes antes de combinarlos—, entonces MapReduce les pide a los programadores que dividan sus tareas en dos etapas. Primero, un programador le dice a cada máquina cómo hacer la etapa de "mapa" de una tarea (por ejemplo, contando cuántas veces aparece una palabra en una página web); a continuación, escribe instrucciones para "reducir" los resultados de todas las máquinas (por ejemplo, sumándolas). MapReduce maneja los detalles de la distribución y, al hacerlo, los oculta.

El año siguiente, Jeff y Sanjay reescribieron el sistema de rastreo e indexación de Google en términos de tareas de MapReduce. Pronto, cuando otros ingenieros se dieron cuenta de lo poderoso que era, comenzaron a usar MapReduce para procesar videos y renderizar los mosaicos en Google Maps. MapReduce era tan simple que las nuevas tareas seguían sugiriéndose. Google tiene lo que se conoce como una "curva de uso diurno", hay más tráfico durante el día que de noche, y las tareas de MapReduce comenzaron a absorber la capacidad inactiva. Un cerebro soñador procesa sus experiencias diurnas. Ahora Google procesó sus datos.

Hubo indicios, desde el principio, de que Google era un A.I. Empresa que pretende ser una empresa de búsqueda. En 2001, Noam Shazeer, que compartía una oficina con Jeff y Sanjay, se había sentido frustrado con el corrector ortográfico de que Google estaba obteniendo licencias de otra compañía: seguía cometiendo errores embarazosos, como decirle a los usuarios que habían escrito "TurboTax" que probablemente significaba "hacha de rodaballo". (Un rodaballo es un pez plano que vive en el Atlántico Norte.) Un corrector ortográfico es tan bueno como su diccionario, y Shazeer se dio cuenta de que, en la Web, Google tenía acceso al diccionario más grande allí. había sido alguna vez Escribió un programa que usaba las propiedades estadísticas del texto en la Web para determinar qué palabras eran probablemente faltas de ortografía. El software descubrió que “lanzas pritany” y “lanzas brinsley” significaban “Britney Spears”. Cuando Shazeer demostró el programa en el semanario T.G.I.F de Google. reuniendo, los empleados intentaron, pero en su mayoría fracasaron, engañarlo. En colaboración con Jeff y un ingeniero llamado Georges Harik, Shazeer aplicó técnicas similares para asociar anuncios con páginas web. La segmentación de anuncios se convirtió en un río de dinero que la compañía dirigió a su infraestructura informática. Fue el comienzo de un bucle de retroalimentación: lo grande sería la fuente de la inteligencia de Google; inteligencia la fuente de su riqueza; and wealth the source of its growth—that would make the company extraordinarily, and unsettlingly, dominant.

As enterprising coders used MapReduce to derive insights from Google’s data, it became possible to transcribe users’ voice mails, answer their questions, autocomplete their queries, and translate among more than a hundred languages. Such systems were developed using relatively uncomplicated machine-learning algorithms. Still, “very simple techniques, when you have a lot of data, work incredibly well,” Jeff said. As “data, data, data”—stored and processed with BigTable, MapReduce, and their successors—became the company’s prime directive, Google’s globe-spanning infrastructure became more seamless and supple. The idea of distributed computation was an old one; concepts like “cloud computing” and “big data” predated Google’s rise. But, by making it intellectually manageable for ordinary coders to write distributed programs, Jeff and Sanjay had given Google a new level of mastery over such technologies. Users may have sensed that something had changed: Google’s cloud was getting smarter.

In 2004, because Jeff and Sanjay thought it would be useful to astronomers, geneticists, and other scientists with lots of data to process, they wrote a paper, “MapReduce: Simplified Data Processing on Large Clusters,” and made it public. The MapReduce paper arrived as a deus ex machina. Cheap hardware and the growth of Web services and connected devices had led to a deluge of data, but few companies had the software to process the information. Two engineers who’d been struggling to scale a small search engine called Nutch—Mike Cafarella and Doug Cutting—were so convinced of MapReduce’s importance that they decided to build a free clone of the system from scratch. They eventually called their project Hadoop, after a stuffed elephant beloved by Cutting’s son. As Hadoop matured, it was adopted by half of the Fortune 50. It became synonymous with “Big Data.” Facebook used “Hadoop MapReduce,” as it’s often known, to store and process user metadata—information about what was clicked, what was Liked, and which ads were viewed. At one point, it had the largest Hadoop cluster in the world. Hadoop MapReduce helped power LinkedIn and Netflix. Randy Garrett, a former director of technology at the National Security Agency, remembers demonstrating the technology to the agency’s director, General Keith Alexander. Hadoop performed an analysis task eighteen thousand times faster than the previous system had. It became the foundation for a new approach to intelligence gathering which some observers call “collect it all.”

Jeff has a restless nature: a problem becomes less interesting to him once he can see the shape of its solution. In 2011, as the world embraced the cloud, he began collaborating with Andrew Ng, a computer-science professor from Stanford who was leading a secretive project at Google to conduct research on neural networks—software programs composed of virtual “neurons.” Jeff had encountered neural nets during his undergraduate days; back then, they hadn’t been able to solve real-world problems. Ng had told Jeff that this was changing. At Stanford, researchers had achieved some exciting results when the nets were given access to large quantities of data. With Google’s scale, Ng thought, neural networks could become not just useful but powerful.

Neural networks are profoundly different from traditional computer programs. Their behavior isn’t specified by coders in the usual way; instead, it’s “learned” using inputs and feedback. Jeff’s knowledge of neural networks hadn’t advanced much since his undergrad years, and Heidi watched as their bathroom filled with textbooks. Jeff began spending about a day a week on the project, which was called “Google Brain.” Many at Google were doubtful of the technology. “What a waste of talent,” Alan Eustace, his manager at the time, remembers thinking. Sanjay couldn’t understand Jeff’s move, either. “You work on infrastructure,” he thought. “What are you doing over there?”

During the next seven years, the Google Brain team developed neural nets that beat the state of the art in machine translation and speech and image recognition. Eventually, they replaced Google’s most important algorithms for ranking search results and targeting ads, and Google Brain became one of the fastest-growing teams in the company. Claire Cui, an engineer who started in 2001, said that Jeff’s involvement marked a turning point for A.I. at Google: “There were people who believed in it, and there were people who didn’t believe in it. Jeff proved that it can work.”

A.I. had turned out to depend on scale, which Jeff, the systems engineer, delivered. As part of the effort, he led the development of a program called TensorFlow—an attempt to create something like the MapReduce of A.I. TensorFlow simplified the task of distributing a neural network across a fleet of computers, turning them into one big brain. In 2015, when TensorFlow was released to the public, it became the lingua franca of A.I. Recently, Sundar Pichai, Google’s C.E.O., declared it an “A.I. first” company and made Jeff the head of its A.I. initiatives.

Jeff now spends four days a week running Google Brain. He directs the work of three thousand people. He travels to give talks, holds a weekly meeting to work on a new computer chip (the Tensor Processing Unit, designed specifically for neural networks), and is helping with the development of AutoML, a system that uses neural nets to design other neural nets. He has time to code with Sanjay only once a week.

Feats of engineering tend to erase themselves. We remember the great explorers of the eighteenth century—James Cook, George Vancouver—but not John Harrison, the carpenter from Yorkshire who, after decades of work, made a clock reliable enough to reckon longitude at sea. Recently, Jeff and Sanjay were enjoying margaritas and enchiladas at Palo Alto Sol, a Mexican restaurant they frequent, when Jeff pulled out his phone. “When did Gmail first come out?” he asked. The phone replied, “April 1st, 2004.” Sanjay, who is sensitive in social situations, seemed not to appreciate the dinner-table distraction, but Jeff was elated. Google could now talk, listen, and answer questions, using a stack of programs, seamlessly integrated and largely invisible, stretching from his phone to data centers around the world.

Today, their roles have diverged. At Google, Sanjay is what is known as an “individual contributor”—a coder who works alone and manages no one. For this, he feels grateful. “I would not want Jeff’s job,” he says. He’s currently working on software that makes it easier for engineers to combine and control the dozens of programs—for fetching news, photographs, prices—that start running as soon as a user enters text into Google’s search box. Once a week, he meets with a group of “Area Tech Leads”—Google’s engineering Jedi council—to make technical decisions that affect the entire company. If Google were a house, Jeff would be building an addition. Sanjay is shoring up the structure, reinforcing the beams, tightening the bolts.

Meanwhile, during their Monday coding sessions, they have started something new. It’s an A.I. project: an attempt, Jeff says, to train a “giant” machine-learning model to do thousands, or millions, of different tasks. Jeff has been thinking about the idea for years; recently, he decided that it was possible. He and Sanjay plan to build a prototype that a team can grow around. In the world of software, the best way to lead is with code.

“I think they miss each other,” Heidi, Jeff’s wife, says. It was when their collaboration slowed that they began having their Friday dinners.

On a Sunday in March, Jeff and Sanjay met for a hike outside Cupertino. The weather was clear and brisk, but hot in the sun. Jeff arrived at the trailhead in a blue Tesla Roadster with a Bernie 2016 bumper sticker. Sanjay, close behind, had his own Tesla, a red Model S. Sanjay had spent the morning reading. Jeff had played soccer. (A device attached to his calf told him that he’d run 7.1 miles.) Two decades after building the March index, Jeff resembled a retired endurance athlete, his skin worn by the sun. Sanjay seemed hardly to have aged.

The path was a six-mile loop that climbed through dense forests. Jeff led the way. In the woods, they reminisced about how quickly Google had grown. Sanjay recalled how, during the company’s first growth spurt, a plumber had installed two toilets in a single stall in the men’s bathroom. “I remember Jeff’s comment,” he said. “ ‘Two heads are better than one!’ ” He laughed.

They descended out of the woods and into dry, exposed country. A turkey vulture flew overhead.

“The hills here are steeper than I thought,” Jeff said.

“I thought somebody said this was a pretty flat hike,” Sanjay said.

“I guess this explains why there’s no biking roads up that side,” Jeff said.

They climbed back into the woods. On a switchback, Jeff caught a glimpse beyond the trees. “We’re gonna have a good lookout at some point,” he said.

The trail opened out onto a hilltop, high and wide, treeless, with panoramic views. There was a haze on the horizon. Still, they could see the Santa Cruz Mountains to the south and Mission Peak to the east. “Sanjay, there’s your office!” Jeff said. They stood together, looking across the valley. ♦

Be the first to comment

Leave a Reply

Your email address will not be published.


*