L'histoire de la façon dont un adolescent a échappé au travail manuel pour la programmation



À l'été 1982, littéralement quelques mois avant que j'aille à l'université, ma mère m'a pris à part et m'a dit: «Votre père veut que vous trouviez un emploi pour l'été et que vous payiez vos propres dépenses pour l'année scolaire. J'avais dix-huit ans, je n'avais pas encore eu le temps de travailler nulle part, et même d'y penser, pour être honnête, m'effrayait un peu. J'étais un ringard, resté à la maison et, pour être honnête, assez paresseux - la perspective de travailler ne me plaisait pas du tout. Mais j'ai compris qu'il était inutile d'argumenter ici, car d'une certaine manière j'étais d'accord avec la position de mon père.



Toute sa vie, à partir de l'âge de moins de dix-huit ans, il a travaillé comme mécanicien automobile. Il n'a pas travaillé avec l'université, mais, heureusement, il n'avait rien contre mes études et était prêt à payer pour cela avec l'argent que nous avons reçu pour la maison de ma grand-mère après sa mort. Donc, à cet égard, j'ai eu de la chance - j'ai pu faire des études supérieures sans pratiquement rien investir. Mais une sorte de participation financière de ma part était encore attendue. Père lui-même ne m'a pas parlé de ces sujets, il a agi par l'intermédiaire de ma mère, mais j'ai compris que c'était une affaire sérieuse, et il serait très déçu si je n'organisais rien.



Mère était toujours prête à aider: elle a trouvé plusieurs postes vacants dans notre ville, dont un dans le département des routes. C'est là que j'ai marché timidement pour une interview un matin de juin. Dans un immense bâtiment avec de nombreux camions et des tas de sable, un dur à cuire en gilet orange est venu à ma rencontre. Il m'a regardé de haut en bas avec scepticisme. J'étais une adolescente maigre et boutonneuse; le mot «nerd» n'était pas encore utilisé, mais j'en ressemblais à une incarnation vivante. Presque les premiers mots que j'ai entendus de sa part après cet examen ont été (par Dieu, je ne mens pas):



- Vous savez que le travail est lié au travail manuel?



«Bien sûr, bien sûr,» répondis-je, essayant de paraître convaincante. À mon avis, il n'y croyait pas, mais haussa seulement les épaules et dit:



- D'accord. Quand pars-tu?



C'est alors que la panique me saisit. Pour vous dire la vérité, avant cela, je ne pensais pas sérieusement au fait que je devais faire un travail physique. Eh bien, c'est-à-dire qu'à un certain niveau abstrait, j'ai compris cela, bien sûr. Mais maintenant, j'imaginais vivement de longues heures sous le soleil brûlant près du camion, de l'asphalte chaud qui doit être éparpillé avec une pelle, des voitures qui se précipitent à quelques centimètres de moi. Et même s'il n'y avait rien de mieux pour un adolescent en termes de travail honnête qui construit du caractère, je ne voulais pas du tout faire cela.



J'ai compris que tôt ou tard je devrais travailler quelque part, et rien de particulièrement agréable ne pouvait en être attendu. Le travail est un travail, il est payé, parfois il vous met sur les nerfs. Je ne me suis même pas rapproché du fait que ces choses ringardes que je fais pour m'amuser m'aideraient à m'éloigner du travail physique pendant presque toute ma vie. Mais la ferme décision de sauter ce travail en particulier m'est venue déjà là-bas, dans le garage sur l'autoroute.



J'ai dit au gars au gilet orange que je rentrerais chez moi et découvrirais «quand nous allons nous reposer», puis je lui disais la date (alerte spoiler: je n'y suis jamais retourné) et je suis sorti de l'administration de l'autoroute à toute allure. Quand ma mère a demandé s'ils m'avaient embauché, je n'ai pas eu le courage de mentir. J'ai dit que j'avais été emmené, mais je n'y suis pas allé et j'ai essayé d'expliquer pourquoi, honteux. Je suis sûr qu'elle était malheureuse, mais elle m'a en partie compris. La dernière chose qu'elle a dite à ce sujet: "Ne le dis pas à ton père."







