Karir pemrograman. Bab 1. Program pertama

Karir pemrograman. Bab 1. Program pertamaPara pembaca Habr yang budiman, untuk perhatian Anda saya persembahkan serangkaian postingan yang kedepannya saya rencanakan untuk digabungkan menjadi sebuah buku. Saya ingin menyelami masa lalu dan menceritakan kisah saya tentang bagaimana saya menjadi seorang pengembang dan terus menjadi seorang pengembang.

Tentang prasyarat masuk ke IT, jalur trial and error, belajar mandiri dan kenaifan kekanak-kanakan. Saya akan memulai cerita saya dari masa kanak-kanak dan mengakhirinya hari ini. Saya berharap buku ini dapat bermanfaat terutama bagi mereka yang baru belajar di bidang IT.
Dan mereka yang sudah bekerja di bidang TI mungkin akan menarik kesejajaran dengan jalur mereka sendiri.

Dalam buku ini Anda akan menemukan referensi literatur yang pernah saya baca, pengalaman berkomunikasi dengan orang-orang yang saya temui saat belajar, bekerja, dan meluncurkan sebuah startup.
Mulai dari dosen universitas hingga investor ventura besar dan pemilik perusahaan bernilai jutaan dolar.
Sampai hari ini, 3.5 bab dari buku ini sudah siap, dari kemungkinan 8-10. Jika bab pertama mendapat respon positif dari pembaca, saya akan menerbitkan buku keseluruhannya.

Tentang diri saya

Saya bukan John Carmack, Nikolai Durov, atau Richard Matthew Stallman. Saya tidak bekerja di perusahaan seperti Yandex, VKontakte atau Mail.ru.
Meskipun saya memiliki pengalaman bekerja di sebuah perusahaan besar, yang pasti akan saya ceritakan kepada Anda. Namun menurut saya, intinya bukan pada nama besarnya, melainkan pada sejarah perjalanan saya menjadi seorang pengembang, dan lebih jauh lagi, pada kemenangan dan kekalahan yang terjadi selama 12 tahun karir saya di bidang pengembangan komersial. Tentu saja, beberapa dari Anda memiliki lebih banyak pengalaman di bidang IT. Namun saya percaya bahwa drama dan kemenangan yang terjadi selama karir saya saat ini layak untuk dideskripsikan. Ada banyak sekali peristiwanya, dan semuanya beragam.

Siapa saya hari ini sebagai pengembang
— Berpartisipasi dalam lebih dari 70 proyek komersial, banyak di antaranya ia tulis dari awal
— Dalam selusin proyek kami: sumber terbuka, startup
— 12 tahun di bidang TI. 17 tahun yang lalu - menulis program pertama
- Orang Paling Berharga Microsoft 2016
— Profesional Bersertifikat Microsoft
— Master Scrum Bersertifikat
— Saya menguasai C#/C++/Java/Python/JS dengan baik
— Gaji — 6000-9000 $/bulan. tergantung pada beban
— Tempat kerja utama saya hari ini adalah pertukaran freelance Upwork. Melalui itu saya bekerja di perusahaan yang berhubungan dengan NLP/AI/ML. Memiliki basis 1 juta pengguna
— Merilis 3 aplikasi di AppStore dan GooglePlay
— Saya sedang bersiap untuk mendirikan perusahaan IT saya sendiri di sekitar proyek yang sedang saya kembangkan

Selain pengembangan, saya menulis artikel untuk blog populer, mengajarkan teknologi baru, dan berbicara di konferensi. Saya bersantai di klub kebugaran dan bersama keluarga saya.

Mungkin itu saja tentang saya sejauh menyangkut tema buku ini. Berikutnya adalah ceritaku.

Cerita. Awal.

