Programlama kariyeri. Bölüm 1. İlk program

Programlama kariyeri. Bölüm 1. İlk programSevgili Habr okuyucuları, gelecekte bir kitapta birleştirmeyi planladığım bir dizi yazıyı dikkatinize sunuyorum. Geçmişe dalıp nasıl geliştirici olduğum ve geliştirici olmaya devam ettiğime dair hikayemi anlatmak istedim.

BT'ye girmenin ön koşulları, deneme yanılma yolu, kendi kendine öğrenme ve çocukça saflık hakkında. Hikayeme erken çocukluktan başlayıp bugünle bitireceğim. Bu kitabın özellikle BT uzmanlığı için eğitim görenler için yararlı olacağını umuyorum.
Zaten BT'de çalışanlar da muhtemelen kendi yollarıyla paralellikler kuracaklardır.

Bu kitapta okuduğum literatüre referansları, okurken, çalışırken ve startup kurarken yolumun kesiştiği insanlarla iletişim kurma deneyimimi bulacaksınız.
Üniversite öğretmenlerinden büyük girişim yatırımcılarına ve multi-milyon dolarlık şirketlerin sahiplerine kadar.
Bugün itibariyle kitabın 3.5-8 bölümünden 10 bölümü hazır. İlk bölümler okuyuculardan olumlu tepki alırsa kitabın tamamını yayınlayacağım.

Hakkımda

Ben John Carmack, Nikolai Durov ya da Richard Matthew Stallman değilim. Yandex, VKontakte veya Mail.ru gibi şirketlerde çalışmadım.
Büyük bir şirkette çalışma deneyimim olmasına rağmen size kesinlikle anlatacağım. Ancak bence önemli olan büyük isim değil, geliştirici olma yolunun tarihi ve ayrıca ticari gelişim alanındaki 12 yıllık kariyerim boyunca elde ettiğim zaferler ve yenilgiler. Elbette bazılarınızın BT konusunda çok daha fazla deneyimi var. Ancak mevcut kariyerim boyunca meydana gelen dramların ve zaferlerin anlatılmaya değer olduğuna inanıyorum. Pek çok etkinlik vardı ve hepsi çok çeşitliydi.

Bugün geliştirici olarak kimim?
— Birçoğunu sıfırdan yazdığı 70'den fazla ticari projeye katıldı
— Bir düzine kendi projemizde: açık kaynak, startuplar
— BT'de 12 yıl. 17 yıl önce ilk programı yazdı
- Microsoft'un En Değerli Kişisi 2016
— Microsoft Sertifikalı Profesyonel
— Sertifikalı Scrum Master
— İyi derecede C#/C++/Java/Python/JS bilgisine sahibim
— Maaş — 6000-9000 $/ay. yüke bağlı olarak
— Bugün ana çalışma yerim serbest çalışan borsa Upwork'tür. Bu sayede NLP/AI/ML ile ilgilenen bir şirkette çalışıyorum. 1 milyon kullanıcı tabanına sahip
— AppStore ve GooglePlay'de 3 uygulama yayınlandı
— Şu anda geliştirmekte olduğum proje etrafında kendi BT şirketimi kurmaya hazırlanıyorum

Geliştirmenin yanı sıra popüler bloglar için makaleler yazıyorum, yeni teknolojiler öğretiyorum ve konferanslarda konuşuyorum. Fitness kulübünde ve ailemle rahatlıyorum.

Kitabın teması söz konusu olduğunda muhtemelen benimle ilgili olan budur. Sırada benim hikayem var.

Hikaye. Başlangıç.

Bilgisayarın ne olduğunu ilk kez 7 yaşımdayken öğrendim. Birinci sınıfa yeni başladım ve resim dersinde bize karton, köpük kauçuk ve keçeli kalemlerden bir bilgisayar yapma ödevi verildi. Tabii ki ailem bana yardımcı oldu. Annem 80'lerin başında bir teknik üniversitede okudu ve bilgisayarın ne olduğunu ilk elden biliyordu. Eğitim sırasında delikli kartları delmeyi ve bunları eğitim odasında aslan payını işgal eden dev Sovyet makinesine yüklemeyi bile başardı.

