Kariera programisty. Rozdział 1. Pierwszy program

Kariera programisty. Rozdział 1. Pierwszy programDrodzy czytelnicy Habr, przedstawiam Wam serię wpisów, które w przyszłości planuję połączyć w książkę. Chciałem zagłębić się w przeszłość i opowiedzieć swoją historię o tym, jak zostałem programistą i nadal nim jestem.

O przesłankach wejścia do IT, drodze prób i błędów, samokształceniu i dziecięcej naiwności. Zacznę moją historię od wczesnego dzieciństwa i zakończę ją dzisiaj. Mam nadzieję, że ta książka będzie szczególnie przydatna dla tych, którzy dopiero studiują na specjalność informatyczną.
A ci, którzy już pracują w IT, prawdopodobnie znajdą podobieństwa ze swoją własną ścieżką.

W tej książce znajdziesz odniesienia do przeczytanej przeze mnie literatury, doświadczeń komunikacji z ludźmi, z którymi spotkałem się podczas studiów, pracy i zakładania startupu.
Począwszy od nauczycieli akademickich, po dużych inwestorów typu venture i właścicieli wielomilionowych firm.
Na dzień dzisiejszy gotowe jest 3.5 rozdziału książki z możliwych 8-10. Jeżeli pierwsze rozdziały spotkają się z pozytywnym odzewem czytelników, opublikuję całą książkę.

O mnie

Nie jestem Johnem Carmackiem, Nikołajem Durowem czy Richardem Matthew Stallmanem. Nie pracowałem w takich firmach jak Yandex, VKontakte czy Mail.ru.
Choć miałem doświadczenie w pracy w dużej korporacji, o czym na pewno opowiem. Ale myślę, że nie tyle chodzi o wielkie nazwisko, ile o samą historię drogi do zostania programistą, a dalej o zwycięstwa i porażki, które wydarzyły się podczas mojej 12-letniej kariery w rozwoju komercyjnym. Oczywiście niektórzy z Was mają dużo większe doświadczenie w IT. Uważam jednak, że dramaty i zwycięstwa, które wydarzyły się w trakcie mojej obecnej kariery, są warte opisania. Wydarzeń było mnóstwo i wszystkie były różnorodne.

Kim jestem dzisiaj jako programista
— Brał udział w ponad 70 projektach komercyjnych, wiele z nich napisał od podstaw
— W kilkunastu własnych projektach: open source, startupy
— 12 lat w IT. 17 lat temu - napisał pierwszy program
- Najcenniejsza osoba Microsoftu 2016
— Certyfikowany specjalista Microsoft
— Certyfikowany Scrum Master
— Dobrze znam C#/C++/Java/Python/JS
— Wynagrodzenie — 6000-9000 $/miesiąc. w zależności od obciążenia
— Obecnie moim głównym miejscem pracy jest giełda niezależna Upwork. Dzięki temu pracuję dla firmy zajmującej się NLP/AI/ML. Posiada bazę 1 miliona użytkowników
— Wydano 3 aplikacje w AppStore i GooglePlay
— Przygotowuję się do założenia własnej firmy informatycznej wokół projektu, który obecnie rozwijam

Oprócz rozwoju zajmuję się pisaniem artykułów na popularne blogi, uczeniem nowych technologii i prelekcją na konferencjach. Relaksuję się w klubie fitness oraz z rodziną.

To chyba tyle, jeśli chodzi o tematykę książki. Następna jest moja historia.

Fabuła. Początek.

Po raz pierwszy dowiedziałem się, czym jest komputer, gdy miałem 7 lat. Właśnie zacząłem pierwszą klasę i na plastyce dostaliśmy zadanie domowe polegające na złożeniu komputera z kartonu, gumy piankowej i pisaków. Oczywiście pomogli mi rodzice. Mama studiowała na uniwersytecie technicznym na początku lat 80. i wiedziała z pierwszej ręki, czym jest komputer. W trakcie szkolenia udało jej się nawet dziurkować karty dziurkowane i załadować je do gigantycznej radzieckiej maszyny, która zajmowała lwią część sali szkoleniowej.

Odrobiliśmy pracę domową z oceną 5, ponieważ zrobiliśmy wszystko sumiennie. Znaleźliśmy gruby arkusz tektury formatu A4. Ze starych zabawek z gumy piankowej wycięto koła, a interfejs użytkownika narysowano pisakami. Nasze urządzenie miało tylko kilka przycisków, ale z mamą przypisaliśmy im niezbędną funkcjonalność, a na lekcji pokazałam nauczycielce, jak wciskając przycisk „Włącz”, w rogu „ekranu” zapala się żarówka, ”, jednocześnie rysując czerwone kółko pisakiem.