Saya pertama kali mempelajari apa itu komputer ketika saya berumur 7 tahun. Saya baru saja masuk kelas satu dan di kelas seni kami diberi pekerjaan rumah untuk membuat komputer dari karton, karet busa, dan spidol. Tentu saja orang tua saya membantu saya. Ibu belajar di universitas teknik pada awal tahun 80an dan mengetahui secara langsung apa itu komputer. Selama pelatihan, dia bahkan berhasil membuat kartu berlubang dan memasukkannya ke dalam mesin raksasa Soviet yang menempati sebagian besar ruang pelatihan.

Kami menyelesaikan pekerjaan rumah kami dengan nilai 5 karena kami mengerjakan semuanya dengan rajin. Kami menemukan selembar karton A4 yang tebal. Lingkaran dipotong dari mainan lama dari karet busa, dan antarmuka pengguna digambar dengan spidol. Perangkat kami hanya memiliki beberapa tombol, tetapi saya dan ibu saya menugaskannya fungsi yang diperlukan, dan selama pelajaran saya menunjukkan kepada guru bagaimana dengan menekan tombol "Aktif", bola lampu akan menyala di sudut "layar, ” sambil menggambar lingkaran merah secara bersamaan dengan spidol.

Pertemuan saya berikutnya dengan teknologi komputer terjadi pada usia yang sama. Di akhir pekan, saya sering mengunjungi kakek dan nenek saya yang bergiliran menjual berbagai macam barang rongsokan dan juga rela membelinya dengan harga murah. Jam tangan tua, samovar, ketel uap, lencana, pedang prajurit abad ke-13, dan banyak lagi. Di antara berbagai macam barang ini, seseorang membawakannya komputer yang dilengkapi dengan TV dan perekam audio. Untungnya, nenek saya memiliki keduanya. Tentu saja buatan Soviet. TV Electron dengan delapan tombol untuk mengganti saluran. Dan alat perekam dua kaset Vega, yang bahkan dapat merekam ulang kaset audio.
Karir pemrograman. Bab 1. Program pertama
Komputer Soviet “Poisk” dan periferalnya: TV “Electron”, tape recorder “Vega” dan kaset audio dengan bahasa BASIC

Kami mulai mencari tahu bagaimana keseluruhan sistem ini bekerja. Komputer tersebut dilengkapi dengan beberapa kaset audio, buku petunjuk yang sudah sangat usang dan brosur lain dengan judul “Bahasa Pemrograman BASIC”. Meskipun saya masih kecil, saya mencoba berpartisipasi aktif dalam proses penyambungan kabel ke tape recorder dan TV. Kemudian kami memasukkan salah satu kaset ke dalam kompartemen tape recorder, menekan tombol "Maju" (yaitu, mulai memutar), dan grafik teks dan garis semu yang tidak dapat dipahami muncul di layar TV.

Head unitnya sendiri tampak seperti mesin tik, hanya saja sudah agak menguning dan bobotnya terlihat jelas. Dengan kegembiraan seorang anak kecil, saya menekan semua tombol, tidak melihat hasil nyata, lalu berlari dan berjalan-jalan. Meskipun saat itu saya memiliki manual tentang bahasa BASIC dengan contoh-contoh program yang, karena usia saya, tidak dapat saya tulis ulang.

Dari kenangan masa kecil, saya pasti ingat semua gadget yang dibelikan orang tua untuk saya, pernah bekerja sama dengan kerabat lainnya. Mainan pertama adalah permainan terkenal “Serigala Menangkap Telur”. Saya menyelesaikannya dengan cukup cepat, melihat kartun yang telah lama ditunggu-tunggu di bagian akhir dan menginginkan sesuatu yang lebih. Lalu ada Tetris. Saat itu nilainya 1,000,000 kupon. Ya, itu terjadi di Ukraina pada awal tahun 90an, dan saya diberi satu juta untuk keberhasilan akademis saya. Karena merasa seperti seorang jutawan, saya memesan permainan yang lebih kompleks ini untuk orang tua saya, di mana mereka harus menyusun dengan benar gambar-gambar berbagai bentuk yang jatuh dari atas. Pada hari pembelian, Tetris diambil secara tak terkendali oleh orang tua saya, yang sendiri tidak dapat membuangnya selama dua hari.