Her şeyi özenle yaptığımız için ödevimizi 5. notla tamamladık. Kalın bir A4 karton bulduk. Eski oyuncaklardan köpük kauçuktan daireler kesildi ve kullanıcı arayüzü keçeli kalemlerle çizildi. Cihazımızda yalnızca birkaç düğme vardı, ancak annem ve ben onlara gerekli işlevleri atadık ve ders sırasında öğretmene "Açık" düğmesine basıldığında ekranın köşesinde bir ampulün nasıl yanacağını gösterdim, ” aynı anda keçeli kalemle kırmızı bir daire çizerken.

Bilgisayar teknolojisiyle bir sonraki karşılaşmam aynı yaşlarda oldu. Hafta sonları sık sık büyükannem ve büyükbabamı ziyaret ederdim, onlar da sırayla çeşitli hurdalar satarlardı ve aynı zamanda isteyerek bir kuruş karşılığında satın alırlar. 13. yüzyıl savaşçılarına ait eski saatler, semaverler, kazanlar, rozetler, kılıçlar ve daha fazlası. Bütün bu şeylerin arasında birisi ona televizyonla çalışan bir bilgisayar ve ses kaydedici getirdi. Neyse ki büyükannemde her ikisi de vardı. Elbette Sovyet yapımı. Kanalları değiştirmek için sekiz düğmeli TV Electron. Ve ses bantlarını bile yeniden kaydedebilen bir Vega iki kasetli kayıt cihazı.
Programlama kariyeri. Bölüm 1. İlk program
Sovyet bilgisayarı “Poisk” ve çevre birimleri: TV “Electron”, kayıt cihazı “Vega” ve BASIC dilli ses kaseti

Bütün bu sistemin nasıl çalıştığını anlamaya başladık. Bilgisayarla birlikte birkaç ses kaseti, çok yıpranmış bir kullanım kılavuzu ve "TEMEL Programlama Dili" başlıklı başka bir broşür de vardı. Çocukluğuma rağmen kabloları kayıt cihazına ve televizyona bağlama sürecine aktif olarak katılmaya çalıştım. Daha sonra kasetlerden birini kayıt cihazı bölmesine yerleştirdik, "İleri" düğmesine bastık (yani oynatmayı başlattık) ve TV ekranında anlaşılmaz bir sözde metin ve çizgi grafiği belirdi.

Ana ünitenin kendisi bir daktiloya benziyordu, sadece oldukça sararmış ve gözle görülür bir ağırlığa sahipti. Bir çocuk heyecanıyla tüm tuşlara bastım, elle tutulur bir sonuç göremeyince koşup yürüyüşe çıktım. O zaman bile önümde, yaşım nedeniyle yeniden yazamadığım program örneklerini içeren BASIC dili üzerine bir kılavuz vardı.

Çocukluk anılarımdan, diğer akrabalarımla birlikte çalışarak ailemin benim için satın aldığı tüm aletleri kesinlikle hatırlıyorum. İlk çıngırak, ünlü “Kurt Yumurtaları Yakalar” oyunuydu. Oldukça çabuk bitirdim, sonunda uzun zamandır beklediğim çizgi filmi gördüm ve daha fazlasını istedim. Sonra Tetris vardı. O zamanlar 1,000,000 kupon değerindeydi. Evet, 90'ların başında Ukrayna'daydı ve akademik başarım için bana bir milyon verildi. Haklı olarak bir milyoner gibi hissederek, ebeveynlerim için yukarıdan düşen farklı şekillerdeki figürleri doğru bir şekilde düzenlemeleri gereken bu daha karmaşık oyunu sipariş ettim. Satın aldığım gün Tetris, iki gün boyunca ondan kurtulamayan ailem tarafından kontrolsüz bir şekilde benden alındı.