Moje następne spotkanie z technologią komputerową miało miejsce mniej więcej w tym samym wieku. W weekendy często odwiedzałem moich dziadków, którzy z kolei sprzedawali różne śmieci, a także chętnie je kupowali za grosze. Stare zegarki, samowary, bojlery, odznaki, miecze wojowników z XIII wieku i nie tylko. Wśród całej tej gamy rzeczy ktoś przyniósł mu komputer wyposażony w telewizor i nagrywarkę audio. Na szczęście moja babcia miała jedno i drugie. Oczywiście produkcji radzieckiej. TV Electron z ośmioma przyciskami do zmiany kanałów. I dwukasetowy magnetofon Vega, który potrafił nawet ponownie nagrywać taśmy audio.
Kariera programisty. Rozdział 1. Pierwszy program
Radziecki komputer „Poisk” i urządzenia peryferyjne: telewizor „Electron”, magnetofon „Vega” i kaseta audio z językiem BASIC

Zaczęliśmy się zastanawiać, jak działa cały ten system. Do komputera dołączono kilka kaset audio, bardzo zniszczoną instrukcję obsługi i kolejną broszurę zatytułowaną „BASIC Programming Language”. Pomimo dzieciństwa starałem się aktywnie uczestniczyć w procesie podłączania przewodów do magnetofonu i telewizora. Następnie włożyliśmy jedną z kaset do kieszeni magnetofonu, wcisnęliśmy przycisk „Dalej” (czyli rozpocznij odtwarzanie), a na ekranie telewizora pojawiła się niezrozumiała pseudografika tekstu i kresek.

Sama jednostka główna wyglądała jak maszyna do pisania, tylko była dość pożółkła i miała zauważalną wagę. Z podekscytowaniem dziecka nacisnąłem wszystkie klawisze, nie widząc żadnych wymiernych rezultatów, pobiegłem i poszedłem na spacer. Chociaż już wtedy miałem przed sobą podręcznik do języka BASIC z przykładami programów, których ze względu na mój wiek po prostu nie mogłem przepisać.

Ze wspomnień z dzieciństwa z pewnością pamiętam wszystkie gadżety, które kupili mi moi rodzice, ćwicząc z innymi krewnymi. Pierwszą grzechotką była dobrze znana gra „Wilk łapie jajka”. Skończyłem ją dość szybko, zobaczyłem na końcu długo wyczekiwaną kreskówkę i zapragnąłem czegoś więcej. Potem był Tetris. W tamtym czasie był wart 1,000,000 90 XNUMX kuponów. Tak, to było na Ukrainie na początku lat XNUMX. i dostałem milion za sukcesy w nauce. Zasłużenie czując się milionerem, zamówiłem dla moich rodziców tę bardziej złożoną grę, w której musieli poprawnie ułożyć spadające z góry figury o różnych kształtach. W dniu zakupu Tetris został mi w niekontrolowany sposób zabrany przez moich rodziców, którzy sami nie mogli się go pozbyć przez dwa dni.

Kariera programisty. Rozdział 1. Pierwszy program
Słynny „Wilk łapie jajka i Tetris”

