Programmierkarriere. Kapitel 1. Erstes Programm

Programmierkarriere. Kapitel 1. Erstes ProgrammLiebe Habr-Leser, ich präsentiere Ihnen eine Reihe von Beiträgen, die ich in Zukunft in einem Buch zusammenfassen möchte. Ich wollte in die Vergangenheit eintauchen und meine Geschichte erzählen, wie ich Entwickler wurde und weiterhin einer bin.

Über die Voraussetzungen für den Einstieg in die IT, den Weg von Versuch und Irrtum, Selbstlernen und kindlicher Naivität. Ich werde meine Geschichte in der frühen Kindheit beginnen und sie heute beenden. Ich hoffe, dass dieses Buch besonders für diejenigen nützlich sein wird, die gerade eine IT-Fachrichtung studieren.
Und wer bereits in der IT tätig ist, wird wahrscheinlich Parallelen zu seinem eigenen Weg ziehen.

In diesem Buch finden Sie Verweise auf die Literatur, die ich gelesen habe, auf die Erfahrung der Kommunikation mit Menschen, mit denen ich während meines Studiums, meiner Arbeit und der Gründung eines Startups zusammentraf.
Angefangen von Universitätsprofessoren bis hin zu großen Risikoinvestoren und Eigentümern von Unternehmen mit mehreren Millionen Dollar.
Bis heute sind 3.5 von möglichen 8-10 Kapiteln des Buches fertig. Wenn die ersten Kapitel eine positive Resonanz beim Publikum finden, werde ich das gesamte Buch veröffentlichen.

Über mich

Ich bin nicht John Carmack, Nikolai Durov oder Richard Matthew Stallman. Ich habe nicht bei Unternehmen wie Yandex, VKontakte oder Mail.ru gearbeitet.
Obwohl ich Erfahrung in einem großen Konzern hatte, werde ich Ihnen auf jeden Fall davon erzählen. Aber ich denke, es geht nicht so sehr um den großen Namen, sondern um die Geschichte des Weges zum Entwickler und darüber hinaus um die Siege und Niederlagen, die ich während meiner 12-jährigen Karriere in der kommerziellen Entwicklung errungen habe. Natürlich haben einige von Ihnen viel mehr Erfahrung in der IT. Aber ich glaube, dass die Dramen und Siege, die sich in meiner aktuellen Karriere ereignet haben, es wert sind, beschrieben zu werden. Es gab viele Veranstaltungen und sie waren alle unterschiedlich.

Wer bin ich heute als Entwickler?
— Beteiligte sich an mehr als 70 kommerziellen Projekten, von denen er viele von Grund auf neu schrieb
— In einem Dutzend unserer eigenen Projekte: Open Source, Startups
— 12 Jahre in der IT. Vor 17 Jahren - schrieb das erste Programm
- Microsofts wertvollste Person 2016
– Microsoft Certified Professional
— Zertifizierter Scrum Master
— Ich beherrsche C#/C++/Java/Python/JS gut
— Gehalt — 6000-9000 $/Monat. je nach Belastung
— Mein Hauptarbeitsplatz ist heute die Freelance-Börse Upwork. Dadurch arbeite ich für ein Unternehmen, das sich mit NLP/AI/ML beschäftigt. Hat eine Basis von 1 Million Benutzern
– 3 Anwendungen im AppStore und bei GooglePlay veröffentlicht
— Ich bereite die Gründung meines eigenen IT-Unternehmens rund um das Projekt vor, das ich gerade entwickle

Neben der Entwicklung schreibe ich Artikel für beliebte Blogs, unterrichte neue Technologien und halte Vorträge auf Konferenzen. Ich entspanne im Fitnessclub und mit meiner Familie.

Was das Thema des Buches angeht, geht es hier wahrscheinlich nur um mich. Als nächstes kommt meine Geschichte.

Geschichte. Start.

