Die Geschichte, wie ein Teenager der Handarbeit in die Programmierung entkommen ist



Im Sommer 1982, buchstäblich ein paar Monate bevor ich aufs College ging, nahm mich meine Mutter beiseite und sagte: "Dein Vater möchte, dass du einen Job für den Sommer findest und deine eigenen Ausgaben für das Schuljahr bezahlst." Ich war achtzehn Jahre alt, hatte noch keine Zeit gehabt, irgendwo zu arbeiten, und selbst der bloße Gedanke daran, um ehrlich zu sein, erschreckte mich ein wenig. Ich war ein nerdiger Mann, der zu Hause blieb und, um ehrlich zu sein, ziemlich faul war - die Aussicht auf Arbeit gefiel mir überhaupt nicht. Aber ich verstand, dass es sinnlos war, hier zu streiten, weil ich irgendwie der Position meines Vaters zustimmte.



Sein ganzes Leben lang, beginnend mit meinem Alter von weniger als achtzehn Jahren, arbeitete er als Automechaniker. Er hat nicht mit dem College gearbeitet, aber zum Glück hatte er nichts gegen mein Studium und war bereit, es mit dem Geld zu bezahlen, das wir nach ihrem Tod für das Haus meiner Großmutter erhalten hatten. In dieser Hinsicht hatte ich Glück - ich konnte eine höhere Ausbildung erhalten, ohne praktisch etwas zu investieren. Aber eine finanzielle Beteiligung von meiner Seite wurde immer noch erwartet. Vater selbst hat nicht mit mir über diese Themen gesprochen, er hat durch meine Mutter gehandelt, aber ich habe verstanden, dass dies eine ernste Angelegenheit ist, und er wäre sehr enttäuscht, wenn ich nichts organisieren würde.



Mutter war immer bereit zu helfen: Sie fand mehrere freie Stellen in unserer Stadt, darunter eine in der Straßenabteilung. Dort ging ich an einem Junimorgen schüchtern zu einem Interview. In einem riesigen Gebäude mit vielen Lastwagen und Sandhaufen kam ein harter Kerl in einer orangefarbenen Weste heraus, um mich zu treffen. Er sah mich skeptisch von oben bis unten an. Ich war ein schlaksiger und pickeliger Teenager; Das Wort "Nerd" war noch nicht in Gebrauch gekommen, aber ich sah aus wie eine lebendige Verkörperung davon. Fast die ersten Worte, die ich nach dieser Prüfung von ihm hörte, waren (von Gott, ich lüge nicht):



- Sie wissen, dass Arbeit mit Handarbeit verbunden ist?



"Natürlich, natürlich", antwortete ich und versuchte, überzeugend zu klingen. Meiner Meinung nach glaubte er es nicht, sondern zuckte nur mit den Schultern und sagte:



- Okay. Wann gehst du?



In diesem Moment ergriff mich diese Panik. Um ehrlich zu sein, habe ich vorher irgendwie nicht ernsthaft darüber nachgedacht, dass ich körperliche Arbeit verrichten musste. Nun, das heißt, auf einer abstrakten Ebene habe ich das natürlich verstanden. Aber jetzt stellte ich mir lebhaft lange Stunden unter der sengenden Sonne in der Nähe des Lastwagens vor, heißen Asphalt, der mit einer Schaufel verstreut werden muss, Autos, die in Zentimetern Entfernung von mir vorbeirasen. Und obwohl es für einen Teenager nichts Besseres in Bezug auf ehrliche Arbeit gibt, die Charakter schafft, wollte ich das überhaupt nicht tun.



Ich verstand, dass ich früher oder später irgendwo arbeiten musste und nichts besonders Angenehmes davon zu erwarten war. Arbeit ist Arbeit, sie wird bezahlt, manchmal geht sie einem auf die Nerven. Es kam mir damals nicht einmal nahe, dass diese nerdigen Dinge, die ich zum Spaß mache, mir helfen würden, fast mein ganzes Leben lang von körperlicher Arbeit wegzukommen. Aber die feste Entscheidung, diesen speziellen Job zu überspringen, fiel mir bereits dort in der Garage auf der Autobahn.