Programlama kariyeri. Bölüm 1. İlk program
Ünlü "Kurt Yumurtaları ve Tetrisi Yakalar"

Daha sonra oyun konsolları ortaya çıktı. Ailemiz küçük bir evde yaşıyordu, yan odada amcam ve teyzem de yaşıyordu. Amcam askeri pilottu, sıcak noktalardan geçti, bu yüzden alçakgönüllülüğüne rağmen çok azimliydi ve çok az şeyden korkuyordu, aslında
askeri operasyonlar. 90'lı yıllarda pek çok insan gibi amcam da iş hayatına atıldı ve oldukça iyi bir gelir elde etti. Böylece odasında ithal bir TV, bir VCR ve ardından bir Subor set üstü kutusu (Dendy'ye benzer) belirdi. Onu Super Mario, TopGun, Terminator ve diğer oyunları oynarken izlemek nefesimi kesti. Joystick'i elime verdiğinde mutluluğum sınır tanımadı.

Programlama kariyeri. Bölüm 1. İlk program
Sekiz bitlik konsol "Syubor" ve efsanevi "Süper Mario"

Evet, doksanlarda büyüyen tüm sıradan çocuklar gibi ben de bütün günümü bahçede geçirdim. Ya öncü top oynuyor, ya badminton oynuyor, ya da pek çok farklı meyvenin yetiştiği bahçede ağaçlara tırmanıyordum.
Ancak Mario'yu kontrol edebildiğiniz, engellerin üzerinden atlayabildiğiniz ve prensesi kurtarabildiğiniz bu yeni ürün, herhangi bir kör adamın buff'ından, ladushka'sından ve klasiklerinden kat kat daha ilgi çekiciydi. Bu nedenle öneklere olan gerçek ilgimi gören ailem bana çarpım tablosunu öğrenme görevini verdi. O zaman hayalimi gerçekleştirecekler. Ona ikinci sınıfta ders veriyorlar, ben de ilkini yeni bitirdim. Ama söylendi ve yapıldı.

Kendi oyun konsolunuza sahip olmaktan daha güçlü bir motivasyon düşünmek imkansızdı. Ve bir hafta içinde “yedi dokuz”, “altı üç” ve benzeri soruları rahatlıkla cevaplamaya başladım. Testi geçtim ve bana imrenilen hediyeyi aldılar. Daha sonra öğreneceğiniz gibi, programlamaya ilgi duymamda konsollar ve bilgisayar oyunları önemli bir rol oynadı.

Yıllar geçtikçe bu böyle devam etti. Yeni nesil oyun konsolları çıkıyordu. Önce Sega 16-bit, ardından Panasonic, ardından Sony PlayStation. İyi olduğum zamanlarda oyunlar benim eğlencemdi. Okulda ya da evde bir sorun olduğunda joysticklerimi aldılar ve tabii ki oynayamadım. Ve elbette, okuldan döndüğünüz ve babanızın henüz işten dönmediği ve televizyon başında oturmadığı anı yakalamak da bir tür şanstı. Yani kumar bağımlısı olduğumu ya da tüm günümü oyun oynayarak geçirdiğimi söylemek mümkün değil. Böyle bir fırsat yoktu. Bütün günü bahçede geçirmeyi tercih ettim, orada da bir şeyler bulabilirdim.
ilginç. Örneğin, tamamen çılgın bir oyun - hava atışları. Bugünlerde avlularda böyle bir şey göremezsiniz ama o zamanlar gerçek bir savaştı. Paintball, sebep olduğumuz katliamın yanında çocuk oyuncağı. Hava balonları vardı
yoğun plastik mermilerle dolu. Ve başka bir adamı yakın mesafeden vurduğunda kolunun veya karnının yarısında bir morluk bıraktı. Biz böyle yaşadık.