Was ein Computer ist, habe ich zum ersten Mal gelernt, als ich 7 Jahre alt war. Ich bin gerade mit der ersten Klasse angefangen und im Kunstunterricht bekamen wir die Hausaufgabe, aus Pappe, Schaumgummi und Filzstiften einen Computer zu bauen. Natürlich haben mir meine Eltern geholfen. Mama studierte Anfang der 80er Jahre an einer technischen Universität und wusste aus erster Hand, was ein Computer ist. Während des Trainings gelang es ihr sogar, Lochkarten zu lochen und sie in die riesige sowjetische Maschine zu laden, die den Löwenanteil des Trainingsraums einnahm.

Wir haben unsere Hausaufgaben mit der Note 5 abgeschlossen, weil wir alles gewissenhaft gemacht haben. Wir fanden ein dickes Blatt A4-Karton. Wir haben Kreise aus altem Spielzeug aus Schaumstoff ausgeschnitten und mit Filzstiften die Benutzeroberfläche gezeichnet. Unser Gerät hatte nur wenige Tasten, aber meine Mutter und ich haben ihnen die nötige Funktionalität zugewiesen, und während des Unterrichts habe ich dem Lehrer gezeigt, wie durch Drücken der „Ein“-Taste eine Glühbirne in der Ecke des „Bildschirms“ aufleuchtet. “ und gleichzeitig mit einem Filzstift einen roten Kreis zeichnen.

Meine nächste Begegnung mit Computertechnologie fand ungefähr im gleichen Alter statt. Am Wochenende besuchte ich oft meine Großeltern, die ihrerseits diversen Schrott verkauften und ihn auch gerne für ein paar Cent kauften. Alte Uhren, Samoware, Kessel, Abzeichen, Schwerter von Kriegern aus dem 13. Jahrhundert und mehr. Unter all dieser Vielfalt brachte ihm jemand einen Computer mit, der über einen Fernseher und einen Audiorecorder verfügte. Zum Glück hatte meine Großmutter beides. Natürlich aus sowjetischer Produktion. TV Electron mit acht Tasten zum Senderwechsel. Und ein Vega-Tonbandgerät mit zwei Kassetten, das sogar Tonbänder neu aufzeichnen konnte.
Programmierkarriere. Kapitel 1. Erstes Programm
Sowjetischer Computer „Poisk“ und Peripheriegeräte: Fernseher „Electron“, Tonbandgerät „Vega“ und Audiokassette mit BASIC-Sprache

Wir begannen herauszufinden, wie dieses ganze System funktioniert. Im Lieferumfang des Computers waren ein paar Audiokassetten, eine sehr abgenutzte Bedienungsanleitung und eine weitere Broschüre mit dem Titel „BASIC Programming Language“. Trotz meiner Kindheit habe ich versucht, mich aktiv am Anschluss der Kabel an das Tonbandgerät und den Fernseher zu beteiligen. Dann legten wir eine der Kassetten in das Tonbandgerätfach ein, drückten die „Vorwärts“-Taste (also die Wiedergabe starten) und auf dem Fernsehbildschirm erschien eine unverständliche Pseudografik aus Text und Strichen.

Die Kopfeinheit selbst sah aus wie eine Schreibmaschine, nur ziemlich vergilbt und von spürbarem Gewicht. Mit der Aufregung eines Kindes drückte ich alle Tasten, sah keine greifbaren Ergebnisse und rannte und ging spazieren. Allerdings hatte ich schon damals ein Handbuch zur BASIC-Sprache mit Beispielprogrammen vor mir, die ich aufgrund meines Alters einfach nicht umschreiben konnte.

Aus Kindheitserinnerungen erinnere ich mich sicherlich an all die Geräte, die meine Eltern für mich gekauft haben, nachdem sie mit anderen Verwandten gearbeitet hatten. Die erste Rassel war das bekannte Spiel „Wolf fängt Eier“. Ich war recht schnell damit fertig, sah am Ende den lang erwarteten Cartoon und wollte etwas mehr. Dann war da noch Tetris. Damals war es 1,000,000 Coupons wert. Ja, das war Anfang der 90er Jahre in der Ukraine, und ich bekam eine Million für meinen akademischen Erfolg. Da ich mich zu Recht wie ein Millionär fühlte, bestellte ich für meine Eltern dieses komplexere Spiel, bei dem sie von oben fallende Figuren unterschiedlicher Form richtig anordnen mussten. Am Tag des Kaufs wurde mir Tetris von meinen Eltern unkontrolliert weggenommen, die es selbst zwei Tage lang nicht loswerden konnten.