Je n’ai pas parlé, mais j’avais néanmoins le sentiment que je devais trouver un autre travail, mais pas un travail semblable à celui du travail. Je suis allé à l'université de la ville et j'ai essayé de trouver un emploi comme quelqu'un là-bas - un vendeur dans un magasin informatique local, ou peut-être un assistant de laboratoire au département technique. Je n'ai pas étudié là-bas et je n'avais pas l'intention d'y entrer, donc les chances, en fait, étaient nulles - tous ces postes vacants étaient déjà saisis par les étudiants. Mais j'ai essayé: je me suis forcé à parler aux gens, j'ai essayé différentes options, mais pas particulièrement réalistes - je pense que mes parents ont au moins apprécié mes efforts. Après deux semaines de recherche, le résultat n'apparaissait pas, et je commençais déjà à penser que j'avais commis une grave erreur en abandonnant mon travail de travailleur routier.



Un jour, ma mère a apporté une astuce intéressante du travail. Elle a travaillé pour une station de radio, programmant des publicités. L'un des sponsors vivait dans notre ville et était engagé dans la réparation et la revente de voitures d'occasion. Il y a eu un problème avec son ordinateur et il a demandé à la station s'il y avait des "informaticiens" ici. Mère a pris son téléphone et me l'a tendu. J'ai sonné.



Permettez-moi d'être clair: même si, depuis quatre ou cinq ans, j'ai saisi toutes les occasions qui se présentaient pour m'asseoir devant l'ordinateur, je n'étais pas un spécialiste. Grâce à un programme qui a permis aux lycéens d'apprendre la programmation, j'ai suivi plusieurs cours collégiaux en Fortran et en structures de données, en amont du cursus. J'ai aussi plus ou moins appris à écrire en BASIC après des heures à essayer de créer des jeux sur un TRS-80 voisin . Mais dans ma connaissance de la programmation, il y avait, pour ne pas dire plus, beaucoup de lacunes. Je n'ai jamais écrit de programmes à grande échelle et complexes, n'ai pas travaillé avec des étrangers et n'ai jamais fait de programmation dans un environnement de travail.



Ce qui a fonctionné en ma faveur peut probablement être appelé un entrepôt de hackers - je n'avais pas peur des ordinateurs et des choses inconnues, j'aimais découvrir de nouvelles choses par moi-même, apprendre par des expériences et penser quelque chose à la volée.



Dans ma conversation avec le propriétaire de l'atelier de réparation automobile (appelons-le Jim), j'ai proposé les conditions suivantes: je vais regarder l'ordinateur, mais je ne prendrai des frais que si je peux le réparer. Jim a accepté de toutes les manières possibles - il semble qu'il s'est déjà tourné à plusieurs reprises vers d'autres personnes et a dépensé de l'argent sans aucun résultat.