Ich sagte dem Mann in der orangefarbenen Weste, dass ich nach Hause gehen und herausfinden würde, wann wir uns ausruhen werden, und dann würde ich ihm das Datum mitteilen (Spoiler-Alarm: Ich bin nie dorthin zurückgekehrt) und aus der Autobahnverwaltung herausfahren mit Höchstgeschwindigkeit. Als meine Mutter fragte, ob sie mich eingestellt hätten, hatte ich nicht das Herz zu lügen. Ich sagte, ich sei vergeben, aber ich ging nicht und versuchte zu erklären, warum ich mich schämte. Ich bin sicher, sie war unglücklich, aber sie hat mich teilweise verstanden. Das Letzte, was sie dazu sagte: "Sag es nicht deinem Vater."







Ich habe nicht gesprochen, aber trotzdem hatte ich das Gefühl, dass ich einen anderen Job finden musste, nur keinen so arbeitsähnlichen. Ich ging zur Stadtuniversität und versuchte dort einen Job als jemand zu bekommen - als Verkäufer in einem örtlichen Computergeschäft oder vielleicht als Laborassistent in der technischen Abteilung. Ich habe dort nicht studiert und hatte nicht vor einzutreten, daher waren die Chancen tatsächlich gleich Null - alle diese offenen Stellen wurden bereits von Studenten besetzt. Aber ich habe es versucht: Ich habe mich gezwungen, mit Menschen zu sprechen, habe verschiedene Optionen ausprobiert, wenn auch nicht besonders realistisch - ich denke, meine Eltern haben meine Bemühungen zumindest geschätzt. Nach zweiwöchiger Suche erschien das Ergebnis nicht und ich begann bereits zu glauben, dass ich einen schwerwiegenden Fehler gemacht hatte, als ich meinen Job als Straßenarbeiter aufgab.



Eines Tages brachte meine Mutter einen interessanten Tipp von der Arbeit. Sie arbeitete für einen Radiosender und plante Werbung. Einer der Sponsoren lebte in unserer Stadt und war mit der Reparatur und dem Weiterverkauf von Gebrauchtwagen beschäftigt. Mit seinem Computer ist etwas schiefgegangen, und er hat an der Station gefragt, ob es hier "Computerspezialisten" gibt. Mutter nahm sein Telefon und gab es mir. Ich klingelte.



Lassen Sie mich klar sein: Obwohl ich in den letzten vier oder fünf Jahren jede Gelegenheit genutzt habe, um mich an den Computer zu setzen, war ich kein Spezialist. Dank eines Programms, mit dem Schüler Programmieren lernen konnten, nahm ich vor dem Lehrplan an mehreren College-Kursen in Fortran und Datenstrukturen teil. Ich habe auch mehr oder weniger gelernt, wie man in BASIC schreibt, weil ich stundenlang versucht habe, Spiele auf einem benachbarten TRS-80 zu machen . Aber in meinen Programmierkenntnissen gab es, gelinde gesagt, viele Lücken. Ich habe nie große und komplexe Programme geschrieben, nicht mit Fremden gearbeitet und nie in einer Arbeitsumgebung programmiert.



Was wahrscheinlich zu meinen Gunsten wirkte, kann als Hacker-Lager bezeichnet werden - ich hatte keine Angst vor Computern und unbekannten Dingen, ich entdeckte gern neue Dinge für mich selbst, lernte durch Experimente und dachte spontan über etwas nach.



In meinem Gespräch mit dem Besitzer der Autowerkstatt (nennen wir ihn Jim) habe ich die folgenden Bedingungen angeboten: Ich werde auf den Computer schauen, aber ich werde nur dann eine Gebühr erheben, wenn ich das Problem beheben kann. Jim stimmte in jeder Hinsicht zu - er hat sich anscheinend bereits wiederholt an andere Menschen gewandt und Geld ohne Ergebnis ausgegeben.