Programmierkarriere. Kapitel 1. Erstes Programm
Berühmtes „Wolf fängt Eier und Tetris“

Dann gab es Spielekonsolen. Unsere Familie wohnte in einem kleinen Haus, im Nebenzimmer wohnten auch mein Onkel und meine Tante. Mein Onkel war Militärpilot, er war in Krisengebieten unterwegs, daher war er trotz seiner Bescheidenheit sehr hartnäckig und hatte vor wenig Angst, im Ernst
Militäreinsätze. Wie viele Menschen in den 90er Jahren machte mein Onkel ein Geschäft und hatte ein ziemlich gutes Einkommen. So tauchten in seinem Zimmer ein importierter Fernseher, ein Videorecorder und dann eine Subor-Set-Top-Box (analog zu Dendy) auf. Es raubte mir den Atem, ihm dabei zuzusehen, wie er Super Mario, TopGun, Terminator und andere Spiele spielte. Und als er mir den Joystick in die Hand gab, kannte meine Freude keine Grenzen.

Programmierkarriere. Kapitel 1. Erstes Programm
Acht-Bit-Konsole „Syubor“ und der legendäre „Super Mario“

Ja, wie alle gewöhnlichen Kinder, die in den Neunzigern aufgewachsen sind, habe ich den ganzen Tag im Garten verbracht. Entweder Pionierball oder Badminton spielen oder im Garten auf Bäume klettern, wo viele verschiedene Früchte wuchsen.
Aber dieses neue Produkt, bei dem man Mario steuern, über Hindernisse springen und die Prinzessin retten kann, war um ein Vielfaches interessanter als alle Blindenfans, Ladushka und Klassiker. Da meine Eltern mein echtes Interesse an Präfixen erkannten, gaben sie mir die Aufgabe, das Einmaleins zu lernen. Dann werden sie meinen Traum erfüllen. Sie unterrichten sie in der zweiten Klasse, und ich habe gerade die erste abgeschlossen. Aber gesagt und getan.

Es gibt keine stärkere Motivation als den Besitz einer eigenen Spielekonsole. Und innerhalb einer Woche konnte ich die Fragen „sieben neun“, „sechs drei“ und dergleichen problemlos beantworten. Der Test wurde bestanden und sie kauften mir das begehrte Geschenk. Wie Sie weiter erfahren werden, spielten Konsolen und Computerspiele eine wichtige Rolle dabei, mein Interesse für das Programmieren zu wecken.

So ging es Jahr für Jahr. Die nächste Generation von Spielekonsolen kam heraus. Zuerst Sega 16-Bit, dann Panasonic, dann Sony PlayStation. Spiele waren meine Unterhaltung, wenn ich gut war. Wenn es in der Schule oder zu Hause ein Problem gab, wurden mir die Joysticks weggenommen und ich konnte natürlich nicht spielen. Und natürlich war es auch eine Art Glück, den Moment mitzuerleben, als man von der Schule zurückkam und der Vater noch nicht von der Arbeit zurückgekehrt war, um sich vor den Fernseher zu setzen. Man kann also nicht sagen, dass ich spielsüchtig war oder den ganzen Tag mit Spielen verbracht habe. Eine solche Gelegenheit gab es nicht. Ich verbrachte lieber den ganzen Tag im Garten, wo ich auch etwas finden konnte
interessant. Zum Beispiel ein völlig wildes Spiel – Luftschießereien. Heutzutage sieht man so etwas nicht mehr in Innenhöfen, aber damals war es ein echter Krieg. Paintball ist im Vergleich zu dem Blutbad, das wir angerichtet haben, nur ein Kinderspiel. Es gab Luftballons
beladen mit dichten Plastikgeschossen. Und nachdem er aus nächster Nähe auf einen anderen Mann geschossen hatte, hinterließ er einen blauen Fleck auf der Hälfte seines Arms oder seines Bauches. So haben wir gelebt.