Karir pemrograman. Bab 1. Program pertama
"Serigala Menangkap Telur dan Tetris" yang Terkenal

Lalu ada konsol game. Keluarga kami tinggal di sebuah rumah kecil, di mana paman dan bibi saya juga tinggal di kamar sebelah. Paman saya adalah seorang pilot militer, dia sering melewati titik-titik panas, jadi meskipun dia rendah hati, dia sangat ulet dan takut pada hal-hal kecil, setelah kejadian nyata.
operasi militer. Sama seperti kebanyakan orang di tahun 90an, paman saya terjun ke dunia bisnis dan memiliki penghasilan yang lumayan. Jadi TV impor, VCR, dan kemudian set-top box Subor (analog dengan Dendy) muncul di kamarnya. Saya takjub melihatnya memainkan Super Mario, TopGun, Terminator, dan game lainnya. Dan ketika dia menyerahkan joystick ke tanganku, kebahagiaanku tidak mengenal batas.

Karir pemrograman. Bab 1. Program pertama
Konsol delapan bit "Syubor" dan "Super Mario" yang legendaris

Ya, seperti semua anak biasa yang tumbuh di tahun sembilan puluhan, saya menghabiskan sepanjang hari di halaman. Entah bermain bola pionir, atau bulu tangkis, atau memanjat pohon di taman, tempat tumbuhnya berbagai buah-buahan.
Tapi produk baru ini, ketika Anda bisa mengendalikan Mario, melompati rintangan dan menyelamatkan sang putri, berkali-kali lebih menarik daripada buff, ladushka, dan klasik orang buta mana pun. Oleh karena itu, melihat minat saya yang tulus terhadap awalan, orang tua saya memberi saya tugas untuk mempelajari tabel perkalian. Kemudian mereka akan mewujudkan impian saya. Mereka mengajarinya di kelas dua, dan saya baru saja menyelesaikan kelas satu. Tapi, katakan dan selesai.

Tidak mungkin memikirkan motivasi yang lebih kuat daripada memiliki konsol game sendiri. Dan dalam seminggu saya dengan mudah menjawab pertanyaan “tujuh sembilan”, “enam tiga” dan sejenisnya. Ujian telah berlalu dan mereka membelikan saya hadiah yang didambakan. Seperti yang akan Anda pelajari lebih lanjut, konsol dan permainan komputer memainkan peran penting dalam membuat saya tertarik pada pemrograman.

Begitulah yang terjadi tahun demi tahun. Konsol game generasi berikutnya telah keluar. Pertama Sega 16-bit, lalu Panasonic, lalu Sony PlayStation. Permainan adalah hiburan saya ketika saya baik-baik saja. Ketika ada masalah di sekolah atau di rumah, mereka mengambil joystick saya dan, tentu saja, saya tidak bisa bermain. Dan tentu saja, mengabadikan momen ketika kamu pulang sekolah, dan ayahmu belum pulang kerja untuk sibuk di depan TV, juga merupakan semacam keberuntungan. Jadi tidak mungkin untuk mengatakan bahwa saya adalah seorang pecandu judi atau menghabiskan sepanjang hari bermain game. Tidak ada peluang seperti itu. Saya lebih suka menghabiskan sepanjang hari di halaman, di mana saya juga dapat menemukan sesuatu
menarik. Misalnya, permainan yang benar-benar liar - baku tembak di udara. Saat ini Anda tidak akan melihat hal seperti ini di halaman, tetapi saat itu terjadi perang yang nyata. Paintball hanyalah permainan anak-anak dibandingkan dengan pembantaian yang kita sebabkan. Ada balon udara
diisi dengan peluru plastik padat. Dan setelah menembak pria lain dari jarak dekat, dia meninggalkan memar di separuh lengan atau perutnya. Begitulah cara kami hidup.