Potem były konsole do gier. Nasza rodzina mieszkała w małym domku, w pokoju obok mieszkali także mój wujek i ciocia. Mój wujek był pilotem wojskowym, przechodził gorące punkty, więc pomimo swojej skromności był bardzo wytrwały i naprawdę niewiele się bał.
operacje wojskowe. Podobnie jak wiele osób w latach 90., mój wujek założył biznes i miał całkiem niezłe dochody. I tak w jego pokoju pojawił się importowany telewizor, magnetowid, a potem dekoder Subor (analogiczny do Dendy'ego). Zaparło mi dech w piersiach, gdy patrzyłem, jak gra w Super Mario, TopGun, Terminator i inne gry. A kiedy oddał mi joystick w ręce, moje szczęście nie miało granic.

Kariera programisty. Rozdział 1. Pierwszy program
Ośmiobitowa konsola „Syubor” i legendarny „Super Mario”

Tak, jak wszystkie zwykłe dzieci, które dorastały w latach dziewięćdziesiątych, całe dnie spędzałem na podwórku. Albo gra w pionierską piłkę, albo badmintona, albo wspina się na drzewa w ogrodzie, gdzie rośnie wiele różnych owoców.
Ale ten nowy produkt, w którym możesz sterować Mario, skakać przez przeszkody i ratować księżniczkę, był wielokrotnie bardziej interesujący niż jakikolwiek buff dla niewidomych, ladushka i klasyka. Dlatego też, widząc moje prawdziwe zainteresowanie przedrostkami, rodzice powierzyli mi zadanie nauczenia się tabliczki mnożenia. Wtedy spełnią moje marzenie. Uczą ją w drugiej klasie, a ja właśnie skończyłam pierwszą. Ale powiedziane i zrobione.

Nie można było sobie wyobrazić silniejszej motywacji niż posiadanie własnej konsoli do gier. I w ciągu tygodnia z łatwością odpowiadałem na pytania „siedem dziewięć”, „sześć trzy” i tym podobne. Test zdał egzamin i kupili mi upragniony prezent. Jak dowiesz się dalej, konsole i gry komputerowe odegrały znaczącą rolę w zainteresowaniu mnie programowaniem.

Tak to wyglądało rok po roku. Pojawiła się kolejna generacja konsol do gier. Najpierw Sega 16-bitowa, potem Panasonic, potem Sony PlayStation. Gry były moją rozrywką, kiedy byłem dobry. Kiedy był jakiś problem w szkole lub w domu, zabierali mi joysticki i oczywiście nie mogłem grać. I oczywiście uchwycenie chwili, gdy wróciłeś ze szkoły, a twój ojciec nie wrócił jeszcze z pracy, aby zająć się telewizorem, było również pewnego rodzaju szczęściem. Nie można więc powiedzieć, że byłem uzależniony od hazardu lub spędziłem cały dzień grając w gry. Nie było takiej możliwości. Wolałem cały dzień spędzić na podwórku, gdzie też mogłem coś znaleźć
ciekawy. Na przykład zupełnie dzika gra - strzelaniny powietrzne. Dziś czegoś takiego na podwórkach się nie zobaczy, ale wtedy to była prawdziwa wojna. Paintball to dziecinna zabawa w porównaniu z rzezią, którą spowodowaliśmy. Były balony powietrzne
załadowany gęstymi plastikowymi kulami. A postrzeliwszy innego gościa z bliskiej odległości, zostawił siniak na połowie ramienia lub brzucha. Tak żyliśmy.

Kariera programisty. Rozdział 1. Pierwszy program
Pistolet zabawkowy z dzieciństwa

Nie byłoby nie na miejscu wspomnieć o filmie „Hakerzy”. Został wydany dopiero w 1995 roku, z udziałem 20-letniej Angeliny Jolie. Powiedzieć, że film zrobił na mnie duże wrażenie, to jakby nic nie powiedzieć. W końcu myślenie dzieci postrzega wszystko na pierwszy rzut oka.
I to, jak ci goście słynnie sprzątali bankomaty, wyłączali sygnalizację świetlną i bawili się prądem w całym mieście – dla mnie to była magia. Wtedy przyszła mi do głowy myśl, że fajnie byłoby stać się tak wszechmocnym jak Hakerzy.
Kilka lat później kupowałem każdy numer magazynu Hacker i próbowałem zhakować Pentagon, choć nie miałem jeszcze Internetu.

Kariera programisty. Rozdział 1. Pierwszy program
Moi bohaterowie z filmu „Hakerzy”

Prawdziwym odkryciem był dla mnie prawdziwy PC, z 15-calowym monitorem lampowym i jednostką systemową opartą na procesorze Intel Pentium II. Kupił go oczywiście jego wujek, który pod koniec lat dziewięćdziesiątych wzniósł się na tyle, że było go na to stać
takie zabawki. Kiedy po raz pierwszy włączyli dla mnie grę, nie było to zbyt ekscytujące. Ale pewnego dnia nadszedł dzień sądu, gwiazdy się wyrównały i przyjechaliśmy odwiedzić wujka, którego nie było w domu. Zapytałam:
— Czy mogę włączyć komputer?
„Tak, rób z nim, co chcesz” – odpowiedziała kochająca ciotka.

Oczywiście zrobiłem z nim co chciałem. Na pulpicie systemu Windows 98 znajdowały się różne ikony. WinRar, Word, FAR, Klondike, gry. Po kliknięciu na wszystkie ikony moja uwaga skupiła się na FAR Managerze. Wygląda jak niezrozumiały niebieski ekran, ale z długą listą (plików), które można uruchomić. Klikając na każdy z nich po kolei, uchwyciłem efekt tego, co się działo. Niektóre zadziałały, niektóre nie. Po pewnym czasie zdałem sobie sprawę, że najciekawsze są pliki kończące się na „.exe”. Wyświetlają różne fajne zdjęcia, które możesz także kliknąć. Więc prawdopodobnie uruchomiłem wszystkie dostępne pliki exe na komputerze wujka, a potem ledwo wyciągnęli mnie za uszy z super ciekawej zabawki i zabrali do domu.

Kariera programisty. Rozdział 1. Pierwszy program
Ten sam menadżer FAR

Potem były kluby komputerowe. Mój przyjaciel i ja często tam chodziliśmy, aby grać w Counter Strike i Quake online, czego nie mogliśmy zrobić w domu. Często prosiłem rodziców o drobne, abym mógł pobawić się w klubie przez pół godziny. Widząc moje oczy, niczym kot ze Shreka, zaproponowali mi kolejny lukratywny kontrakt. Kończę rok szkolny bez ocen C, a oni kupują mi komputer. Umowa została podpisana na początku roku, we wrześniu, a upragniony pecet miał dotrzeć już w czerwcu, pod warunkiem dotrzymania umów.
Robiłem co w mojej mocy. Sprzedałem nawet moją ukochaną konsolę Sony Playstation ze względów emocjonalnych, aby mniej odwracać uwagę od studiów. Choć byłam przeciętną uczennicą, to 9. klasa była dla mnie znacząca. Cholera, musiałem po prostu mieć dobre oceny.

Już wiosną, w oczekiwaniu na zakup komputera PC, wydarzyło się prawdopodobnie najważniejsze wydarzenie w moim życiu. Próbuję myśleć przyszłościowo i pewnego pięknego dnia powiedziałem ojcu:
- Tato, nie umiem korzystać z komputera. Zapiszmy się na kursy

Nie wcześniej powiedziane, niż zrobione. Otworzywszy gazetę z ogłoszeniami, ojciec znalazł blok napisany drobnym drukiem z nagłówkiem „Kursy komputerowe”. Zadzwoniłem do nauczycieli i kilka dni później byłem już na tych kursach. Kursy odbywały się po drugiej stronie miasta, w starym panelowym budynku Chruszczowa, na trzecim piętrze. W jednym pokoju stały trzy komputery w rzędzie i ci, którzy chcieli się uczyć, byli na nich faktycznie szkoleni.

Pamiętam moją pierwszą lekcję. Ładowanie systemu Windows 98 trwało długo, po czym głos zabrał nauczyciel:
- Więc. Przed tobą jest pulpit systemu Windows. Zawiera ikony programów. Na dole znajduje się przycisk Start. Pamiętać! Cała praca rozpoczyna się od przycisku Start. Kliknij go lewym przyciskiem myszy.
On kontynuował.
- Tutaj - widzisz zainstalowane programy. Kalkulator, Notatnik, Word, Excel. Możesz także wyłączyć komputer, klikając przycisk „Zamknij”. Spróbuj.
W końcu przeszedł do najtrudniejszej dla mnie wówczas części.
„Na pulpicie” – powiedział nauczyciel – widać także programy, które można uruchomić podwójnym kliknięciem.
- Podwójne!? - Jak to jest ogólnie?
- Spróbujmy. Uruchom Notatnik, klikając go dwukrotnie lewym przyciskiem myszy.

Tak, schaass. Najtrudniej było w tym momencie przytrzymać myszkę w jednym miejscu i jednocześnie szybko kliknąć dwa razy. Przy drugim kliknięciu mysz lekko drgnęła, a skrót wraz z nią. Ale mimo to podczas lekcji udało mi się pokonać tak nie do pokonania zadanie.
Następnie odbyło się szkolenie z Worda i Excela. Któregoś dnia po prostu pozwolili mi obejrzeć zdjęcia zabytków przyrody i architektury. To była najciekawsza aktywność, jaką zapamiętałem. Dużo więcej zabawy niż nauka formatowania tekstu w programie Word.

Obok mojego komputera uczyli się inni studenci. Kilka razy spotkałem facetów, którzy pisali programy, gorąco dyskutując o tym procesie. To też mnie zainteresowało. Wspominając film Hakerzy i będąc zmęczonym MS Office, poprosiłem o przeniesienie na kursy
programowanie. Jak wszystkie ważne wydarzenia w życiu, to wydarzyło się spontanicznie, z zainteresowania.

Na pierwszą lekcję programowania przyszedłem z mamą. Nie pamiętam dlaczego. Najwyraźniej musiała negocjować nowe kursy i dokonać płatności. Za oknem była wiosna, było już ciemno. Przejechaliśmy całe miasto minibusem-Gazelą na obrzeża, dotarliśmy do osławionych
panel Chruszczow, zszedł na piętro i wpuścił nas.
Posadzili mnie przy komputerze końcowym i otworzyli program z całkowicie niebieskim ekranem i żółtymi literami.
- To jest Turbo Pascal. Nauczyciel skomentował jego zachowanie.
- Słuchaj, tutaj napisałem dokumentację jak to działa. Przeczytaj i spójrz.
Przede mną było płótno z żółtym, absolutnie niezrozumiałym tekstem. Próbowałem dowiedzieć się czegoś dla siebie, ale nie udało mi się. Gramatyka chińska i tyle.
Wreszcie po pewnym czasie prowadzący kurs wręczył mi wydrukowaną kartkę papieru formatu A4. Napisano na nim jakąś dziwną rzecz, którą wcześniej dostrzegłem na monitorach chłopaków z kursów programowania.
- Przepisz to, co tu jest napisane. Nauczyciel wydał polecenie i wyszedł.
Zacząłem pisać:
program Suma;

Pisałem, jednocześnie szukając na klawiaturze angielskich liter. W programie Word przynajmniej uczyłem się języka rosyjskiego, ale tutaj muszę nauczyć się innych liter. Program pisano jednym palcem, ale bardzo ostrożnie.
początek, koniec, zmienna, liczba całkowita - Co to jest? Choć angielskiego uczyłam się od pierwszej klasy i znałam znaczenie wielu słów, nie potrafiłam tego wszystkiego połączyć w jedną całość. Jak tresowany niedźwiedź na rowerze pedałowałem dalej. Wreszcie coś znajomego:
writeln('Podaj pierwszą liczbę');
Następnie - writeln('Podaj drugą liczbę');
Następnie - writeln('Wynik = ',c);
Kariera programisty. Rozdział 1. Pierwszy program
To pierwszy program Turbo Pascal

Uff, napisałam. Oderwałem ręce od klawiatury i czekałem, aż pojawi się guru z dalszymi instrukcjami. W końcu podszedł, zeskanował ekran i kazał mi nacisnąć klawisz F9.
„Teraz program jest kompilowany i sprawdzany pod kątem błędów” – powiedział guru
Nie było żadnych błędów. Następnie kazał nacisnąć Ctrl+F9, co też musiałem po raz pierwszy wyjaśnić krok po kroku. Musisz przytrzymać Ctrl, a następnie nacisnąć F9. Ekran zrobił się czarny i w końcu pojawił się na nim komunikat, który zrozumiałem: „Wprowadź pierwszą cyfrę”.
Na polecenie nauczyciela wpisałem 7. Następnie drugą cyfrę. Wpisuję 3 i naciskam Enter.

Linia „Wynik = 10” pojawia się na ekranie błyskawicznie. To była euforia, nigdy w życiu nie doświadczyłem czegoś podobnego. To było tak, jakby otworzył się przede mną cały Wszechświat i znalazłem się w jakimś portalu. Ciepło przeszło przez moje ciało, na twarzy pojawił się uśmiech i gdzieś bardzo głęboko w podświadomości zdałam sobie sprawę – że to jest moje. Bardzo intuicyjnie, na poziomie emocjonalnym, zacząłem wyczuwać ogromny potencjał drzemiący w tym brzęczącym pudełku pod stołem. Jest tak wiele rzeczy, które możesz zrobić własnymi rękami, a ona to zrobi!
Że to jest jakiś rodzaj magii. Zupełnie nie mieściło mi się w głowie, jak ten żółty, niezrozumiały tekst na niebieskim ekranie zamienił się w wygodny i zrozumiały program. Co też się liczy! Zaskoczyło mnie nie samo obliczenie, ale fakt, że pisane hieroglify zamieniły się w kalkulator. W tamtym czasie istniała rozbieżność między tymi dwoma wydarzeniami. Ale intuicyjnie czułem, że ten sprzęt może zrobić prawie wszystko.

Niemal przez całą drogę minibusem do domu czułem się, jakbym był w kosmosie. W głowie kręcił mi się ten obrazek z napisem „Rezultat”, jak to się stało, co jeszcze potrafi ta maszyna, czy mogę sam coś napisać bez kartki papieru. Tysiąc pytań, które mnie zainteresowały, podekscytowały i zainspirowały jednocześnie. Miałem 14 lat. Tego dnia zawód wybrał mnie.

To be continued ...

Źródło: www.habr.com

Dodaj komentarz