Programmierkarriere. Kapitel 1. Erstes Programm
Spielzeugpistole aus der Kindheit

Es wäre nicht verkehrt, den Film „Hackers“ zu erwähnen. Der Film erschien erst 1995 mit der 20-jährigen Angelina Jolie in der Hauptrolle. Zu sagen, dass der Film einen starken Eindruck auf mich gemacht hat, bedeutet nichts zu sagen. Schließlich nimmt das kindliche Denken alles für bare Münze.
Und wie diese Jungs bekanntermaßen Geldautomaten ausräumten, Ampeln ausschalteten und in der ganzen Stadt mit Strom spielten – für mich war das magisch. Dann kam mir der Gedanke, dass es cool wäre, so allmächtig zu werden wie die Hacker.
Ein paar Jahre später kaufte ich jede Ausgabe des Hacker-Magazins und versuchte, das Pentagon zu hacken, obwohl ich noch kein Internet hatte.

Programmierkarriere. Kapitel 1. Erstes Programm
Meine Helden aus dem Film „Hackers“

Eine echte Entdeckung war für mich ein echter PC, mit einem 15-Zoll-Lampenmonitor und einer Systemeinheit auf Basis eines Intel Pentium II-Prozessors. Natürlich wurde es von seinem Onkel gekauft, der es sich Ende der Neunzigerjahre leisten konnte
solche Spielzeuge. Als sie zum ersten Mal ein Spiel für mich anstellten, war es nicht besonders aufregend. Doch eines Tages kam der Tag des Gerichts, die Sterne richteten sich auf und wir kamen, um unseren Onkel zu besuchen, der nicht zu Hause war. Ich fragte:
— Kann ich den Computer einschalten?
„Ja, mach mit ihm, was du willst“, antwortete die liebevolle Tante.

Natürlich habe ich mit ihm gemacht, was ich wollte. Auf dem Windows 98-Desktop befanden sich unterschiedliche Symbole. WinRar, Word, FAR, Klondike, Spiele. Nachdem ich alle Symbole angeklickt hatte, richtete sich meine Aufmerksamkeit auf FAR Manager. Es sieht aus wie ein unverständlicher Bluescreen, aber mit einer langen Liste (von Dateien), die gestartet werden können. Indem ich nacheinander auf jedes einzelne klickte, konnte ich die Wirkung des Geschehens erkennen. Einige haben funktioniert, andere nicht. Nach einer Weile wurde mir klar, dass Dateien mit der Endung „.exe“ am interessantesten sind. Sie starten verschiedene coole Bilder, auf die Sie auch klicken können. Also habe ich wahrscheinlich alle verfügbaren Exe-Dateien auf dem Computer meines Onkels gestartet, und dann haben sie mich kaum an den Ohren von dem superinteressanten Spielzeug gezogen und nach Hause gebracht.

Programmierkarriere. Kapitel 1. Erstes Programm
Derselbe FAR-Manager

Dann gab es Computerclubs. Mein Freund und ich gingen oft dorthin, um Counter Strike und Quake online zu spielen, was wir zu Hause nicht tun konnten. Ich habe meine Eltern oft um Kleingeld gebeten, damit ich eine halbe Stunde im Verein spielen konnte. Als sie meine Augen sahen, die denen der Katze aus Shrek ähnelten, boten sie mir einen weiteren lukrativen Vertrag an. Ich beende das Schuljahr ohne C-Noten und sie kaufen mir einen Computer. Der Vertrag wurde Anfang des Jahres, im September, unterzeichnet, bereits im Juni sollte der begehrte PC eintreffen, vorbehaltlich der Einhaltung der Vereinbarungen.
Ich versuchte mein Bestes. Aus Emotionen habe ich sogar meine geliebte Sony Playstation verkauft, um weniger vom Studium abgelenkt zu werden. Obwohl ich ein mittelmäßiger Schüler war, war die 9. Klasse für mich bedeutsam. Blutige Nase, ich musste einfach gute Noten bekommen.

