The story of how one teenager escaped manual labor into programming



In the summer of 1982, literally a few months before I went to college, my mother took me aside and said, "Your father wants you to find a job for the summer and pay your own expenses for the school year." I was eighteen years old, I had not had time to work anywhere, and even the very thought of it, to be honest, then scared me a little. I was a nerdy, stay-at-home, and, to be honest, quite lazy - the prospect of work did not appeal to me at all. But I understood that it was useless to argue here, because in some way I agreed with my father's position.



All his life, starting from the age younger than my eighteen years, he worked as an auto mechanic. He did not work out with college, but, fortunately, he had nothing against my studies and was ready to pay for it from the money we received for my grandmother's house after her death. So in this regard, I was lucky - I could get a higher education without investing practically anything. But some kind of financial participation on my part was still expected. Father himself did not talk to me about these topics, he acted through my mother, but I understood that this was a serious matter, and he would be very disappointed if I didn’t organize something.



Mother was always ready to help: she found several vacancies in our town, among which was one in the road department. That's where I walked timidly for an interview one June morning. In a huge building with many trucks and piles of sand, a tough guy in an orange vest came out to meet me. He looked me up and down skeptically. I was a lanky and pimply teenager; the word "nerd" had not yet come into use, but I looked like a living embodiment of it. Almost the first words that I heard from him after this examination were (by God, I'm not lying):



- You know that work is connected with manual labor?



“Of course, of course,” I replied, trying to sound convincing. In my opinion, he did not believe it, but only shrugged his shoulders and said:



- Okay. When do you leave?



It was then that panic seized me. To tell you the truth, before that I somehow did not seriously think about the fact that I had physical labor. Well, that is, at some abstract level, I understood this, of course. But now I vividly imagined long hours under the scorching sun near the truck, hot asphalt that needs to be scattered with a shovel, cars rushing past in centimeters from me. And although there was nothing better for a teenager in terms of honest work that builds character, I did not want to do this at all.



I understood that sooner or later I would have to work somewhere, and nothing particularly pleasant could be expected from this. Work is work, it gets paid, sometimes it gets on your nerves. It didn’t even come close to me then that those nerdy things that I’m doing for fun would help me get away from physical labor for almost my whole life. But the firm decision to skip this particular job came to me already there, in the garage on the highway.



I told the guy in the orange vest that I would go home and find out “when we are going to rest,” and then I would tell him the date (spoiler alert: I never went back there) and drove out of the highway administration at top speed. When my mother asked if they had hired me, I didn't have the heart to lie. I said I was taken, but I did not go, and tried to explain why, feeling ashamed. I'm sure she was unhappy, but she partly understood me. The last thing she said about this: "Don't tell your father."







I didn’t speak, but nevertheless I felt that I was obliged to find some other job, just not such a work-like one. I went to the city university and tried to get a job as someone there - a salesman at a local computer store, or maybe a laboratory assistant at the technical department. I did not study there and did not plan to enter, so the chances, in fact, were zero - all such vacancies were already snapped up by students. But I tried: I forced myself to talk to people, tried different options, albeit not particularly realistic - I think my parents at least appreciated my efforts. After two weeks of searching, the result did not appear, and I already began to think that I had made a serious mistake by giving up my job as a road worker.



One day my mother brought an interesting tip from work. She worked for a radio station, scheduling advertisements. One of the sponsors lived in our city and was engaged in the repair and resale of used cars. Something went wrong with his computer, and he asked at the station if there were any "computer specialists" here. Mother took his phone and handed it to me. I rang.



Let me be clear: although for the last four or five years I have grabbed every opportunity that presented itself to sit down at the computer, I was not a specialist. Thanks to a program that allowed high school students to learn programming, I took several college courses in Fortran and data structures, ahead of the curriculum. I also more or less learned how to write in BASIC as a result of hours of trying to make games on the neighboring TRS-80 . But in my knowledge of programming there were, to put it mildly, a lot of gaps. I have never written large-scale and complex programs, have not worked with strangers, and have never done any programming in a work environment.



What worked in my favor, perhaps, can be called a hacker's warehouse - I did not feel fear of computers and unfamiliar things, I liked to discover new things for myself, learn through experiments and think something on the fly.



