
“Kadang-kadang terjadi bahwa lingkaran cakrawala pria menjadi lebih kecil dan lebih kecil, dan ketika jari-jari mendekati nol ia berkonsentrasi pada satu titik. Dan kemudian itu menjadi sudut pandangnya. "
David hilbert
"Ketika saya pikir saya telah mencapai titik terendah, seseorang mengetuk dari bawah."
Stanisław Jerzy Lec
Kata pengantar
Apakah seorang programmer membutuhkan pendidikan yang lebih tinggi? Aliran pendapat tentang topik yang sangat mendesak ini belum mengering, jadi saya memutuskan untuk mengekspresikan pandangan saya. Bagi saya, kekecewaan umum dalam pendidikan adalah karena berbagai proses dan perubahan dalam profesi dan itu perlu studi serius. Di bawah ini saya akan membahas kesalahpahaman, mitos, dan penyebab mendasar dari fenomena tersebut.
Mungkin, Anda datang ke tempat yang salah
Sekali lagi saya ingatkan Anda: universitas bukanlah sekolah kejuruan. Universitas menghasilkan ilmuwan dan insinyur, bukan pekerja kerah biru dan teknisi.
Universitas memberi Anda pengetahuan mendasar, yang tidak akan menjadi usang ketika Anda menyelesaikan pendidikan Anda. Seorang ahli biologi dari National Institutes of Health menulis kepada saya:
"Waktu berubah tetapi secara fundamental tidak berubah" . Kata-kata yang bagus! Itulah sebabnya mengapa lebih baik untuk memilih arah umum pendidikan dan mencoba untuk mengambil jumlah maksimum mata kuliah pilihan, dan itulah sebabnya di universitas sarjana fisika siswa diberikan (karena banyak orang menebak) begitu banyak mata pelajaran
"tidak perlu" seperti biologi, kimia, atau sastra, bukan yang khusus.
Carl Sagan, astronom terkenal, disebutkan dalam buku-bukunya bahwa dia bekerja di laboratorium genetika dan melakukan percobaan untuk menguji hipotesis abiogenesis saat dia belajar. Sangat menyenangkan bahwa di AS dimungkinkan (selain jurusan utama) untuk menambahkan beberapa spesialisasi (minor) lainnya. Ini adalah kesempatan luar biasa yang tidak ditawarkan oleh banyak negara lain seperti Rusia. Jadi, jika Anda memiliki pilihan antara teori evolusi dan pemrograman Java - pilih yang pertama, mungkin, suatu hari pengetahuan ini akan berguna dalam karir Anda atau bahkan kehidupan. Anda masih akan belajar Jawa - jika Anda benar-benar membutuhkannya - tetapi Anda tidak mungkin mempelajari sejarah planet kita. Selain itu, evolusi adalah ide yang begitu umum dan universal sehingga dapat diterapkan pada hampir semua disiplin ilmu teknik. Ingat, untuk mempersempit cakrawala Anda selalu lebih mudah daripada memperluasnya.
Pada intinya, situasi di universitas asing tidak berbeda secara mendasar. Sebagai hasil dari evolusi paralel paralel selama bertahun-tahun, dunia telah mengembangkan persyaratan serupa untuk para profesional. Anda benar bahwa di negara lain Anda akan diajarkan dengan cara yang berbeda, tetapi salah jika Anda berpikir bahwa Anda akan diajarkan hal-hal yang berbeda. Universitas di negara lain berbeda dalam proses pendidikan, nama dan jumlah program, kualitas praktik, dan sains nyata, tetapi landasan teoretisnya serupa di mana-mana. Alasan untuk penyatuan semacam itu cukup jelas: hukum alam bersifat tidak tetap di semua negara. Oleh karena itu, spesialis dari satu negara dapat bekerja di seluruh dunia.
Siapa pemrogramnya?
Untuk mengilustrasikan pentingnya pertanyaan, saya akan beralih ke analogi. Bayangkan Anda bertanya kepada seseorang apa profesinya, dan dia bilang dia pembangun. Bisakah Anda menebak apa yang dia lakukan tanpa informasi tambahan? Tidak. Dia bisa menjadi seorang arsitek dengan pendidikan artistik, insinyur, mandor, pekerja terampil, atau pembersih. Perlu dikatakan, banyak dari daerah ini memiliki spesialisasi mereka sendiri. Dan masih semua dari mereka akan disebut pembangun, tetapi jelas bahwa mereka adalah jenis pembangun yang sangat berbeda. Untuk membuat rumah anjing, seseorang tidak perlu memiliki pendidikan khusus, tetapi tanpa itu tidak ada yang bisa membangun gedung pencakar langit.
Namun, mereka yang membangun rumah anjing biasanya tidak disebut pembangun. Di sisi lain, hampir semua orang sekarang disebut seorang programmer. Seorang ilmuwan komputer yang menemukan algoritma baru; pengembang perangkat lunak navigasi di NASA; seorang ahli bahasa Assembler yang mempelajari virus; seorang anak sekolah yang membuat halaman HTML - semuanya adalah programmer sekarang. Jadi, sebelum Anda menjawab pertanyaan: "Apakah seorang programmer membutuhkan pendidikan tinggi?", Anda harus mengklarifikasi - tipe programmer yang mana? Mungkin, dalam kasus khusus Anda, pendidikan jelas tidak diperlukan.
Suka atau tidak suka, mimpi
Strugatsky bersaudara tentang dunia asisten peneliti muda hancur. Sebagian besar orang tidak akan menjadi ilmuwan atau insinyur, dan mereka jelas tidak membutuhkan gelar sarjana. Gelar associate dua tahun sepenuhnya memenuhi kebutuhan mereka. Karena pada dasarnya keinginan dan kebutuhan mereka tidak memenuhi tujuan pendidikan universitas dan pekerjaan yang mereka usulkan tidak ada hubungannya dengan sains atau teknik. Ini tidak mengerikan, karena jumlah insinyur di bidang apa pun pada waktu tertentu selalu kurang dari teknisi dan pekerja kerah biru. Tidak ada yang memalukan dalam profesi kerah biru, terutama jika Anda menyukainya, tetapi tidak masuk akal bagi seseorang untuk menyebut dirinya seorang insinyur. Sebaliknya, Anda harus dengan jujur ​​mengakui siapa yang Anda inginkan, dan tidak mengharuskan universitas untuk menjadi apa yang tidak seharusnya. Hanya satu hal, tolong jangan menyebut diri Anda seorang programmer, karena seorang programmer adalah seorang insinyur.
Insinyur tidak bisa menjadi kerah biru. Bahkan untuk mengembangkan program sederhana, Anda harus menjadi insinyur yang baik, atau program Anda akan besar dan lambat, memakan sumber daya komputer, dan menghasilkan lalu lintas yang tidak perlu, membanjiri jaringan. Di sisi lain, kerah biru melakukan pekerjaan non-kreatif, mereka biasanya tidak membuat keputusan dan tidak menyelesaikan masalah; jika mereka mengikuti instruksi, mereka melakukan pekerjaan mereka dengan sangat baik.
Namun, sudah ada pekerja kerah biru dalam pemrograman bertahun-tahun yang lalu. Mereka adalah juru ketik, yang memberi kode program yang ditulis oleh insinyur di atas kertas. Dan mereka menghilang dengan sangat cepat ketika komputer memiliki terminal yang lebih nyaman.
Ukur tiga kali dan potong sekali
Setiap profesi memiliki seperangkat pengetahuan wajib minimum. Dalam ilmu komputer dan pemrograman, dasar seperti itu adalah kursus matematika; jadi pertanyaan "Apakah seorang programmer membutuhkan pendidikan?" biasanya berubah menjadi "Apakah programmer membutuhkan matematika?" atau "Apakah programmer membutuhkan begitu banyak matematika?" Mengingat bahwa seorang programmer dalam pengertian klasik adalah seorang insinyur, pertanyaannya dapat dirumuskan secara berbeda: "Apakah seorang insinyur membutuhkan pendidikan?" Diskusi tentang bentuk pertanyaan ini biasanya tidak muncul. Masalahnya, mungkin, adalah tidak semua orang ingin menjadi ilmuwan atau insinyur. Jika batas impian Anda adalah menerbitkan game sederhana di App Store, dan tidak merancang kecerdasan buatan, algoritme kriptografi, atau perangkat lunak rekayasa CAD, Anda dapat dengan mudah melewati universitas untuk memulai karir Anda, tetapi bahkan dalam kasus ini bagus pendidikan akan membantu Anda.
Universitas tidak tahu siapa yang Anda lihat di masa depan, dan bahkan Anda sering tidak tahu itu pada usia pendaftaran Anda. Dipercayai bahwa lebih baik mengajari Anda semua dasar-dasarnya, daripada melewatkan sesuatu yang penting. Selain itu, kursus dasar umumnya saling tergantung, dan Anda tidak bisa mengambil dan menghapus beberapa saja. Tujuan utama mereka bukan untuk mengajarkan Anda semua pengetahuan di dunia, karena itu pada prinsipnya tidak mungkin, tetapi untuk memberi Anda peta kasar ilmu pengetahuan dan teknik modern, jadi ketika Anda sesekali dihadapkan dengan sesuatu yang tidak diketahui, Anda dapat membuat (mungkin) keputusan yang tepat, ke arah mana harus pergi.
Mari kembali ke matematika. Hampir semua buku tentang algoritma memerlukan beberapa budaya matematika dari pembaca. Algoritma dan struktur data - seperti yang dikatakan
Niklaus Wirth - adalah program komputer, dan jika Anda tidak dapat bekerja dengan mereka, Anda tidak dapat disebut seorang programmer. Ini belum tentu kemampuan untuk mendesain algoritme Anda sendiri, biasanya Anda perlu mengubah yang sudah ada, mengadaptasinya ke setiap kasus, tetapi juga kemampuan untuk membuktikan validitas dan penerapannya pada berbagai kondisi, dan kemampuan untuk menganalisis perilaku mereka di situasi tertentu. Matematika secara aktif digunakan di berbagai bidang seperti kriptografi, grafik komputer, pengenalan pola, video, suara, pemrosesan gambar dan sinyal, fisika perhitungan, kimia dan biologi, dan sebagainya. Bahkan dalam pemrograman sistem (yang biasanya terletak jauh dari matematika) tanpa latar belakang matematika yang serius Anda tidak dapat menulis kompiler, penjadwal dan driver sistem file.
Matematika adalah dasar dari semua pengetahuan lainnya. Tetapi banyak orang mulai mempelajari profesi dari akhir. Programmer yang telah mempelajari bahasa pemrograman, alat pengembangan, berbagai teknologi dan pola, tetapi belum menguasai dasar matematika, terlihat seperti seniman, yang memiliki pemahaman yang sempurna tentang cat dan kuas, belajar banyak trik, tetapi tidak tahu warnanya teori, komposisi, perspektif, anatomi manusia, dan dasar-dasar lainnya. Mereka mungkin memiliki banyak ide cemerlang, tetapi mereka tidak akan dapat mengungkapkannya. Dan yang bisa mereka lakukan adalah bekerja sebagai asisten atau mengecat ulang foto orang lain.
Kadang-kadang, ketidaktahuan tentang dasar-dasar menciptakan gaya baru, seperti dalam kasus Vincent Van Gogh (harus diakui, saya harus mengatakan bahwa ia menyadari masalahnya dan mengambil pelajaran melukis dari para profesional), tetapi biasanya menjadi penghambat kreativitas. Dan jika dalam bidang ini dimungkinkan untuk membenarkan gambar-gambar masam seniman yang mengatakan bahwa
"ia melihat seperti ini" , dalam industri kedirgantaraan kasus-kasus seperti itu (seperti ketika algoritma pembangkitan angka acak yang salah menyebabkan jutaan dolar dari pembayar pajak yang jujur ​​melewatkan target) ), tidak bisa tidak dibenarkan oleh apa pun.
Pada saat yang sama kita tidak boleh lupa bahwa sebagian besar, matematika untuk programmer adalah kotak peralatan daripada sains, dan dosen harus mengajar mereka sesuai, terutama kursus tahun pertama, menjelaskan kepada siswa alasan untuk mempelajarinya.
Adapun ilmu-ilmu sosial dan kursus non-inti lainnya, kepentingan mereka ditandai tidak hanya oleh fakta bahwa seseorang harus berbudaya dan berpendidikan, tetapi juga karena pikiran manusia sangat tidak terduga dan kadang-kadang menarik inspirasi dari sumber yang tidak biasa. Guru bahasa Rusia saya bercerita kepada saya dari zaman Soviet, ketika salah satu lembaga penerbangan memutuskan untuk menghemat uang dan dengan demikian menyingkirkan kursus sastra. Dan menurut Anda apa yang terjadi setelah itu? Segera tingkat insinyur lulusan menurun. Selanjutnya, kursus sastra dikembalikan ke institut. Jadi semua kursus ini perlu. Sayangnya, mereka sering diajarkan dengan buruk, yang tidak menambah popularitas mereka; tetapi kita berbicara tentang ide itu, kan?
Jadi jika Anda tidak menggunakan pengetahuan yang diperoleh di universitas, maka masalahnya mungkin bukan di universitas Anda tetapi di pekerjaan Anda, yang tidak memberi Anda kesempatan untuk menggunakannya. Adalah bodoh untuk menyalahkan universitas karena memberikan kursus
"salah" , ketika Anda mempelajari cara mendesain algoritma enkripsi, tetapi sekarang Anda membuat halaman web sederhana atau bahkan bekerja sebagai manajer penjualan.
Kenapa harus universitas?
Baiklah, Anda berkata, tetapi mengapa pendidikan reguler lebih baik daripada pendidikan mandiri? Setelah semua pemrograman bukan rekayasa genetika - Anda tidak perlu bekerja di laboratorium mahal khusus dan dapat mempelajari semua teori yang ada di rumah. Memang, program pendidikan dari universitas dikenal, banyak kursus terbuka, Anda dapat membeli buku apa pun, mengambilnya dari perpustakaan umum, atau membacanya di Web. Namun, tidak semuanya sesederhana kelihatannya. Matematika, berbeda dengan teknologi dan bahasa pemrograman, biasanya sangat sulit untuk dipelajari. Anda mungkin tidak tahu bahwa Anda melakukan sesuatu yang salah, kecuali Anda diberi tahu tentang hal itu. Kontak pribadi sangat penting dan dapat menghemat banyak waktu dan saraf. Sebagai contoh, Anda dapat mendengarkan ceramah selama beberapa jam dan mengerti sangat sedikit, sementara selama istirahat dalam beberapa menit Anda menemukan semua jawaban dari profesor. Beberapa programmer masih memerlukan laboratorium dan kondisi khusus, misalnya, mereka yang ingin bekerja dengan mikroprosesor arsitektur unik, superkomputer, robot industri atau satelit.
Belajar di universitas juga merupakan kesempatan untuk mendapatkan pengalaman praktis di perusahaan dan organisasi, yang jika tidak tidak mungkin dilakukan. Ini adalah kesempatan untuk melakukan sains, menulis artikel, dan berpartisipasi dalam konferensi, yang merupakan kondisi kerja yang diperlukan di laboratorium penelitian banyak perusahaan, seperti, Samsung, Phillips atau IBM. Hampir semua teknologi yang berubah dunia dikembangkan di universitas, dan beberapa, seperti
LLVM yang terkenal, tumbuh dari proyek-proyek kemahasiswaan. Perusahaan-perusahaan terkenal didirikan oleh para ilmuwan dan lulusan di dalam tembok universitas: Silicon Graphics, Sun Microsystems, Yahoo, Adobe, dan banyak lainnya.
Last but not least, tanpa pendidikan formal, pintu-pintu banyak organisasi penelitian (seperti NASA, NIH, CERN atau ARPA-E) akan ditutup untuk Anda. Anda harus membuktikan profesionalisme Anda dan menjadi jauh lebih baik daripada para pesaing, karena ketika semua kualifikasi lainnya setara, pendidikan formal akan menjadi keuntungan bagi mereka. Juga, tanpa gelar, sangat sulit untuk mendapatkan izin kerja di negara lain. (Ini tidak terlalu penting bagi AS tetapi masih bermanfaat.)
Ketika seseorang mengetuk dari bawah
Masalahnya adalah global, tetapi yang paling tajam dalam pemrograman. Dan itu sebabnya. Mengurangi penghalang entry level telah memainkan lelucon kejam pada profesi. Awalnya, semua alat pengembangan ditulis oleh programmer yang berpengalaman untuk menyederhanakan pekerjaan mereka. Teknologi ini hanya berguna jika Anda memahami proses apa yang terjadi di dalamnya. Dengan demikian, mereka memungkinkan Anda untuk menulis lebih banyak program dalam waktu yang lebih singkat, tetapi kualitasnya tergantung secara eksklusif pada pengetahuan dan keterampilan Anda, karena alat pengembangan masih tidak tahu cara berpikir dan membuat keputusan untuk Anda. Kemudian seseorang memutuskan bahwa penyederhanaan pemrograman akan menarik lebih banyak orang ke dalam profesi. Banyak orang memimpikan saat semua orang bisa menulis program, terlepas dari kemampuan mereka.
Takut pada keinginan Anda. Sayangnya, impian mereka sekarang sebagian besar kenyataan, dan tidak seperti yang dimaksudkan pada tahun tujuh puluhan. Sekarang Anda dapat membuat program dari blok bangunan, bahkan tanpa memahami cara kerjanya. Jika Anda bukan seorang profesional itu akan menjadi program kerja yang buruk tetapi (sayangnya). Penyebaran teknologi murah dan kemudahan pengembangan telah menyebabkan fakta bahwa pasar sekarang dibanjiri oleh programmer-programmer berketerampilan rendah. Seperti yang dikatakan
Say's Law , “penawaran menciptakan permintaannya sendiri”. Banyak perusahaan mempekerjakan "programmer" seperti itu bukan karena mereka benar-benar membutuhkannya tetapi hanya untuk tidak lebih buruk dari pesaing mereka. Aturannya sederhana: jika Anda tidak dapat menyewa programmer profesional, Anda tidak membutuhkannya sama sekali. Beli saja produk yang sudah ada atau pesan dari perusahaan perangkat lunak profesional.
Tapi itu tidak cukup untuk menulis sebuah program, Anda masih perlu mempublikasikannya. Dan lagi munculnya banyak toko online memberikan kesempatan seperti itu bagi semua orang. Google, Apple, Microsoft, dan perusahaan perangkat lunak lain tertarik terutama pada jumlah program yang paling besar untuk platform mereka, dan mereka juga merilis alat pengembangan untuk mereka. Dalam keadaan seperti itu, proses pengembangan bahkan lebih disederhanakan, yang pada akhirnya menyebabkan penurunan yang lebih besar dalam halangan masuk pemrograman.
Hasil dari semua ini adalah ilusi kemudahan pemrograman, orang mulai menganggapnya sebagai sesuatu yang tidak serius, yang tidak memerlukan pengetahuan dan pendidikan khusus. Pendapat semacam itu telah dibentuk tidak hanya dari pemula, tetapi juga (yang jauh lebih buruk) oleh pelanggan dan majikan yang tidak berpengalaman. Banyak dari Anda telah melihat lowongan dengan daftar mengesankan keterampilan yang diperlukan, bahasa, perpustakaan, dan teknologi, banyak tanggung jawab (dengan kemungkinan pengecualian dari layanan kebersihan), namun semuanya ditawarkan dengan gaji yang sederhana (jika tidak dikatakan konyol).
Sulit dibayangkan dalam industri seperti teknik dirgantara, di mana harga kesalahannya adalah nyawa manusia. Dalam profesi seperti itu seleksi sangat sulit. Tidak ada yang mau kehilangan jutaan dolar dalam pembayaran asuransi, penarikan lisensi, dan reputasi buruk. Dengan demikian, seorang insinyur luar angkasa bisa baik atau tidak ada, karena tidak ada yang ingin mempekerjakan yang buruk bahkan jika ia meminta gaji yang sangat kecil. Sangat berbeda dari pemrograman, di mana tidak ada batas bawah, dan setiap programmer, bahkan sangat terampil, tidak akan tetap tanpa pekerjaan. Peradaban kita masih hidup hanya karena sebagian besar pekerjaan yang dilakukan oleh programmer tidak kritis, kita dapat dengan mudah hidup tanpanya, dan masalah apa pun tidak mengarah pada bencana. Bayangkan bahwa semua game komputer tiba-tiba berhenti bekerja di dunia, apakah ini akan menjadi bencana? Tentu tidak! Tidak diragukan lagi ini akan menjadi masalah global, tetapi tentu saja bukan bencana. Namun, jika nasib yang sama menimpa pesawat, hasilnya akan tragis.
Namun, bahayanya akan datang. Pemrograman sekarang hampir di mana-mana, dan menyebar sangat cepat. Kesalahan programmer dalam biaya perangkat lunak terlalu banyak, dan harga kesalahan ini akan naik sampai mencapai kehidupan manusia. Anda dapat mengingat kegagalan
penyelidikan luar angkasa Mariner I (28 Juli 1962),
Ariane 5 Penerbangan 501 (4 Juni 1996),
Mars Climate Orbiter (10 November 1999),
Patriot Missile (25 Februari 1991) dan akhirnya
Therac-25 yang menyebabkan enam orang terkena radiasi overdosis besar-besaran, menewaskan empat orang dan meninggalkan dua orang lainnya dengan luka seumur hidup (1985–1987). Jadi hari ketika teko Anda yang dapat diprogram dapat membunuh Anda karena firmware-nya ditulis oleh programmer-programmer yang kurang terampil dari perusahaan outsourcing tanpa nama (ditempatkan di suatu tempat di Laos) tidak jauh dari hari ini. Anda diperingatkan.
Kehidupan nyata
Tentu saja, ini tidak berarti bahwa pendidikan yang sangat baik atau pengetahuan matematika yang sempurna akan mengubah Anda menjadi programmer kelas dunia (mungkin diperlukan tetapi tidak cukup). Semua orang tahu bahwa banyak lulusan universitas tidak bekerja di bidangnya. Dan saya pribadi tahu banyak ahli matematika menulis program yang mengerikan. Omong-omong, Anda mungkin tidak memiliki kemampuan dalam pemrograman, situasi yang sangat umum. Jadi saya umumnya menentang penggunaan kriteria yang disederhanakan. Dalam kehidupan nyata, semuanya penting: pendidikan formal, pengetahuan, penelitian, latihan, dan yang terakhir: keinginan Anda.
Orang-orang sering berpikir bahwa universitas adalah lift, yang akan membantu mereka naik ke puncak karir mereka, sementara pada kenyataannya itu lebih seperti tangga, dan untuk mencapai tujuan Anda, Anda perlu bergerak sendiri. Pendidikan tidak menjamin Anda pekerjaan yang baik jika Anda tidak berusaha, tetapi itu bisa membantu Anda mendapatkannya jika Anda berusaha. Dan jika Anda selama studi Anda tidak mengambil bagian dalam penelitian atau proyek komersial dan mulai mencari pekerjaan hanya setelah Anda lulus, maka pemrograman (seperti teknik lainnya) bukan profesi untuk Anda.
Bagaimana mereka melakukannya?
Bill Gates, Mark Zuckerberg, Larry Ellison. Membaca kisah sukses orang-orang terkenal, banyak pikiran yang belum dewasa berpikir seperti ini: "Jika mereka bisa melakukannya, maka saya bisa melakukannya." Mungkin Tetapi perlu diingat bahwa kesuksesan adalah konsep yang sangat serbaguna, itu adalah satu hal untuk menjadi pemasar yang sukses dan cukup lain untuk menjadi insinyur yang luar biasa. Meskipun demikian, bukan rahasia lagi bahwa beberapa programmer terkenal di dunia tidak memiliki pendidikan formal, tetapi sebelum Anda mencoba kehidupan mereka sendiri, ingatlah bahwa mereka adalah pengecualian langka di antara banyak pecundang yang tidak dikenal. Jika seseorang melompat keluar dari jendela dan selamat, itu tidak berarti bahwa Anda tidak boleh menggunakan tangga. Demikian pula, pendidikan tidak boleh (kesalahan yang sangat umum) dikacaukan dengan ijazah, fakta bahwa seseorang belum menyelesaikan pendidikan, tidak berarti bahwa mereka tidak mendapat manfaat sama sekali. Kemungkinan mereka telah belajar selama beberapa tahun, mengikuti kursus, dan memperoleh pengetahuan. Beberapa dari mereka (seperti Steve Wozniak) masih kembali dan menyelesaikan pendidikan mereka bertahun-tahun kemudian.
Yang sama pentingnya adalah kemampuan mental dan karakter mereka: sebagai suatu peraturan, mereka semua cerdas, cerdas, berbakat, dan agak cemerlang, orang-orang yang sejak awal tahu apa yang mereka butuhkan, memiliki tujuan, dan memiliki efisiensi kerja yang fenomenal. Mereka tidak meminta pendapat orang lain dan tidak memaksakan pendapat mereka sendiri. Namun beberapa dari mereka, misalnya,
John Carmack (penulis game DOOM dan Quake) menyesal bahwa ia tidak mendapatkan pendidikan formal dan terlalu percaya diri.
Jika Anda sama seperti mereka, saya dengan tulus berharap Anda sukses, kalau tidak, bukankah lebih baik menggunakan cara yang lebih jelas dan terbukti?
Masa depan pekerjaan kerah biru
Ada masalah adalah bahwa profesi kerah biru perlahan-lahan punah karena digantikan oleh robot dan mesin otomatis. Sekarang seluruh pabrik dikuasai oleh beberapa insinyur dan teknisi yang terampil. Ini bagus karena tidak ada pekerjaan industri yang harus dilakukan dengan tangan lebih dari satu kali. Dan itu terutama benar dalam pemrograman, karena dalam pemrograman kerja non-kreatif dapat diotomatisasi dengan sangat mudah. Dunia saat ini tidak membutuhkan lebih banyak kerah biru, karena mesin melakukan pekerjaan mereka dengan sangat baik, dibutuhkan lebih banyak ilmuwan dan insinyur yang akan menciptakan masa depan kita. Demikian juga, dunia tidak membutuhkan lebih banyak programmer dengan keterampilan rendah (meskipun mereka bukan kerah biru dalam arti apa pun) karena mereka akan diganti dengan sangat cepat oleh mesin dan program yang pintar. Alih-alih, dunia membutuhkan lebih banyak programmer berkemampuan tinggi, insinyur sejati, yang akan mengubah hidup kita, menjadikannya lebih baik, lebih aman, dan lebih lama.
Lihatlah posisi terbuka di departemen penelitian banyak perusahaan. Seperti yang dibicarakan sebelumnya, ada terlalu banyak programmer dan persaingan sangat tinggi, namun sementara itu perusahaan dan institusi ini tidak dapat menemukan cukup banyak peneliti dan insinyur pemrograman yang baik! Banyak posisi terbuka selama bertahun-tahun. Jadi di mana kompetisi dan luapan? Mereka sebagian besar berada di level rendah. Kebenaran yang menyedihkan adalah bahwa karena pemrograman menjadi lebih mudah bagi non-profesional, level rendah akan lebih meluap. Upah akan berkurang sampai programmer berketerampilan rendah akan dibayar tidak lebih dari pekerja McDonalds.
Pendidikan tinggi yang baik sangat mahal dan membutuhkan waktu bertahun-tahun tetapi itu adalah dasar masa depan Anda, yang akan meluas ke masa depan keluarga Anda. Jadi, inilah saatnya untuk memilih apakah Anda akan
"memberi kode untuk makanan" sepanjang hidup Anda atau Anda akan bekerja di perusahaan yang baik dengan upah yang lebih tinggi. Selain itu, hadiahnya bukan hanya upah Anda tetapi juga pekerjaan yang mengubah dunia yang menarik.