Programlama kariyeri. Bölüm 1. İlk program
Çocukluğumdan kalma oyuncak tabanca

“Hackerlar” filminden bahsetmek yanlış olmaz. 1995 yaşındaki Angelina Jolie'nin başrol oynadığı film 20 yılında piyasaya sürüldü. Filmin üzerimde güçlü bir etki bıraktığını söylemek hiçbir şey söylememek demektir. Sonuçta, çocukların düşüncesi her şeyi olduğu gibi algılar.
Ve bu adamların ATM'leri temizlemesi, trafik ışıklarını kapatması ve şehrin her yerinde elektrikle oynaması benim için bir mucizeydi. Sonra aklıma Hackerlar kadar her şeye kadir olmanın harika olacağı düşüncesi geldi.
Birkaç yıl sonra Hacker dergisinin her sayısını satın aldım ve henüz internetim olmamasına rağmen Pentagon'u hacklemeye çalıştım.

Programlama kariyeri. Bölüm 1. İlk program
"Hackerlar" filmindeki kahramanlarım

Benim için gerçek keşif, 15 inç lambalı monitöre ve Intel Pentium II işlemciye dayalı bir sistem birimine sahip gerçek bir bilgisayardı. Tabii ki, doksanların sonunda bu parayı karşılayabilecek kadar yükselen amcası tarafından satın alınmıştı.
böyle oyuncaklar. Benim için ilk kez bir oyun açtıklarında pek heyecan verici değildi. Ama bir gün kıyamet günü geldi, yıldızlar hizalandı ve evde olmayan amcamızı ziyarete geldik. Diye sordum:
— Bilgisayarı açabilir miyim?
Sevgi dolu teyze, "Evet, ona ne istersen onu yap" diye yanıtladı.

Elbette onunla istediğimi yaptım. Windows 98 masaüstünde farklı simgeler vardı. WinRar, Word, FAR, Klondike, oyunlar. Tüm simgelere tıkladıktan sonra dikkatim FAR Manager'a odaklandı. Anlaşılmaz bir mavi ekrana benziyor, ancak başlatılabilecek uzun bir dosya listesi (dosyalar) var. Her birine sırayla tıklayarak olup bitenin etkisini yakaladım. Bazıları işe yaradı, bazıları yaramadı. Bir süre sonra “.exe” ile biten dosyaların en ilgi çekici olduğunu fark ettim. Tıklayabileceğiniz farklı harika resimler de yayınlıyorlar. Bu yüzden muhtemelen amcamın bilgisayarındaki mevcut tüm exe dosyalarını başlattım ve sonra beni son derece ilginç oyuncaktan zar zor kulaklarımdan çekip eve götürdüler.

Programlama kariyeri. Bölüm 1. İlk program
Aynı FAR Yöneticisi

Daha sonra bilgisayar kulüpleri vardı. Arkadaşım ve ben evde yapamadığımız Counter Strike ve Quake'i çevrimiçi oynamak için sık sık oraya giderdik. Kulüpte yarım saat oynayabilmek için sık sık ailemden para üstü istedim. Gözlerimi Shrek'teki kedi gibi görünce bana başka bir kazançlı sözleşme teklif ettiler. Okulu C notu almadan bitiriyorum ve bana bilgisayar alıyorlar. Sözleşme yılın başında, Eylül ayında imzalandı ve imrenilen PC'nin, anlaşmalara uyulması şartıyla Haziran gibi erken bir tarihte gelmesi gerekiyordu.
Elimden gelenin en iyisini yapmaya çalıştım. Hatta çalışmalarımdan daha az uzaklaşmak için sevgili Sony Playstation'ımı bile duygudan dolayı sattım. Her ne kadar öyle bir öğrenci olsam da 9. sınıf benim için önemliydi. Lanet olsun, iyi notlar almam gerekiyordu.