Karir pemrograman. Bab 1. Program pertama
Pistol mainan sejak kecil

Tidak salah jika menyebut film “Hackers”. Film ini dirilis pada tahun 1995, dibintangi oleh Angelina Jolie yang berusia 20 tahun. Mengatakan bahwa film tersebut memberikan kesan yang kuat pada saya berarti tidak mengatakan apa-apa. Bagaimanapun, pemikiran anak-anak memandang segala sesuatu begitu saja.
Dan bagaimana orang-orang ini membersihkan ATM, mematikan lampu lalu lintas, dan bermain-main dengan listrik di seluruh kota - bagi saya itu ajaib. Kemudian terlintas dalam benak saya bahwa akan menyenangkan menjadi mahakuasa seperti para Peretas.
Beberapa tahun kemudian, saya membeli setiap terbitan majalah Hacker dan mencoba meretas Pentagon, meskipun saya belum memiliki Internet.

Karir pemrograman. Bab 1. Program pertama
Pahlawan saya dari film "Hackers"

Penemuan nyata bagi saya adalah PC sungguhan, dengan monitor lampu 15 inci dan unit sistem berbasis prosesor Intel Pentium II. Tentu saja, rumah itu dibeli oleh pamannya, yang pada akhir tahun sembilan puluhan telah mempunyai penghasilan yang cukup tinggi untuk mampu membelinya
mainan seperti itu. Pertama kali mereka menyalakan permainan untuk saya, itu tidak terlalu menarik. Namun suatu hari, hari penghakiman tiba, bintang-bintang sejajar dan kami datang mengunjungi paman kami, yang tidak ada di rumah. Saya bertanya:
— Bisakah saya menyalakan komputer?
“Ya, lakukan apapun yang kamu mau dengannya,” jawab bibi yang penyayang.

Tentu saja, saya melakukan apa yang saya inginkan dengannya. Ada ikon berbeda di desktop Windows 98. WinRar, Word, FAR, Klondike, permainan. Setelah mengklik semua ikon, perhatian saya terfokus pada FAR Manager. Sepertinya layar biru yang tidak dapat dipahami, tetapi dengan daftar panjang (file) yang dapat diluncurkan. Dengan mengklik masing-masing secara bergantian, saya menangkap efek dari apa yang terjadi. Beberapa berhasil, beberapa tidak. Setelah beberapa saat, saya menyadari bahwa file yang diakhiri dengan “.exe” adalah yang paling menarik. Mereka meluncurkan berbagai gambar keren yang juga dapat Anda klik. Jadi saya mungkin meluncurkan semua file exe yang tersedia di komputer paman saya, dan kemudian mereka hampir tidak menarik perhatian saya dari mainan yang sangat menarik dan membawa saya pulang.

Karir pemrograman. Bab 1. Program pertama
Manajer FAR yang sama

Lalu ada klub komputer. Saya dan teman saya sering pergi ke sana untuk bermain Counter Strike dan Quake online, yang tidak dapat kami lakukan di rumah. Saya sering meminta uang kembalian kepada orang tua saya agar saya bisa bermain di klub selama setengah jam. Melihat mataku, seperti kucing dari Shrek, mereka menawariku kontrak yang menguntungkan lagi. Saya menyelesaikan tahun ajaran tanpa nilai C, dan mereka membelikan saya komputer. Kontrak ditandatangani pada awal tahun, pada bulan September, dan PC yang didambakan seharusnya tiba pada awal Juni, tergantung pada kepatuhan terhadap perjanjian.
Saya mencoba yang terbaik. Saya bahkan menjual Sony Playstation kesayangan saya karena emosi agar tidak terlalu terganggu oleh studi saya. Meskipun saya adalah siswa biasa-biasa saja, kelas 9 sangat penting bagi saya. Hidung berdarah, aku hanya harus mendapat nilai bagus.