Ein grobes Porträt von Jim (Abweichungen vom Original sind möglich)



Ich kam in der Werkstatt an und traf Jim, der fast vollständig der allgemeinen Idee der Eigentümer eines Unternehmens für die Reparatur und den Weiterverkauf von Gebrauchtwagen entsprach: freundlich, einfallsreich , aber gleichzeitig getrieben von einem etwas ungesunden Interesse am Geldverdienen. Er stellte das wohl größte Autoverkaufsgeschäft in der Region zusammen, das zwar kein Ausstellungsraum ist, aber auch Autos, Lastwagen und Anhänger wartet. Er hatte eine breite Palette von Aktivitäten und noch ehrgeizigere Ambitionen. Ich würde gerne weitermachen: Jim war ein interessanter Charakter, außergewöhnlich und tendenziös und geriet oft in verschiedene Veränderungen. Aber zurück zu unserer Geschichte.



Jims Computerprobleme resultierten aus einem frühen Geschäft mit einem kalifornischen Entwickler, bei dem er ein System für die Geschäftsabwicklung bestellte. Das Unternehmen war sehr klein, buchstäblich ein paar Leute. Sie verkauften ihm einen 16-Bit-Mini-Computer von Data General Eclipse mit mehreren Terminals und erstellten ein spezielles Programm für die Verarbeitung von Reparaturaufträgen, Zahlungen und Gehaltsabrechnungen.



Irgendwann begann sich die Beziehung zwischen Jim und dem Auftragnehmer zu verschlechtern. Der Auftragnehmer hörte auf, das System zu optimieren, und forderte für Jims Geschmack zu viel Geld, um Fehler zu beheben, die das Leben des Büropersonals ruinierten. Ich kenne nicht alle Details, aber es kam zu dem Punkt, dass sie ganz aufhörten miteinander zu reden, so dass Jim effektiv ein Produkt ohne Unterstützung in seinen Händen hatte. Er wandte sich an lokale Programmierer - es stellte sich heraus, dass das Programm verschlüsselt war. Hier werde ich einen Vorbehalt zur Richtigkeit machen: Ich hätte sagen sollen, dass das Programm geschützt und nicht verschlüsselt war, aber das Ergebnis ist immer noch dasselbe - niemand konnte zum Quellcode gelangen und etwas darin reparieren.



Ich loggte mich in das System ein, stöberte darin herum und stellte fest, dass das mir zugewiesene Konto nur eingeschränkte Rechte hatte. Ich ging zu Jim, um ihm zu sagen, dass ich mehr Zugang brauche, und er war sofort beeindruckt. Wie sich herausstellte, gab er mir absichtlich einen Account ohne Rechte, um zu sehen, ob ich es bemerkte. Es ist, als hätte er einen solchen Test gehabt, und ich habe ihn bestanden. Tief im Inneren verdrehte ich die Augen, weil die Probleme dort eindeutig schwerwiegender waren als die Zugriffsebene.



Nämlich. Alle Systemdateien, die etwas getan haben, wurden in BASIC geschrieben - großartig, dank langjähriger Erfahrung mit TRS-80-Spielen kannte ich BASIC ziemlich gut. Wenn Sie jedoch eine dieser Dateien öffnen, stellte sich heraus, dass sie leer ist. Das Programm ist da, aber im Code-Editor wird nichts angezeigt. Gemessen an der Größe der Dateien - ich habe in dem Verzeichnis nachgesehen, in dem sie sich befanden - befand sich der Inhalt darin. Aber sie wurden irgendwie für die Anzeige unzugänglich gemacht.