Un portrait approximatif de Jim (des divergences avec l'original sont possibles)



Je suis arrivé à l'atelier et j'ai rencontré Jim, qui correspondait presque complètement à l'idée générale des propriétaires d'une entreprise de réparation et de revente de voitures d'occasion: sympathique, débrouillard , mais en même temps motivé par un intérêt quelque peu malsain à gagner de l'argent. Il a mis sur pied ce qui est sans doute la plus grande entreprise de vente de voitures de la région, qui, bien que n'étant pas une salle d'exposition, a également entretenu des voitures, des camions et des remorques. Il avait un large éventail d'activités et des ambitions encore plus ambitieuses. J'adorerais continuer: Jim était un personnage intéressant, extraordinaire et tendancieux, et se retrouvait souvent dans diverses modifications. Mais revenons à notre histoire.



Les problèmes informatiques de Jim découlaient d'un accord précoce avec un développeur californien selon lequel il avait commandé un système pour faire des affaires. L'entreprise était très petite, littéralement un couple de personnes. Ils lui ont vendu un mini-ordinateur Data General Eclipse 16 bits avec plusieurs terminaux et ont créé un programme spécial pour le traitement des commandes de réparation, des paiements et de la paie.



À un moment donné, la relation entre Jim et l'entrepreneur a commencé à se détériorer. L'entrepreneur a cessé de peaufiner le système et a commencé à exiger trop d'argent, au goût de Jim, pour corriger les bogues qui commençaient à ruiner la vie du personnel du bureau. Je ne connais pas tous les détails, mais ils en sont arrivés au point qu’ils ont cessé de se parler complètement, alors Jim s’est retrouvé avec un produit sans assistance entre les mains. Il s'est tourné vers les programmeurs locaux - il s'est avéré que le programme était crypté. Ici, je vais faire une réservation pour l'exactitude: j'aurais dû dire que le programme était protégé, pas chiffré, mais le résultat est toujours le même - personne ne pouvait accéder au code source et y réparer quelque chose.



Je me suis connecté au système, j'ai fouillé dedans et j'ai réalisé que le compte qui m'était attribué avait des droits limités. Je suis allé voir Jim pour lui dire que j'avais besoin de plus d'accès, et il a été immédiatement impressionné. Il s'est avéré qu'il m'a délibérément donné un compte sans aucun droit pour voir si je l'avais remarqué. C'est comme s'il avait fait un tel test, et je l'ai réussi. Au fond, j'ai roulé des yeux, car les problèmes là-bas étaient clairement plus graves que le niveau d'accès.



À savoir. Tous les fichiers système qui ont fait quelque chose ont été écrits en BASIC - génial, grâce à de nombreuses années de réflexion sur les jeux TRS-80, je connaissais assez bien BASIC. Mais, si vous ouvrez l'un de ces fichiers, il s'est avéré être vide. Le programme est là, mais rien ne s'affiche dans l'éditeur de code. A en juger par la taille des fichiers - j'ai vérifié dans le répertoire où ils se trouvaient - le contenu y était. Mais ils ont été en quelque sorte rendus inaccessibles à la visualisation.



Si j'avais eu de meilleurs ordinateurs dans ma jeunesse, je me serais probablement levé tout de suite et je ne savais pas quoi faire à ce sujet. Mais j'ai passé beaucoup de temps derrière des machines antédiluviennes ou simplement primitives comme le mini-ordinateur PDP-8 / E.produit par Digital 1974, qui était à l'école, ou mon instructeur personnel dans le micro - ordinateur Netronics ELF II , où un clavier avec des codes hexadécimaux et des ampoules a servi pour les E / S. Je savais donc une chose ou deux sur le code machine, les formats de fichiers, les en-têtes, les utilitaires système - toutes sortes de choses de bas niveau. Au moins sur leur existence.



Et j'ai pensé: ils ont probablement fait quelque chose avec ces fichiers, puisqu'ils ne sont pas lisibles, c'est peut-être les en-têtes? J'ai trouvé un éditeur hexadécimal sur le système avec lequel il était possible d'afficher et de modifier le contenu des fichiers sous leur forme brute, y compris les en-têtes. Le programme affichait le contenu du fichier sous la forme d'un ensemble de nombres hexadécimaux, soigneusement disposés dans une plaque, ainsi que les symboles qu'ils représentaient.







L'éditeur a définitivement affiché le code source BASIC pour tous les programmes. Cela existait vraiment, il n'y avait pas de cryptage. Ce fut la première observation qui me rassura - ce qui signifie que ma théorie pourrait s'avérer correcte. Il existe peut-être un moyen de faire glisser ce code d'anciens fichiers vers de nouveaux qui s'ouvriront normalement.

Jim se retourna, manifestement mourant de curiosité, mais - à son honneur - il n'intervenait pas particulièrement. Je suis sûr qu'il lui semblait que je savais ce que je faisais, parce que toutes sortes de chiffres et de tableaux volaient à travers l'écran. En réalité, j'agissais au hasard, essayant de trouver une solution et de réparer les fichiers.



J'ai créé un fichier BASIC "normal" et l'ai examiné dans un éditeur hexadécimal. Puis il les a comparés à des "maladroits". Le contenu lui-même, bien sûr, était différent, mais les en-têtes, qui contenaient des informations sur les fichiers (nom, emplacement, taille, protection), avaient un format similaire. Puisque ces fragments se chevauchaient bien, j'ai pensé qu'il y avait quelque chose à apprendre de la juxtaposition.



Il y avait quelques zones dans les en-têtes que je ne comprenais pas, dans lesquelles il y avait des différences entre les fichiers «normaux» et «maladroits». J'ai juste commencé à expérimenter aveuglément le code, en changeant certains symboles dans les fichiers "maladroits". Les premières tentatives n'ont abouti qu'à une corruption de fichier, ce qui a même empêché l'ouverture. Mais ensuite je suis arrivé à un endroit où dans les fichiers "normaux" il y avait le caractère E, et dans le "maladroit" - le caractère F (E en notation hexadécimale correspond à 1110 en binaire, et F à 1111). 1110 contre 1111, la différence n'est que d'un bit. Et j'ai juste pris et remplacé dans le fichier "maladroit" F par E.



Comme par magie, un code BASIC est apparu à l'écran. J'étais choqué. La protection laissée par l'entrepreneur pour leurs fichiers se résumait au remplacement trivial d'un caractère dans chacun des en-têtes afin que les fichiers s'exécutent mais ne soient pas lus. Cela peut être comparé au verrou que certains ont mis sur une valise - cela peut gêner, mais celui qui est déterminé à accéder au contenu ne sera pas arrêté.



Mon cœur battait la chamade: il me semblait de plus en plus réel que je pouvais résoudre le problème de Jim. Et, plus important encore, puis-je étayer ma parole par un acte, ou ce qu'ils disent? À ce moment-là, j'ai passé environ une heure au bureau, et il m'a fallu environ quarante-cinq minutes pour parcourir tous les fichiers et remplacer les caractères partout. Maintenant, j'essaierais probablement de créer une sorte de script qui le renverserait automatiquement, car les programmeurs ne sont pas en vain réputés paresseux. Mais de telles choses sont restées au-delà de mes capacités à l'âge de dix-huit ans, et ce n'est pas un fait que Data General Eclipse était si bien adapté pour le script, je ne peux pas en garantir.



En fin de compte, il m'a fallu un peu moins de deux heures pour retirer toutes les protections. Quand Jim a vu que j'avais réparé les fichiers, il a été étonné et ravi (dans cet ordre). Il m'a volontiers demandé de corriger un autre bogue dans le formulaire de saisie, ce qui a beaucoup dérangé son comptable - il n'y avait aucun moyen qu'il puisse remplir un champ. Le bogue s'est avéré simple, une demi-minute à rechercher, une demi-minute à corriger. Mais pour eux, cela signifiait qu’ils n’auraient plus à passer des heures entières de temps supplémentaire à remplir des formulaires à la main, car cela ne fonctionne pas sur l’ordinateur.



Quand j'ai terminé la tâche en moins d'une minute, Jim était complètement dépassé. À partir de ce moment, je suis devenu un génie informatique à ses yeux. Il m'a juste regardé et m'a dit:



- Combien demandez-vous?



Cette question aurait été en tête de la liste des choses les plus effrayantes qui m'ont été posées si ce n'était pas pour «Quand sortez-vous?» J'avais entendu quelques semaines plus tôt d'un travailleur routier. Et donc il a pris une honorable deuxième place. Après tout, on m'a demandé, moi, un adolescent de dix-huit ans qui n'a jamais travaillé nulle part, qui n'a jamais tenu de salaire entre ses mains et qui a fui le seul entretien de sa vie, pour décider par moi-même combien d'argent me devait. En quelque sorte, je ne me suis pas concentré sur l'aspect financier de la question. Quand je suis entré dans le bureau, je pensais encore qu'il serait peut-être possible de trouver un emploi ici, mais ensuite toute l'attention a été absorbée par un problème technique.



Quel est le numéro à nommer? Je n'en avais aucune idée. Je ne savais pas combien les programmeurs facturaient en principe, ce qu’était un «consultant» et comment estimer leur temps. Je ne voulais pas offenser Jim avec des demandes exorbitantes, mais je ne voulais pas non plus être un imbécile. Par conséquent, j'ai choisi un montant qui me paraissait personnellement rangé, mais qui n'aurait guère ruiné Jim - cent dollars.

En entendant ma réponse, Jim eut un sourire éclatant. C'était le sourire d'un homme qui, après une attente anxieuse, a été sorti de l'étau et relâché. Ou, vous pourriez dire, le sourire d'une personne qui vient de faire une bonne affaire. Jim a jeté un coup d'œil au comptable et a dit:



«Écrivez à Ned un chèque de cent dollars.



Puis il m'a dit qu'il avait encore beaucoup de tâches de ce genre, si j'ai besoin d'un emploi par hasard, le système doit encore être affiné et affiné. Il m'a offert quatre cents dollars par semaine pendant l'été pour venir corriger les bogues et écrire de nouveaux programmes qui lui manquaient.

Alors je l'ai laissé avec une centaine de dollars et un emploi d'été en poche. Mes parents étaient heureux, et moi aussi. J'ai travaillé pour Jim cet été-là et le lendemain, j'avais assez d'argent pour les frais de subsistance et d'études, et je suis encore parti pour acheter mon premier "vrai" ordinateur - le Commodore VIC-20 . J'ai fait beaucoup d'argent en faisant ce que j'aime.



Pendant un moment, j'ai été hanté par le sentiment que je m'étais trompé sur ce premier contrat avec Jim. Il était clair qu'à ce moment-là, je dictais les conditions et je pouvais facilement lui en prendre plus d'une centaine. Il aurait payé et, probablement, ce serait juste - après tout, personne d'autre que moi ne pouvait faire face au problème. En fait, avant cela, il a donné des programmeurs et des sommes plus importantes pour du travail, même infructueux. Et je me suis demandé: combien d'argent de plus pourrais-je rapporter à la maison ce jour-là? Peut-être ai-je montré cela mon manque de professionnalisme?



Le temps met tout à sa place. En me souvenant de cette histoire maintenant, je me rends compte qu'à l'époque, le salaire minimum était d'un peu moins de quatre dollars de l'heure. C'est-à-dire que pour cette centaine, j'aurais dû disperser l'asphalte avec les travailleurs de la route pendant vingt-cinq heures - ou, en fait, plus, étant donné que Jim, dans son style d'entreprise, m'a payé pour toute l'entreprise "dans une enveloppe" . En fin de compte, j'ai trouvé un emploi où j'étais probablement payé environ vingt dollars de l'heure, car pour mes quatre cents dollars, je ne devais pas travailler plus de la moitié de la semaine de travail. Et en même temps j'étais engagé dans ce que je ne perçois pas encore aujourd'hui comme «travail» au sens que mon père a mis dans ce mot. Dans l'ensemble, ce n'est pas une si mauvaise affaire.



Jim n'a pas non plus perdu: il a obtenu un programmeur talentueux à un prix réduit, puis a essayé ce programme et a commencé à embaucher d'autres étudiants pour travailler sur le système. Mais maintenant, je regarde déjà tout cela non pas du point de vue de «qui a arnaqué qui». En fin de compte, la collaboration a été mutuellement bénéfique.



Beaucoup de toutes sortes d'absurdités se passaient à ce travail, si un seul article suffisait au moins - rappelez-vous au moins comment la femme de Jim a décidé de m'emmener voir leur fille adolescente ou comment j'ai conduit Jim sur un tout nouveau Thunderbird Turbo Coupé. , probablement pour affaires, mais comment cela s'est avéré plus tard - dans les bars. Mais cela attendra.



En fait, cet article était censé être un guide pour s'éloigner du travail sérieux des adolescents, mais je ne peux pas comprendre quels conseils donner en fonction de mon expérience personnelle. Seules toutes sortes de platitudes me viennent à l'esprit comme «Faites ce qui vous fascine, et l'argent viendra plus tard» ou «Trouvez un travail que vous aimez et vous n'aurez pas à travailler un jour». Dans mon cas, il y avait un grain de vérité dans ces phrases courantes. Et donc je ne peux ajouter qu'une chose: si vous allez pour une entrevue, proposez immédiatement un plan de secours au cas où vous commenceriez à poser des questions effrayantes comme "Quand partez-vous?"



All Articles