Sudah di musim semi, mengantisipasi pembelian PC, mungkin peristiwa paling penting dalam hidup saya terjadi. Aku mencoba berpikir ke depan, dan suatu hari aku berkata pada ayahku:
- Ayah, saya tidak tahu cara menggunakan komputer. Mari mendaftar kursus

Tidak lama setelah diucapkan, dilakukan. Setelah membuka koran yang berisi iklan, sang ayah menemukan sebuah blok yang ditulis dalam cetakan kecil dengan judul "Kursus komputer". Saya menelepon guru dan beberapa hari kemudian saya sudah mengikuti kursus ini. Kursus berlangsung di sisi lain kota, di gedung panel tua Khrushchev, di lantai tiga. Dalam satu ruangan terdapat tiga PC yang berjajar, dan mereka yang ingin belajar sebenarnya dilatih menggunakan PC tersebut.

Saya ingat pelajaran pertama saya. Windows 98 membutuhkan waktu lama untuk dimuat, lalu guru berbicara:
- Jadi. Sebelum Anda adalah desktop Windows. Ini berisi ikon program. Di bagian bawah adalah tombol Mulai. Ingat! Semua pekerjaan dimulai dengan tombol Start. Klik dengan tombol kiri mouse.
Dia melanjutkan.
- Di sini - Anda melihat program yang diinstal. Kalkulator, Notepad, Word, Excel. Anda juga dapat mematikan komputer Anda dengan mengklik tombol “Matikan”. Cobalah.
Akhirnya dia beralih ke bagian yang lebih sulit bagi saya saat itu.
“Di desktop,” kata guru, Anda juga dapat melihat program yang dapat diluncurkan dengan mengklik dua kali.
- Dobel!? - Bagaimana secara umum?
- Mari mencoba. Luncurkan Notepad dengan mengklik dua kali menggunakan tombol kiri mouse.

Ya, sialan. Hal tersulit saat itu adalah menahan mouse di satu tempat dan pada saat yang sama mengklik dua kali dengan cepat. Pada klik kedua, mouse bergerak sedikit dan pintasan ikut serta. Namun tetap saja, saya berhasil mengatasi tugas yang tidak dapat diatasi tersebut selama pelajaran.
Lalu ada pelatihan Word dan Excel. Suatu hari, mereka membiarkan saya melihat-lihat gambar alam dan monumen arsitektur. Itu adalah aktivitas paling menarik dalam ingatan saya. Jauh lebih menyenangkan daripada mempelajari cara memformat teks di Word.

Di sebelah PC saya, siswa lain sedang belajar. Beberapa kali saya bertemu dengan orang-orang yang sedang menulis program, sambil mendiskusikan proses ini dengan hangat. Ini juga menarik minat saya. Teringat film Hacker dan bosan dengan MS Office, saya minta dipindahkan ke kursus
pemrograman. Seperti semua peristiwa penting dalam hidup, hal ini terjadi secara spontan, karena ketertarikan.

Saya tiba di pelajaran pemrograman pertama saya dengan ibu saya. Saya tidak ingat alasannya. Rupanya dia harus bernegosiasi untuk kursus baru dan melakukan pembayaran. Di luar sedang musim semi, hari sudah gelap. Kami melakukan perjalanan melalui seluruh kota dengan minibus-Gazelle ke pinggiran, mencapai tempat yang terkenal kejam
panel Khrushchev, naik ke lantai dan mempersilakan kami masuk.
Mereka mendudukkan saya di depan komputer dan membuka program dengan layar biru dan huruf kuning.
- Ini Turbo Pascal. Guru mengomentari tindakannya.
- Lihat, di sini saya menulis dokumentasi tentang cara kerjanya. Bacalah dan lihatlah.
Di depan saya ada kanvas berwarna kuning, teks yang benar-benar tidak dapat dipahami. Saya mencoba mencari tahu sesuatu untuk diri saya sendiri, tetapi saya tidak bisa. Tata bahasa Cina dan hanya itu.
Akhirnya, setelah beberapa waktu, ketua kursus memberikan saya selembar kertas A4 yang sudah dicetak. Sesuatu yang aneh tertulis di sana, yang sebelumnya saya lihat sekilas di monitor orang-orang dari kursus pemrograman.
- Tulis ulang apa yang tertulis di sini. Guru memerintahkan dan pergi.
Saya mulai menulis:
program Summa;