Wenn ich in meiner Jugend bessere Computer gehabt hätte, wäre ich wahrscheinlich sofort aufgestanden und hätte keine Ahnung, was ich dagegen tun sollte. Aber ich habe viel Zeit hinter antidiluvianischen oder nur primitiven Maschinen wie dem PDP-8 / E -Minicomputer verbracht .Produziert von Digital 1974, das in der Schule war, oder meinem persönlichen Lehrer im Netronics ELF II- Mikrocomputer , wo eine Tastatur mit hexadezimalen Codes und Glühbirnen für I / O diente. Also wusste ich ein oder zwei Dinge über Maschinencode, Dateiformate, Header, Systemdienstprogramme - alles Mögliche auf niedriger Ebene. Zumindest über ihre Existenz.



Und ich dachte: Sie haben wahrscheinlich etwas mit diesen Dateien gemacht, da sie nicht lesbar sind, vielleicht sind es die Header? Ich fand einen Hex-Editor auf dem System, mit dem es möglich war, den Inhalt von Dateien in ihrer Rohform, einschließlich der Header, anzuzeigen und zu bearbeiten. Das Programm zeigte den Inhalt der Datei in Form einer Reihe von Hexadezimalzahlen an, die ordentlich in einer Platte angeordnet waren, sowie die Symbole, die sie darstellten.







Der Editor zeigte definitiv den BASIC-Quellcode für alle Programme an. Es existierte wirklich, es gab keine Verschlüsselung. Dies war die erste Beobachtung, die mich beruhigte - was bedeutet, dass sich meine Theorie als richtig herausstellen konnte. Vielleicht gibt es eine Möglichkeit, diesen Code aus alten Dateien in neue zu ziehen, die normal geöffnet werden.

Jim wirbelte herum und starb offensichtlich vor Neugier, aber - zu seiner Ehre - mischte er sich nicht besonders ein. Ich bin sicher, es sah für ihn so aus, als ob ich wüsste, was ich tat, denn alle möglichen Zahlen und Tabellen flogen einfach über den Bildschirm. In Wirklichkeit handelte ich nach dem Zufallsprinzip und versuchte, eine Lösung zu finden und die Dateien zu reparieren.



Ich habe eine "normale" BASIC-Datei erstellt und sie in einem Hex-Editor untersucht. Dann verglich er sie mit "ungeschickt". Der Inhalt selbst war natürlich anders, aber die Header, die Informationen zu den Dateien (Name, Speicherort, Größe, Schutz) enthielten, hatten ein ähnliches Format. Da sich diese Fragmente gut überlappten, nahm ich an, dass man aus der Gegenüberstellung etwas lernen konnte.



Es gab einige Bereiche in den Überschriften, die ich nicht verstand, in denen es Unterschiede zwischen "normalen" und "ungeschickten" Dateien gab. Ich habe gerade angefangen, blind mit dem Code zu experimentieren und einige Symbole in den "ungeschickten" Dateien zu ändern. Die ersten Versuche führten nur zu einer Beschädigung der Datei, wodurch das Öffnen gestoppt wurde. Aber dann kam ich an eine Stelle, an der in "normalen" Dateien das Zeichen E und in der "ungeschickten" das Zeichen F war (E in hexadezimaler Notation entspricht 1110 in Binär und F in 1111). 1110 gegenüber 1111 beträgt der Unterschied nur ein Bit. Und ich habe gerade genommen und in der "ungeschickten" Datei F durch E ersetzt.



Wie von Zauberhand erschien ein BASIC-Code auf dem Bildschirm. Ich war schockiert. Der Schutz, den der Auftragnehmer für seine Dateien hinterlassen hat, bestand darin, dass in jedem der Header nur ein Zeichen ersetzt wurde, damit die Dateien ausgeführt, aber nicht gelesen wurden. Es kann mit dem Schloss verglichen werden, das manche auf einen Koffer setzen - es kann stören, aber derjenige, der entschlossen ist, zum Inhalt zu gelangen, wird nicht aufgehalten.



