Pada musim panas 1982, secara harfiah beberapa bulan sebelum saya kuliah, ibu saya mengajak saya ke samping dan berkata, "Ayahmu ingin kamu mencari pekerjaan untuk musim panas dan membayar pengeluaranmu sendiri untuk tahun ajaran." Saya berusia delapan belas tahun, saya belum punya waktu untuk bekerja di mana pun, dan bahkan memikirkannya, sejujurnya, kemudian membuat saya sedikit takut. Saya adalah seorang kutu buku, tinggal di rumah, dan, sejujurnya, cukup malas - prospek kerja sama sekali tidak menarik bagi saya. Tetapi saya mengerti bahwa tidak ada gunanya berdebat di sini, karena dalam beberapa hal saya setuju dengan posisi ayah saya.
Sepanjang hidupnya, mulai dari usia saya yang lebih muda dari delapan belas tahun saya, dia bekerja sebagai montir mobil. Dia tidak bekerja di perguruan tinggi, tetapi, untungnya, dia tidak menentang studi saya dan siap membayarnya dari uang yang kami terima untuk rumah nenek saya setelah kematiannya. Jadi dalam hal ini, saya beruntung - saya bisa mendapatkan pendidikan yang lebih tinggi tanpa melakukan investasi apa pun. Tetapi beberapa jenis partisipasi keuangan di pihak saya masih diharapkan. Ayah sendiri tidak berbicara kepada saya tentang topik ini, dia bertindak melalui ibu saya, tetapi saya mengerti bahwa ini adalah masalah serius, dan dia akan sangat kecewa jika saya tidak mengatur apa pun.
Ibu selalu siap membantu: dia menemukan beberapa lowongan di kota kami, di antaranya adalah di departemen jalan raya. Di situlah saya berjalan dengan malu-malu untuk wawancara pada suatu pagi di bulan Juni. Di sebuah gedung besar dengan banyak truk dan tumpukan pasir, seorang pria tangguh dengan rompi oranye keluar untuk menemui saya. Dia menatapku dari atas ke bawah dengan skeptis. Saya adalah seorang remaja yang kurus dan berjerawat; kata "nerd" belum digunakan, tapi saya tampak seperti perwujudan yang hidup darinya. Hampir kata-kata pertama yang saya dengar darinya setelah pemeriksaan ini adalah (demi Tuhan, saya tidak berbohong):
- Tahukah Anda bahwa pekerjaan itu berhubungan dengan kerja manual?
"Tentu, tentu saja," jawab saya, mencoba terdengar meyakinkan. Menurut saya, dia tidak percaya, tetapi hanya mengangkat bahu dan berkata:
- Baik. Kapan Anda pergi?
Saat itulah kepanikan itu menguasai saya. Sejujurnya, sebelumnya saya entah bagaimana tidak secara serius memikirkan fakta bahwa saya harus melakukan kerja fisik. Ya, pada tingkat tertentu, saya memahami ini, tentu saja. Tapi sekarang saya membayangkan dengan jelas membayangkan berjam-jam yang panjang di bawah terik matahari dekat truk, aspal panas yang perlu ditaburi sekop, mobil-mobil melintas dalam beberapa sentimeter dari saya. Dan meskipun tidak ada yang lebih baik bagi seorang remaja dalam hal pekerjaan jujur ββyang membangun karakter, saya sama sekali tidak ingin melakukan ini.
Saya mengerti bahwa cepat atau lambat saya harus bekerja di suatu tempat, dan tidak ada yang sangat menyenangkan yang dapat diharapkan dari ini. Pekerjaan adalah pekerjaan, mendapat bayaran, terkadang membuat Anda kesal. Itu bahkan tidak mendekati saya saat itu bahwa hal-hal kutu buku yang saya lakukan untuk bersenang-senang akan membantu saya melepaskan diri dari kerja fisik hampir sepanjang hidup saya. Tetapi keputusan tegas untuk melewatkan pekerjaan khusus ini datang kepada saya sudah di sana, di garasi di jalan raya.
Saya memberi tahu pria dengan rompi oranye bahwa saya akan pulang dan mencari tahu "kapan kita akan istirahat," dan kemudian saya akan memberi tahu dia tanggalnya (peringatan spoiler: saya tidak pernah kembali ke sana) dan keluar dari administrasi jalan raya dengan kecepatan tinggi. Ketika ibu saya bertanya apakah mereka telah mempekerjakan saya, saya tidak tega berbohong. Saya berkata bahwa saya telah diambil, tetapi saya tidak pergi, dan mencoba menjelaskan mengapa, merasa malu. Saya yakin dia tidak bahagia, tetapi dia memahami saya sebagian. Hal terakhir yang dia katakan tentang ini: "Jangan beri tahu ayahmu."
Saya tidak berbicara, namun saya merasa bahwa saya harus mencari pekerjaan lain, hanya saja bukan pekerjaan seperti itu. Saya pergi ke universitas kota dan mencoba mendapatkan pekerjaan sebagai seseorang di sana - penjual di toko komputer lokal, atau mungkin asisten laboratorium di departemen teknis. Saya tidak belajar di sana dan tidak berencana untuk masuk, jadi peluangnya, pada kenyataannya, nol - semua lowongan seperti itu sudah diambil oleh siswa. Tetapi saya mencoba: Saya memaksakan diri untuk berbicara dengan orang, mencoba pilihan yang berbeda, meskipun tidak terlalu realistis - saya pikir orang tua saya paling tidak menghargai usaha saya. Setelah dua minggu mencari, hasilnya tidak muncul, dan saya sudah mulai berpikir bahwa saya telah melakukan kesalahan serius dengan melepaskan pekerjaan saya sebagai pekerja jalan.
Suatu hari ibu saya membawa tip menarik dari pekerjaannya. Dia bekerja di stasiun radio, menjadwalkan iklan. Salah satu sponsor tinggal di kota kami dan terlibat dalam perbaikan dan penjualan kembali mobil bekas. Ada yang tidak beres dengan komputernya, dan dia bertanya di stasiun apakah ada "spesialis komputer" di sini. Ibu mengambil ponselnya dan menyerahkannya padaku. Saya menelepon.
Biar saya perjelas: meskipun selama empat atau lima tahun terakhir saya telah mengambil setiap kesempatan yang muncul dengan sendirinya untuk duduk di depan komputer, saya bukanlah seorang spesialis. Berkat program yang memungkinkan siswa sekolah menengah untuk belajar pemrograman, saya mengambil beberapa kursus perguruan tinggi di Fortran dan struktur data, sebelum kurikulum. Saya juga sedikit banyak belajar bagaimana menulis di BASIC sebagai hasil dari berjam-jam mencoba membuat game di TRS-80 tetangga . Tetapi dalam pengetahuan saya tentang pemrograman, secara halus, ada banyak celah. Saya tidak pernah menulis program berskala besar dan kompleks, tidak pernah bekerja dengan orang asing, dan tidak pernah melakukan pemrograman apa pun di lingkungan kerja.
Apa yang menguntungkan saya, mungkin, dapat disebut gudang peretas - Saya tidak merasa takut dengan komputer dan hal-hal asing, saya suka menemukan hal-hal baru untuk diri saya sendiri, belajar melalui eksperimen dan memikirkan sesuatu dengan cepat.
Dalam percakapan saya dengan pemilik bengkel mobil (sebut saja namanya Jim), saya menawarkan ketentuan berikut: Saya akan melihat komputer, tetapi saya akan membayar biaya hanya jika saya dapat memperbaikinya. Jim setuju dengan segala cara yang mungkin - dia, tampaknya, sudah berulang kali berpaling ke orang lain dan memberikan uang tanpa hasil apa pun.
Potret kasar Jim (perbedaan dengan aslinya dimungkinkan)
Saya tiba di bengkel dan bertemu Jim, yang hampir sepenuhnya sesuai dengan gagasan umum pemilik bisnis untuk perbaikan dan penjualan kembali mobil bekas: ramah, banyak akal , tetapi pada saat yang sama didorong oleh minat yang agak tidak sehat dalam menghasilkan uang. Dia mengumpulkan apa yang bisa dibilang bisnis penjualan mobil terbesar di daerah itu, yang, meski bukan ruang pamer, juga melayani mobil, truk, dan trailer. Dia memiliki berbagai macam aktivitas dan bahkan ambisi yang lebih ambisius. Saya ingin melanjutkan: Jim adalah karakter yang menarik, luar biasa dan tendensius, dan sering mengalami berbagai perubahan. Tapi kembali ke cerita kita.
Masalah komputer Jim berasal dari kesepakatan awal dengan pengembang California bahwa dia memerintahkan sistem untuk melakukan bisnis. Perusahaan itu sangat kecil, secara harfiah terdiri dari beberapa orang. Mereka menjual komputer mini Data General Eclipse 16-bit dengan banyak terminal, dan membuat program khusus untuk memproses pesanan perbaikan, pembayaran, dan penggajian.
Di beberapa titik, hubungan antara Jim dan kontraktor mulai memburuk. Kontraktor berhenti mengutak-atik sistem dan mulai menuntut terlalu banyak uang, menurut selera Jim, untuk memperbaiki bug yang mulai merusak kehidupan staf kantor. Saya tidak tahu semua detailnya, tetapi sampai pada titik di mana mereka berhenti berbicara satu sama lain sama sekali, jadi Jim secara efektif memiliki produk tanpa dukungan di tangannya. Dia beralih ke programmer lokal - ternyata program itu dienkripsi. Di sini saya akan membuat reservasi untuk akurasi: Saya seharusnya mengatakan bahwa program itu dilindungi, tidak dienkripsi, tetapi hasilnya masih sama - tidak ada yang bisa mendapatkan kode sumber dan memperbaiki sesuatu di dalamnya.
Saya masuk ke sistem, melihat-lihat di dalamnya dan menyadari bahwa akun yang dialokasikan untuk saya memiliki hak terbatas. Saya mendatangi Jim untuk memberi tahu dia bahwa saya membutuhkan lebih banyak akses, dan dia langsung terkesan. Dia, ternyata, dengan sengaja memberi saya akun tanpa hak untuk melihat apakah saya menyadarinya. Sepertinya dia menjalani ujian seperti itu, dan saya lulus. Jauh di lubuk hati, saya memutar mata, karena masalahnya jelas lebih serius daripada tingkat akses.
Yaitu. Semua file sistem yang melakukan sesuatu ditulis dalam BASIC - hebat, berkat bertahun-tahun mempelajari game TRS-80, saya mengenal BASIC dengan cukup baik. Tapi, jika Anda membuka salah satu dari file ini, ternyata file tersebut kosong. Programnya ada di sana, tetapi tidak ada yang ditampilkan di editor kode. Dilihat dari ukuran file - saya memeriksa di direktori di mana mereka berada - isinya ada di dalamnya. Tapi entah bagaimana mereka dibuat tidak dapat diakses untuk dilihat.
Jika saya memiliki komputer yang lebih baik di masa muda saya, saya mungkin akan segera bangun dan pergi tanpa tahu apa yang harus saya lakukan. Tapi saya menghabiskan banyak waktu di belakang mesin kuno atau hanya primitif seperti komputer mini PDP-8 / E.diproduksi oleh Digital 1974, yang masih sekolah, atau instruktur pribadi saya di mikrokomputer Netronics ELF II , di mana keyboard dengan kode heksadesimal dan bola lampu berfungsi untuk I / O. Jadi saya tahu satu atau dua hal tentang kode mesin, format file, header, utilitas sistem - segala macam hal tingkat rendah. Setidaknya tentang keberadaan mereka.
Dan saya berpikir: mereka mungkin melakukan sesuatu dengan file-file ini, karena mereka tidak dapat dibaca, mungkinkah itu headernya? Saya menemukan editor hex pada sistem yang memungkinkan untuk menampilkan dan mengedit konten file dalam bentuk mentahnya, termasuk header. Program menampilkan isi file dalam bentuk sekumpulan bilangan heksadesimal, tersusun rapi di piring, serta simbol-simbol yang diwakilinya.
Editor pasti menampilkan kode sumber BASIC untuk semua program. Itu benar-benar ada, tidak ada enkripsi. Ini adalah pengamatan pertama yang meyakinkan saya - yang berarti bahwa teori saya ternyata benar. Mungkin ada cara untuk menarik kode ini dari file lama ke file baru yang akan terbuka secara normal.
Jim berbalik, jelas sekarat karena keingintahuan, tetapi - untungnya - dia tidak terlalu ikut campur. Saya yakin dia merasa seolah-olah saya tahu apa yang saya lakukan, karena semua jenis angka dan tabel terbang melintasi layar. Pada kenyataannya, saya bertindak secara acak, mencoba mencari solusi dan memperbaiki file.
Saya membuat file BASIC "normal" dan memeriksanya di editor hex. Kemudian dia membandingkannya dengan "kikuk". Isinya sendiri tentu saja berbeda, tetapi header yang berisi informasi tentang file (nama, lokasi, ukuran, proteksi), memiliki format yang serupa. Karena potongan-potongan ini tumpang tindih dengan baik, saya pikir ada sesuatu yang bisa dipelajari dari penjajaran tersebut.
Ada beberapa area di heading yang tidak saya mengerti, di mana ada perbedaan antara file "normal" dan "clumsy". Saya baru saja mulai bereksperimen secara membabi buta dengan kode, mengubah beberapa simbol di file "kikuk". Beberapa upaya pertama hanya mengakibatkan kerusakan file, yang menyebabkan file tersebut berhenti dibuka. Tapi kemudian saya sampai ke satu tempat di mana di file "normal" ada karakter E, dan di "kikuk" - karakter F (E dalam notasi heksadesimal sesuai dengan 1110 dalam biner, dan F ke 1111). 1110 versus 1111, perbedaannya hanya satu bit. Dan saya baru saja mengambil dan mengganti dalam file F "kikuk" dengan E.
Seolah-olah secara ajaib, kode DASAR muncul di layar. Saya terkejut. Perlindungan yang ditinggalkan kontraktor untuk file mereka diringkas menjadi penggantian sepele dari satu karakter di masing-masing header sehingga file akan berjalan tetapi tidak dapat dibaca. Ini dapat disamakan dengan kunci yang dipasang pada koper - bisa menghalangi, tetapi orang yang bertekad untuk mendapatkan isinya tidak akan dihentikan.
Jantung saya berdebar-debar: tampaknya semakin nyata bahwa saya dapat menyelesaikan masalah Jim. Dan, yang terpenting, dapatkah saya mendukung kata-kata saya dengan perbuatan, atau apa yang mereka katakan? Saat itu, saya menghabiskan sekitar satu jam di kantor, dan butuh sekitar empat puluh lima menit untuk memeriksa semua file dan mengganti karakter di mana-mana. Sekarang saya mungkin akan mencoba membuat semacam skrip yang akan membaliknya secara otomatis, karena pemrogram tidak sembarangan dianggap malas. Tetapi hal-hal seperti itu tetap di luar kemampuan saya pada usia delapan belas tahun, dan itu bukan fakta bahwa Data General Eclipse sangat cocok untuk pembuatan skrip, saya tidak dapat menjamin itu.
Pada akhirnya, saya hanya butuh waktu kurang dari dua jam untuk menghapus semua perlindungan. Ketika Jim melihat bahwa saya telah memperbaiki file-file itu, dia kagum dan senang (dalam urutan itu). Dia dengan senang hati meminta saya untuk memperbaiki bug lain dalam formulir masukan, yang sangat mengganggu akuntannya - tidak mungkin dia dapat mengisi satu bidang. Bug itu ternyata sederhana, setengah menit untuk mencari, setengah menit untuk diperbaiki. Namun bagi mereka itu berarti bahwa sekarang mereka tidak perlu menghabiskan waktu berjam-jam untuk mengisi formulir dengan tangan, karena itu tidak berfungsi di komputer.
Ketika saya menyelesaikan tugas itu dalam waktu kurang dari satu menit, Jim benar-benar kewalahan. Sejak saat itu, saya menjadi seorang jenius komputer di matanya. Dia hanya menatap saya dan berkata:
- Berapa banyak yang Anda tanyakan?
Pertanyaan ini akan menduduki puncak daftar hal-hal paling menakutkan yang pernah ditanyakan kepada saya jika bukan karena "Kapan Anda keluar?" Saya telah mendengar beberapa minggu sebelumnya dari seorang pekerja jalan. Dan jadi dia mengambil tempat kedua yang terhormat. Lagipula, saya, seorang remaja berusia delapan belas tahun yang tidak pernah bekerja di mana pun, tidak pernah memegang gaji di tangannya dan melarikan diri dari satu-satunya wawancara dalam hidupnya, diminta untuk memutuskan sendiri berapa banyak uang yang menjadi hak saya. Saya entah bagaimana tidak fokus pada sisi keuangan dari masalah ini. Ketika saya masuk kantor, saya masih berpikir bahwa mungkin saya bisa mendapatkan pekerjaan di sini, tetapi kemudian semua perhatian terserap oleh masalah teknis.
Berapa nomor untuk diberi nama? Saya tidak tahu. Saya tidak tahu berapa biaya yang dikenakan programmer pada prinsipnya, apa itu "konsultan" dan bagaimana memperkirakan waktu mereka. Saya tidak ingin menyinggung perasaan Jim dengan permintaan setinggi langit, tetapi saya juga tidak ingin menjadi bodoh. Oleh karena itu, saya memilih jumlah yang secara pribadi tampak rapi bagi saya, tetapi hampir tidak akan merusak Jim - seratus dolar.
Mendengar jawabanku, Jim tersenyum. Itu adalah senyuman seorang pria yang, setelah menunggu dengan cemas, ditarik keluar dari jerat dan dilepaskan. Atau, bisa dibilang, senyum seseorang yang baru saja membuat kesepakatan yang bagus. Jim memandang sekilas ke akuntan itu dan berkata,
βTuliskan cek kepada Ned seharga seratus dolar.
Kemudian dia memberi tahu saya bahwa dia masih memiliki banyak tugas seperti itu, jika saya membutuhkan pekerjaan secara kebetulan, sistemnya masih perlu disempurnakan dan disempurnakan. Dia menawariku empat ratus dolar seminggu selama musim panas untuk datang memperbaiki bug dan menulis program baru yang dia lewatkan.
Jadi saya meninggalkan dia dengan seratus dolar dan pekerjaan musim panas di saku saya. Orang tua saya bahagia, begitu pula saya. Saya bekerja untuk Jim musim panas itu dan musim panas berikutnya, saya memiliki cukup uang untuk biaya hidup dan pendidikan, dan masih pergi untuk membeli komputer "asli" saya yang pertama - Commodore VIC-20 . Saya menghasilkan banyak uang dengan melakukan apa yang saya sukai.
Untuk sementara, saya dihantui oleh perasaan bahwa saya telah melakukan kesalahan pada kesepakatan pertama dengan Jim ini. Jelas bahwa pada saat itu saya sedang mendiktekan persyaratan dan dengan mudah dapat mengambil lebih dari seratus darinya. Dia akan membayar, dan, mungkin, itu akan adil - lagipula, tidak ada orang selain saya yang bisa mengatasi masalah ini. Padahal, sebelumnya, dia memberi programmer dan jumlah yang lebih signifikan untuk pekerjaannya, bahkan tanpa hasil. Dan saya bertanya pada diri sendiri: berapa banyak lagi uang yang bisa saya bawa pulang hari itu? Mungkin saya menunjukkan ini kurangnya profesionalisme saya?
Waktu menempatkan segalanya pada tempatnya. Mengingat cerita ini sekarang, saya menyadari bahwa pada masa itu upah minimum hanya di bawah empat dolar per jam. Artinya, untuk ratusan orang ini, saya harus menyebarkan aspal dengan pekerja jalan selama dua puluh lima jam - atau, sebenarnya, lebih dari itu, mengingat Jim, dalam gaya perusahaannya, membayar saya untuk seluruh perusahaan "dalam amplop" . Pada akhirnya, saya mendapat pekerjaan di mana saya mungkin dibayar sekitar dua puluh dolar per jam, karena untuk empat ratus dolar saya, saya harus bekerja tidak lebih dari setengah minggu kerja. Dan pada saat yang sama saya terlibat dalam apa yang sampai hari ini saya tidak anggap sebagai "kerja" dalam arti yang ayah saya masukkan ke dalam kata ini. Secara keseluruhan, bukan kesepakatan yang buruk.
Jim juga tidak rugi: dia mendapatkan programmer berbakat dengan harga diskon, dan kemudian mencoba skema ini dan mulai mempekerjakan siswa lain untuk mengerjakan sistem. Tapi sekarang saya sudah melihat semua ini bukan dari posisi "yang merobek siapa." Pada akhirnya, kolaborasi itu saling menguntungkan.
Banyak hal yang tidak masuk akal terjadi pada pekerjaan itu, jika hanya satu artikel yang cukup - ingat setidaknya bagaimana istri Jim memutuskan untuk membawa saya ke putri remaja mereka atau bagaimana saya mengantarkan Jim dengan Thunderbird Turbo Coupe baru , mungkin pada bisnis, tapi bagaimana hasilnya nanti - di bar. Tapi itu akan menunggu.
Sebenarnya, artikel ini dimaksudkan sebagai panduan untuk melepaskan diri dari pekerjaan serius bagi remaja, tetapi saya tidak tahu saran apa yang harus diberikan berdasarkan pengalaman pribadi. Hanya semua jenis kata-kata hampa yang muncul di benak Anda seperti "Lakukan apa yang membuat Anda terpesona, dan uang akan datang nanti" atau "Temukan pekerjaan yang Anda sukai dan Anda tidak perlu bekerja sehari pun". Dalam kasus saya, ada sebutir kebenaran dalam frasa umum ini. Jadi saya hanya dapat menambahkan satu hal: jika Anda pergi untuk wawancara, segera buat rencana cadangan jika Anda mulai mengajukan pertanyaan menakutkan seperti "Kapan Anda pergi?"