In my conversation with the owner of the auto repair shop (let's call him Jim), I offered the following conditions: I will look at the computer, but I will take a fee only if I can fix it. Jim agreed in every possible way - he, it seems, already repeatedly turned to other people and laid out money without any result.







A rough portrait of Jim (discrepancies with the original are possible)



I arrived at the workshop and met Jim, who almost completely corresponded to the general idea of ​​the owners of a business for the repair and resale of used cars: friendly, resourceful, but at the same time driven by a somewhat unhealthy interest in making money. He put together what is arguably the largest car-selling business in the area, which, while not being a showroom, also serviced cars, trucks, and trailers. He had a wide range of activities and even more ambitious ambitions. I would love to continue: Jim was an interesting character, extraordinary and tendentious, and often got into various alterations. But back to our story.



Jim's computer problems stemmed from an early deal with a Californian developer that he ordered a system to do business. The company was very small, literally a couple of people. They sold him a 16-bit Data General Eclipse mini-computer with multiple terminals, and made a special program for processing repair orders, payments and payroll.



At some point, the relationship between Jim and the contractor began to deteriorate. The contractor stopped tweaking the system and started demanding too much money, for Jim's taste, to fix bugs that began to ruin the lives of office workers. I don’t know all the details, but it got to the point that they stopped talking to each other altogether, so Jim was effectively left with a product without support in his hands. He turned to local programmers - it turned out that the program was encrypted. Here I will make a reservation for accuracy: I should have said that the program was protected, not encrypted, but the result is still the same - no one could get to the source code and fix something in it.



I logged into the system, poked around in it and realized that the account that was allocated to me had limited rights. I went up to Jim to say I needed more access, and he was immediately impressed. He, as it turned out, deliberately gave me an account with no rights to see if I noticed. It's like he had such a test, and I passed it. Deep down, I rolled my eyes, because the problems there were clearly more serious than the access level.



Namely. All system files that did something were written in BASIC - great, thanks to many years of poring over TRS-80 games, I knew BASIC quite well. But, if you open any of these files, it turned out to be empty. The program is there, but nothing is displayed in the code editor. Judging by the size of the files - I checked in the directory where they were - the contents were in them. But they were somehow made inaccessible for viewing.



If I had better computers in my youth, I probably would have got up right away and left with no idea what to do about it. But I spent a lot of time behind antediluvian or just primitive machines like the PDP-8 / E mini-computer .produced by Digital 1974, which was at school, or my personal instructor in the Netronics ELF II microcomputer , where a keyboard with hexadecimal codes and light bulbs served for I / O. So I knew a thing or two about machine code, file formats, headers, system utilities - all sorts of low-level things. At least about their existence.



And I thought: they probably did something with these files, since they are not readable, maybe it's the headers? I found a hex editor on the system with which it was possible to display and edit the contents of files in their raw form, including the headers. The program displayed the contents of the file in the form of a set of hexadecimal numbers, neatly arranged in a plate, as well as the symbols they represented.







The editor definitely displayed BASIC source code for all programs. It really existed, there was no encryption. This was the first observation that reassured me - which means that my theory could turn out to be correct. Perhaps there is some way to drag this code from old files to fresh ones that will open normally.

Jim spun around, obviously dying of curiosity, but - to his credit - he didn't particularly interfere. I'm sure it looked to him as if I knew what I was doing, because all sorts of numbers and tables just flew across the screen. In reality, I was acting at random, trying to find a solution and fix the files.



I created a "normal" BASIC file and examined it in a hex editor. Then he compared them with "clumsy". The content itself, of course, was different, but the headers, which contained information about the files (name, location, size, protection), had a similar format. Since these fragments overlapped well, I figured there was something to be learned from the juxtaposition.



There were a few areas in the headings that I didn't understand, in which there were differences between "normal" and "clumsy" files. I just started blindly experimenting with the code, changing some symbols in the "clumsy" files. The first few attempts only resulted in file corruption, due to which it stopped even opening. But then I got to one place where in the "normal" files there was the character E, and in the "clumsy" - the character F (E in hexadecimal notation corresponds to 1110 in binary, and F - to 1111). 1110 versus 1111, the difference is only one bit. And I just took and replaced in the "clumsy" file F with E.



As if by magic, a BASIC code appeared on the screen. I was shocked. The protection the contractor left behind for his files boiled down to the trivial replacement of one character in each of the headers so that the files would run but not be read. It can be compared to the lock that some put on a suitcase - it can get in the way, but the one who is determined to get to the contents will not be stopped.



My heart was pounding: it seemed more and more real that I could solve Jim's problem. And, most importantly, can I back up my word with deed, or what they say? At that time, I spent about an hour in the office, and it took about forty-five minutes to go through all the files and replace characters everywhere. Now I would probably try to make some kind of script that would turn it all over automatically, because programmers are not in vain reputed to be lazy. But such things remained beyond my capabilities at the age of eighteen, and it is not a fact that Data General Eclipse was so well suited for scripting, I can not vouch for that.



Ultimately, it took me just under two hours to remove all protections. When Jim saw that I had fixed the files, he was amazed and delighted (in that order). He happily asked me to fix another bug in the input form, which bothered his accountant very much - there was no way he could fill in one field. The bug turned out to be simple, half a minute to search, half a minute to fix. But for them it meant that now they would not have to spend whole hours of extra time filling out forms by hand, because it doesn’t work on the computer.



When I completed the task in less than a minute, Jim was completely overwhelmed. From that moment on, I became a computer genius in his eyes. He just looked at me and said:



- How much do you ask?



This question would have topped the list of the scariest things I've been asked if it wasn't for "When do you get out?" I had heard a couple of weeks earlier from a road worker. And so he took an honorable second place. After all, I, an eighteen-year-old teenager who never worked anywhere, never held a salary in his hands, and ran away from the only interview in his life, was asked to decide for myself how much money was due to me. I somehow did not focus on the financial side of the issue. When I entered the office, I was still thinking that maybe it would be possible to get a job here, but then all the attention was absorbed by a technical problem.



What is the number to name? I had no idea. I didn't know how much programmers charge in principle, what a "consultant" is and how to estimate their time. I didn't want to offend Jim with sky-high requests, but I didn't want to be a fool either. Therefore, I chose an amount that personally seemed tidy to me, but would hardly have ruined Jim - a hundred dollars.

Hearing my answer, Jim broke into a smile. It was the smile of a man who, after anxious waiting, was pulled out of the noose and released. Or, you could say, the smile of a person who just made a good deal. Jim glanced at the accountant and said,



“Write Ned a check for a hundred dollars.



Then he told me that he still has many such tasks, if I need a job by chance, the system still needs to be refined and refined. He offered me four hundred dollars a week over the summer to come over to fix bugs and write new programs that he was missing.

So I left him with a hundred dollars and a summer job in my pocket. My parents were happy, and so was I. I worked for Jim that summer and the next, I had enough money for both living and educational expenses, and still left to buy my first "real" computer - the Commodore VIC-20 . I made good money doing what I enjoy doing.



For a while, I was haunted by the feeling that I had gone wrong on this first deal with Jim. It was clear that at that moment I was dictating the terms and could easily take from him more than a hundred. He would have paid, and, probably, it would be fair - after all, no one but me could cope with the problem. In fact, before that, he gave programmers and more significant sums for work, even fruitless. And I asked myself: how much more money could I take home that day? Perhaps I showed this my lack of professionalism?



Time puts everything in its place. Remembering this story now, I realize that in those days the minimum wage was just under four dollars an hour. That is, for this hundred, I would have had to scatter the asphalt with road workers for twenty-five hours - but actually, more, considering that Jim, in his corporate style, paid me for this whole enterprise "in an envelope". In the end, I got a job where I was probably paid about twenty dollars an hour, because for my four hundred dollars I had to work no more than half of the working week. And at the same time I was engaged in what to this day I do not perceive as "work" in the sense that my father put into this word. All in all, not such a bad deal.



Jim also did not lose: he got a talented programmer at a reduced price, and later tried out this scheme and began to hire other students to work on the system. But now I already look at all this not from the position of "who ripped off whom." Ultimately, the collaboration was mutually beneficial.



There was a lot of nonsense going on at that job, if only one article would be enough at least - remember at least how Jim's wife decided to take me to their teenage daughter or how I drove Jim on a brand new Thunderbird Turbo Coupe, presumably on business, but how it turned out later - in bars. But that will wait.



Actually, this article was meant to be a guide to getting away from serious work for teenagers, but I can't figure out what advice to give based on my personal experience. Only all sorts of platitudes come to mind in the spirit of "Do what fascinates you, and the money will come later" or "Find a job that you love, and you won't have to work a day." In my case, there was a grain of truth in these common phrases. And so I can add only one thing: if you go for an interview, immediately come up with a backup plan in case you start asking scary questions like "When do you leave?"



All Articles