Mein Herz pochte: Es schien immer realer, dass ich Jims Problem lösen konnte. Und, was am wichtigsten ist, kann ich mein Wort mit Taten untermauern oder was sie sagen? Zu dieser Zeit verbrachte ich ungefähr eine Stunde im Büro, und es dauerte ungefähr fünfundvierzig Minuten, um alle Dateien durchzugehen und überall Zeichen zu ersetzen. Jetzt würde ich wahrscheinlich versuchen, eine Art Skript zu erstellen, das alles automatisch umdreht, weil Programmierer nicht umsonst als faul gelten. Aber solche Dinge blieben im Alter von achtzehn Jahren jenseits meiner Möglichkeiten, und es ist keine Tatsache, dass Data General Eclipse für Skripte so gut geeignet war, dafür kann ich nicht bürgen.



Letztendlich habe ich knapp zwei Stunden gebraucht, um alle Schutzmaßnahmen zu entfernen. Als Jim sah, dass ich die Dateien repariert hatte, war er erstaunt und erfreut (in dieser Reihenfolge). Er bat mich glücklich, einen weiteren Fehler im Eingabeformular zu beheben, der seinen Buchhalter sehr störte - er konnte auf keinen Fall ein Feld ausfüllen. Der Fehler erwies sich als einfach, eine halbe Minute zu suchen, eine halbe Minute zu beheben. Für sie bedeutete dies jedoch, dass sie jetzt nicht mehr viele Stunden zusätzliche Zeit damit verbringen mussten, Formulare von Hand auszufüllen, da dies auf dem Computer nicht funktioniert.



Als ich die Aufgabe in weniger als einer Minute erledigt hatte, war Jim völlig überwältigt. Von diesem Moment an wurde ich in seinen Augen ein Computergenie. Er sah mich nur an und sagte:



- Wie viel fragst du?



Diese Frage hätte die Liste der gruseligsten Dinge angeführt, die mir gestellt wurden, wenn es nicht „Wann kommst du raus?“ Hätte, das ich vor ein paar Wochen von einem Straßenarbeiter gehört hatte. Und so belegte er einen ehrenvollen zweiten Platz. Schließlich wurde ich, ein achtzehnjähriger Teenager, der nie irgendwo gearbeitet hatte, nie ein Gehalt in den Händen hielt und vor dem einzigen Interview in seinem Leben davonlief, gebeten, selbst zu entscheiden, wie viel Geld mir zusteht. Ich habe mich irgendwie nicht auf die finanzielle Seite des Themas konzentriert. Als ich das Büro betrat, dachte ich immer noch, dass es vielleicht möglich sein würde, hier einen Job zu bekommen, aber dann wurde die ganze Aufmerksamkeit von einem technischen Problem absorbiert.



Wie lautet die zu benennende Nummer? Ich hatte keine Ahnung. Ich wusste nicht, wie viel Programmierer im Prinzip verlangen, was ein "Berater" ist und wie sie ihre Zeit schätzen können. Ich wollte Jim nicht mit himmelhohen Anfragen beleidigen, aber ich wollte auch kein Dummkopf sein. Deshalb habe ich einen Betrag gewählt, der mir persönlich ordentlich erschien, Jim aber kaum ruiniert hätte - hundert Dollar.

Als Jim meine Antwort hörte, lächelte er. Es war das Lächeln eines Mannes, der nach ängstlichem Warten aus der Schlinge gezogen und freigelassen wurde. Oder man könnte sagen, das Lächeln einer Person, die gerade ein gutes Geschäft gemacht hat. Jim warf dem Buchhalter einen Blick zu und sagte:



»Schreiben Sie Ned einen Scheck über hundert Dollar.



Dann sagte er mir, dass er immer noch viele solcher Aufgaben hat. Wenn ich zufällig einen Job brauche, muss das System noch verfeinert und verfeinert werden. Er bot mir im Sommer vierhundert Dollar pro Woche an, um Fehler zu beheben und neue Programme zu schreiben, die ihm fehlten.