Bereits im Frühjahr, als ich den Kauf eines PCs erwartete, geschah das wohl bedeutendste Ereignis in meinem Leben. Ich versuche, vorauszudenken, und so sagte ich eines schönen Tages zu meinem Vater:
- Papa, ich weiß nicht, wie man einen Computer benutzt. Melden wir uns für Kurse an

Gesagt, getan. Als der Vater die Zeitung mit Anzeigen aufschlug, fand er einen kleingedruckten Block mit der Überschrift „Computerkurse“. Ich rief die Lehrer an und ein paar Tage später nahm ich bereits an diesen Kursen teil. Die Kurse fanden auf der anderen Seite der Stadt im dritten Stock eines alten Chruschtschow-Plattenbaus statt. In einem Raum standen drei PCs in einer Reihe, und diejenigen, die lernen wollten, wurden tatsächlich an ihnen geschult.

Ich erinnere mich an meine erste Unterrichtsstunde. Das Laden von Windows 98 dauerte lange, dann ergriff der Lehrer das Wort:
- Also. Vor Ihnen liegt ein Windows-Desktop. Es enthält Programmsymbole. Unten befindet sich die Schaltfläche „Start“. Erinnern! Alle Arbeiten beginnen mit der Schaltfläche „Start“. Klicken Sie mit der linken Maustaste darauf.
Er machte weiter.
- Hier sehen Sie installierte Programme. Rechner, Notizblock, Word, Excel. Sie können Ihren Computer auch ausschalten, indem Sie auf die Schaltfläche „Herunterfahren“ klicken. Versuch es.
Schließlich ging er zum damals für mich schwierigeren Teil über.
„Auf dem Desktop“, sagte der Lehrer, sieht man auch Programme, die per Doppelklick gestartet werden können.
- Doppelt!? - Wie ist das im Allgemeinen?
- Lass es uns versuchen. Starten Sie Notepad, indem Sie mit der linken Maustaste darauf doppelklicken.

Ja, Schaass. Das Schwierigste war in diesem Moment, die Maus an einer Stelle zu halten und gleichzeitig schnell zweimal zu klicken. Beim zweiten Klick zuckte die Maus ein wenig und mit ihr auch die Verknüpfung. Dennoch gelang es mir, während des Unterrichts eine so unüberwindbare Aufgabe zu meistern.
Dann gab es eine Schulung in Word und Excel. Eines Tages ließen sie mich einfach Bilder von Natur- und Baudenkmälern durchsehen. Es war die interessanteste Aktivität in meiner Erinnerung. Macht viel mehr Spaß, als zu lernen, wie man Text in Word formatiert.

Neben meinem PC lernten andere Studenten. Ein paar Mal traf ich auf Leute, die Programme schrieben und dabei hitzig über diesen Prozess diskutierten. Das hat mich auch interessiert. Da ich mich an den Film „Hackers“ erinnerte und MS Office satt hatte, bat ich darum, in Kurse versetzt zu werden
Programmierung. Wie alle wichtigen Ereignisse im Leben geschah dies spontan, aus Interesse.

Zu meiner ersten Programmierstunde kam ich bei meiner Mutter. Ich weiß nicht mehr warum. Offenbar musste sie über neue Kurse verhandeln und bezahlen. Draußen war es Frühling, es war bereits dunkel. Wir fuhren mit dem Minibus Gazelle durch die ganze Stadt bis zum Stadtrand und erreichten das berüchtigte
Panel Chruschtschow, ging zu Boden und ließ uns ein.
Sie setzten mich an den Endcomputer und öffneten ein Programm mit einem völlig blauen Bildschirm und gelben Buchstaben.
- Das ist Turbo Pascal. Der Lehrer kommentierte seine Aktion.
- Schauen Sie, hier habe ich eine Dokumentation darüber geschrieben, wie es funktioniert. Lesen Sie es und werfen Sie einen Blick darauf.
Vor mir lag eine Leinwand aus gelbem, absolut unverständlichem Text. Ich habe versucht, etwas für mich herauszufinden, aber es gelang mir nicht. Chinesische Grammatik und das war's.
Schließlich, nach einiger Zeit, überreichte mir der Kursleiter ein bedrucktes A4-Blatt. Darauf stand etwas Seltsames, das ich zuvor auf den Monitoren der Jungs aus den Programmierkursen gesehen hatte.
- Schreiben Sie um, was hier geschrieben steht. Der Lehrer befahl und ging.
Ich begann zu schreiben:
Programm Summa;