Zaten baharda, bir PC satın almayı öngörerek muhtemelen hayatımdaki en önemli olay gerçekleşti. İleriyi düşünmeye çalışıyorum ve güzel bir gün babama şöyle dedim:
- Baba, bilgisayar kullanmayı bilmiyorum. Kurslara kayıt olalım

Daha erken olmaz dedi ve bitirdi. İlanların olduğu gazeteyi açan baba, küçük harflerle şu başlığın yazılı olduğu bir blok buldu: "Bilgisayar kursları". Öğretmenleri aradım ve birkaç gün sonra zaten bu kurslara katıldım. Kurslar şehrin diğer tarafında, üçüncü kattaki eski bir Kruşçev binasının panelinde gerçekleşti. Bir odada arka arkaya üç bilgisayar vardı ve çalışmak isteyenler aslında bunlar üzerinde eğitim alıyordu.

İlk dersimi hatırlıyorum. Windows 98'in yüklenmesi uzun sürdü, ardından öğretmen söz aldı:
- Bu yüzden. Önünüzde bir Windows masaüstü var. Program simgelerini içerir. Altta Başlat düğmesi bulunur. Hatırlamak! Tüm çalışmalar Başlat düğmesiyle başlar. Farenin sol tuşuyla tıklayın.
O devam etti.
- Burada - yüklü programları görüyorsunuz. Hesap Makinesi, Not Defteri, Word, Excel. Ayrıca “Kapat” butonuna tıklayarak bilgisayarınızı kapatabilirsiniz. Dene.
Sonunda o zamanlar benim için daha zor olan kısma geçti.
Öğretmen "Masaüstünde" dedi, çift tıklayarak başlatılabilen programları da görebilirsiniz.
- Çift!? - Genel olarak bu nasıl?
- Hadi deneyelim. Sol fare tuşuyla üzerine çift tıklayarak Not Defteri'ni başlatın.

Evet, schaass. O anda en zor şey fareyi tek bir yerde tutmak ve aynı zamanda hızlıca iki kez tıklamaktı. İkinci tıklamada fare biraz seğirdi ve kısayol da onunla birlikte hareket etti. Ama yine de ders sırasında böylesine aşılmaz bir görevin üstesinden gelmeyi başardım.
Daha sonra Word ve Excel eğitimi verildi. Bir gün doğa resimlerine ve mimari anıtlara bakmama izin verdiler. Hafızamdaki en ilginç aktiviteydi. Word'de metnin nasıl biçimlendirileceğini öğrenmekten çok daha eğlenceli.

Bilgisayarımın yanında diğer öğrenciler ders çalışıyorlardı. Birkaç kez bu süreci hararetle tartışırken program yazan adamlarla karşılaştım. Bu benim de ilgimi çekti. Hackerlar filmini hatırladığım ve MS Office'ten sıkıldığım için kurslara geçiş talebinde bulundum
programlama. Hayattaki tüm önemli olaylar gibi bu da kendiliğinden, ilgisizce gerçekleşti.

Annemle ilk programlama dersime geldim. Nedenini hatırlamıyorum. Görünüşe göre yeni kurslar için pazarlık yapması ve ödeme yapması gerekiyordu. Dışarıda bahardı, hava çoktan kararmıştı. Tüm şehri minibüs-Gazelle ile kenar mahallelere kadar dolaştık, meşhurlara ulaştık.
Panel Kruşçev, yere çıktı ve bizi içeri aldı.
Beni son bilgisayarın başına oturttular ve tamamen mavi ekranlı, sarı harflerle dolu bir program açtılar.
- Burası Turbo Pascal. Öğretmen onun eylemi hakkında yorum yaptı.
- Bakın, burada nasıl çalıştığına dair belgeler yazdım. Okuyun ve bir göz atın.
Önümde sarı, kesinlikle anlaşılmaz bir metinden oluşan bir tuval vardı. Kendim için bir şeyler bulmaya çalıştım ama başaramadım. Çince dilbilgisi ve hepsi bu.
Nihayet bir süre sonra kurs lideri bana basılı bir A4 kağıdı verdi. Üzerinde daha önce programlama kurslarındaki adamların monitörlerinde gördüğüm tuhaf bir şey yazıyordu.
- Burada yazılanları yeniden yazın. Öğretmen emretti ve gitti.
Yazmaya başladım:
Summa programı;