tulisku sambil mencari huruf bahasa inggris di keyboard. Di Word, setidaknya saya berlatih bahasa Rusia, tetapi di sini saya harus belajar huruf lain. Programnya diketik dengan satu jari, tapi sangat hati-hati.
mulai, akhir, var, bilangan bulat - Apa ini? Meskipun saya belajar bahasa Inggris sejak kelas satu dan mengetahui arti banyak kata, saya tidak dapat menghubungkan semuanya. Bagaikan beruang terlatih yang mengendarai sepeda, saya terus mengayuh. Akhirnya sesuatu yang familier:
writeln('Masukkan angka pertama');
Kemudian - writeln('Masukkan angka kedua');
Kemudian - writeln('Hasil = ',c);
Karir pemrograman. Bab 1. Program pertama
Program Turbo Pascal yang pertama

Fiuh, aku menulisnya. Saya melepaskan tangan saya dari keyboard dan menunggu guru muncul untuk instruksi lebih lanjut. Akhirnya dia datang, memindai layar dan menyuruh saya menekan tombol F9.
“Sekarang program telah dikompilasi dan diperiksa kesalahannya,” kata sang guru
Tidak ada kesalahan. Lalu dia berkata untuk menekan Ctrl+F9, yang juga harus saya jelaskan langkah demi langkah untuk pertama kalinya. Yang perlu Anda lakukan adalah tahan Ctrl, lalu tekan F9. Layar menjadi hitam dan pesan yang saya pahami akhirnya muncul di sana: “Masukkan nomor pertama.”
Atas perintah guru, saya memasukkan 7. Lalu angka kedua. Saya memasukkan 3 dan tekan Enter.

Garis 'Hasil = 10' muncul di layar secepat kilat. Itu adalah euforia dan saya belum pernah mengalami hal seperti ini sebelumnya dalam hidup saya. Seolah-olah seluruh alam semesta terbuka di hadapanku dan aku menemukan diriku berada di semacam portal. Kehangatan menjalar ke seluruh tubuhku, senyuman muncul di wajahku, dan di suatu tempat jauh di alam bawah sadar aku menyadari - bahwa ini milikku. Secara intuitif, pada tingkat emosional, saya mulai merasakan potensi yang sangat besar dalam kotak yang ramai di bawah meja ini. Ada banyak hal yang dapat Anda lakukan dengan tangan Anda sendiri, dan dia akan melakukannya!
Bahwa ini semacam keajaiban. Benar-benar di luar pemahaman saya bagaimana teks kuning yang tidak dapat dipahami di layar biru itu berubah menjadi program yang nyaman dan mudah dipahami. Itu juga penting! Yang mengejutkan saya bukanlah perhitungan itu sendiri, tetapi fakta bahwa hieroglif tertulis berubah menjadi kalkulator. Ada kesenjangan antara kedua peristiwa tersebut pada waktu itu. Namun secara intuitif saya merasa bahwa perangkat keras ini dapat melakukan hampir semua hal.

Hampir sepanjang perjalanan pulang dengan minibus, saya merasa seperti berada di luar angkasa. Gambar dengan tulisan “Hasil” ini berputar-putar di kepala saya, bagaimana kejadiannya, apa lagi yang bisa dilakukan mesin ini, bisakah saya menulis sesuatu sendiri tanpa selembar kertas. Seribu pertanyaan yang menarik minat saya, membuat saya bersemangat dan menginspirasi saya pada saat yang bersamaan. Saya berumur 14 tahun. Hari itu profesi memilih saya.

Untuk dilanjutkan ...

Sumber: www.habr.com

Tambah komentar