Ich schrieb und suchte gleichzeitig nach englischen Buchstaben auf der Tastatur. In Word habe ich zumindest Russisch gelernt, aber hier muss ich andere Buchstaben lernen. Das Programm wurde mit einem Finger getippt, aber sehr vorsichtig.
Anfang, Ende, Var, Ganzzahl - Was ist das? Obwohl ich von der ersten Klasse an Englisch lernte und die Bedeutung vieler Wörter kannte, konnte ich sie nicht alle zusammenfügen. Wie ein dressierter Bär auf dem Fahrrad trat ich weiter in die Pedale. Endlich etwas Bekanntes:
writeln('Geben Sie die erste Zahl ein');
Dann - writeln('Zweite Zahl eingeben');
Dann - writeln('Result = ',c);
Programmierkarriere. Kapitel 1. Erstes Programm
Das allererste Turbo Pascal-Programm

Puh, ich habe es geschrieben. Ich nahm meine Hände von der Tastatur und wartete darauf, dass der Guru für weitere Anweisungen erschien. Schließlich kam er vorbei, scannte den Bildschirm und forderte mich auf, die Taste F9 zu drücken.
„Jetzt ist das Programm kompiliert und auf Fehler überprüft“, sagte der Guru
Es gab keine Fehler. Dann sagte er, ich solle Strg+F9 drücken, was ich auch zum ersten Mal Schritt für Schritt erklären musste. Sie müssen lediglich die Strg-Taste gedrückt halten und dann F9 drücken. Der Bildschirm wurde schwarz und schließlich erschien eine Meldung, die ich verstand: „Geben Sie die erste Nummer ein.“
Auf Befehl des Lehrers gab ich die 7 ein. Dann die zweite Zahl. Ich gebe 3 ein und drücke Enter.

Auf dem Bildschirm erscheint blitzschnell die Zeile „Ergebnis = 10“. Es war Euphorie und so etwas hatte ich noch nie in meinem Leben erlebt. Es war, als ob sich das ganze Universum vor mir öffnete und ich mich in einer Art Portal wiederfand. Wärme durchströmte meinen Körper, ein Lächeln erschien auf meinem Gesicht und irgendwo ganz tief im Unterbewusstsein wurde mir klar – dass das meins ist. Ganz intuitiv, auf emotionaler Ebene, begann ich das enorme Potenzial zu spüren, das in dieser summenden Kiste unter dem Tisch steckt. Es gibt so viele Dinge, die man mit eigenen Händen machen kann, und sie wird es tun!
Dass das eine Art Magie ist. Es war für mich völlig unverständlich, wie aus diesem gelben, unverständlichen Text auf einem blauen Bildschirm ein praktisches und verständliches Programm wurde. Was sich auch selbst zählt! Was mich überraschte, war nicht die Berechnung selbst, sondern die Tatsache, dass sich die geschriebenen Hieroglyphen in einen Taschenrechner verwandelten. Zwischen diesen beiden Ereignissen klaffte damals eine Lücke. Aber intuitiv hatte ich das Gefühl, dass diese Hardware fast alles kann.

Fast die gesamte Heimfahrt im Kleinbus hatte ich das Gefühl, im Weltraum zu sein. Dieses Bild mit der Aufschrift „Ergebnis“ drehte sich in meinem Kopf, wie ist es passiert, was kann diese Maschine sonst noch, kann ich selbst etwas schreiben, ohne ein Blatt Papier zu haben? Tausend Fragen, die mich interessierten, begeisterten und inspirierten zugleich. Ich war 14 Jahre alt. An diesem Tag hat mich der Beruf gewählt.

To be continued ...

Source: habr.com

Kommentar hinzufügen