Aynı anda klavyede İngilizce harfleri arayarak yazdım. Word'de en azından Rusça eğitimi aldım ama burada başka harfleri de öğrenmem gerekiyor. Program tek parmakla ama çok dikkatli bir şekilde yazıldı.
başlangıç, bitiş, var, tamsayı - Bu nedir? Birinci sınıftan itibaren İngilizce çalışmama ve birçok kelimenin anlamını bilmeme rağmen hepsini birbirine bağlayamıyordum. Bisiklete binen eğitimli bir ayı gibi pedal çevirmeye devam ettim. Sonunda tanıdık bir şey:
writeln('İlk sayıyı girin');
Daha sonra - writeln('İkinci sayıyı girin');
Daha sonra - writeln('Sonuç = ',c);
Programlama kariyeri. Bölüm 1. İlk program
O ilk Turbo Pascal programı

Vay be yazdım. Ellerimi klavyeden çektim ve gurunun daha fazla talimat için görünmesini bekledim. Sonunda yanıma geldi, ekranı taradı ve F9 tuşuna basmamı söyledi.
Guru, "Artık program derlendi ve hatalara karşı kontrol edildi" dedi
Hiçbir hata yoktu. Sonra Ctrl+F9'a basın dedi, bunu da ilk defa adım adım anlatmak zorunda kaldım. Yapmanız gereken Ctrl tuşunu basılı tutup F9 tuşuna basmak. Ekran karardı ve sonunda anladığım bir mesaj belirdi: "İlk sayıyı girin."
Öğretmenin talimatıyla 7'yi girdim. Sonra ikinci rakamı girdim. 3'ü girip Enter'a basıyorum.

Ekranda ışık hızıyla 'Sonuç = 10' satırı beliriyor. Bu çok büyük bir mutluluktu ve hayatımda daha önce hiç böyle bir şey yaşamamıştım. Sanki tüm Evren önümde açıldı ve kendimi bir tür portalda buldum. Vücudumdan sıcaklık geçti, yüzümde bir gülümseme belirdi ve bilinçaltımın çok derinlerinde bir yerde şunu fark ettim: bunun benim olduğunu. Sezgisel olarak, duygusal düzeyde, masanın altındaki bu uğultulu kutudaki muazzam potansiyeli hissetmeye başladım. Kendi ellerinizle yapabileceğiniz pek çok şey var ve o bunu yapacak!
Bunun bir tür sihir olduğunu. Mavi ekrandaki o sarı, anlaşılmaz yazının nasıl kullanışlı ve anlaşılır bir programa dönüştüğü aklımın ucundan bile geçmiyordu. Bu da kendini sayar! Beni şaşırtan hesaplamanın kendisi değil, yazılı hiyerogliflerin hesap makinesine dönüşmesiydi. O dönemde bu iki olay arasında bir uçurum vardı. Ancak sezgisel olarak bu donanımın neredeyse her şeyi yapabileceğini hissettim.

Minibüste eve giden yol boyunca neredeyse kendimi uzayda gibi hissettim. “Sonuç” yazan bu resim kafamda dönüyordu, nasıl oldu, bu makine başka ne yapabilir, kağıt olmadan kendim bir şeyler yazabilir miyim? İlgimi çeken, heyecanlandıran ve aynı zamanda ilham veren binlerce soru. 14 yaşındaydım. O gün meslek beni seçti.

Devam edecek ...

Kaynak: habr.com

Yorum ekle