Also habe ich ihn mit hundert Dollar und einem Sommerjob in der Tasche gelassen. Meine Eltern waren glücklich und ich auch. Ich arbeitete in diesem Sommer für Jim und im nächsten hatte ich genug Geld für Lebens- und Bildungskosten und ging immer noch, um meinen ersten "echten" Computer zu kaufen - den Commodore VIC-20 . Ich habe gutes Geld mit dem verdient, was ich liebe.



Für eine Weile wurde ich von dem Gefühl heimgesucht, dass ich bei diesem ersten Geschäft mit Jim einen Fehler gemacht hatte. Es war klar, dass ich zu dieser Zeit die Bedingungen diktierte und ihm leicht mehr als hundert abnehmen konnte. Er hätte bezahlt, und wahrscheinlich wäre es fair - schließlich konnte niemand außer mir das Problem bewältigen. Zuvor gab er Programmierern und bedeutenderen Arbeitssummen, auch ohne Erfolg. Und ich fragte mich: Wie viel Geld könnte ich an diesem Tag mit nach Hause nehmen? Vielleicht habe ich dies meine mangelnde Professionalität gezeigt?



Die Zeit setzt alles an seinen Platz. Wenn ich mich jetzt an diese Geschichte erinnere, stelle ich fest, dass der Mindestlohn damals knapp vier Dollar pro Stunde betrug. Das heißt, für diese hundert hätte ich den Asphalt fünfundzwanzig Stunden lang mit Straßenarbeitern bestreuen müssen - oder sogar mehr, wenn man bedenkt, dass Jim mich in seinem Unternehmensstil für das gesamte Unternehmen "in einem Umschlag" bezahlt hat. . Am Ende bekam ich einen Job, bei dem ich wahrscheinlich ungefähr zwanzig Dollar pro Stunde bekam, weil ich für meine vierhundert Dollar nicht mehr als die Hälfte der Arbeitswoche arbeiten musste. Gleichzeitig beschäftigte ich mich mit dem, was ich bis heute nicht als "Arbeit" in dem Sinne wahrnehme, wie mein Vater es in dieses Wort geschrieben hat. Alles in allem kein so schlechtes Geschäft.



Jim verlor auch nicht: Er bekam einen talentierten Programmierer zu einem reduzierten Preis und probierte später dieses Programm aus und begann, andere Studenten einzustellen, um an dem System zu arbeiten. Aber jetzt schaue ich mir das alles schon an, nicht von der Position "wer hat wen abgezockt". Letztendlich war die Zusammenarbeit für beide Seiten von Vorteil.



Bei dieser Arbeit war eine Menge Unsinn los, wenn nur ein Artikel ausreichen würde - denken Sie zumindest daran, wie Jims Frau mich zu ihrer Tochter im Teenageralter brachte oder wie ich Jim mit einem brandneuen Thunderbird Turbo Coupé fuhr , vermutlich geschäftlich, aber wie sich später herausstellte - in Bars. Aber das wird warten.



Eigentlich sollte dieser Artikel ein Leitfaden sein, um von der ernsthaften Arbeit für Teenager wegzukommen, aber ich kann nicht herausfinden, welchen Rat ich aufgrund persönlicher Erfahrungen geben soll. Es kommen nur alle möglichen Plattitüden in den Sinn, wie „Tu, was dich fasziniert, und das Geld wird später kommen“ oder „Finde einen Job, den du liebst und an dem du keinen Tag arbeiten musst“. In meinem Fall war in diesen gebräuchlichen Sätzen ein Körnchen Wahrheit enthalten. Und so kann ich nur eines hinzufügen: Wenn Sie ein Interview führen, erstellen Sie sofort einen Backup-Plan, falls Sie anfangen, beängstigende Fragen wie "Wann gehen Sie?" Zu stellen.



All Articles