Career programmer. Part 1. The first program

    imageDear readers of Habr, I present to your attention a series of posts that I plan to combine in a book in the future. I wanted to delve into the past and tell my story how I became a developer and continue to be.

    About the prerequisites for getting into IT, the path of trial and error, self-education and childish naivety. I will begin my story from early childhood, and end it today. I hope that this book will be especially useful for those who are just studying for an IT specialty.

    And those who already work in IT - may draw parallels with their path.

    In this book you will find a mention of the literature I read, the experience of communicating with people with whom I crossed paths during training, work and launching a startup.

    Starting from teachers at the university, ending with large venture investors and owners of multimillion-dollar companies.

    To date, 3.5 chapters of the book are ready, out of a possible 8-10. If the first chapters find a positive response from the audience, I will publish the entire book as a whole.

    About myself

    I am not John Carmack, Nikolay Durov or Richard Matthew Stallman. I did not work in such companies as Yandex, VKontakte or

    Although I had experience in a large corporation, which I will definitely tell you about. But I think the point is not so much in a big name as in the history of the path to developers, and further, in the victories and defeats that have been during my 12-year career in commercial development. Of course, some of you have much more experience with IT. But I believe that the dramas and victories that have been in my current career are worth describing. There were a lot of events, and they are all diverse.

    Who am I today, as a developer
    - I participated in more than 70 commercial projects, many of which I wrote from scratch
    - In a dozen of my own projects: open-source, startups
    - 12 years in IT. 17 years ago - I wrote the first program
    - Microsoft Most Valuable Person 2016
    - Microsoft Certified Professional
    - Certified Scrum Master
    - I have a good level of C # / C ++ / Java / Python / JS
    - The main place of work today is Upwork Freelance service. Through her, I work for a company that deals with NLP / AI / ML. Has a base of 1 million users
    - Released 3 applications in the AppStore and GooglePlay
    - I am preparing to establish my own IT company around the project

    that I am currently developing In addition to development, I write articles on popular blogs, learn new technologies, speak at conferences. I relax in the fitness club and with my family.

    That's probably all about me, regarding the topic of the book. Next is my story.

    History. Start

    I first learned what a computer is when I was 7 years old. I just went to first grade and in the class of fine arts we were given homework to make computers from cardboard, foam rubber and felt-tip pens. Of course, my parents helped me. Mom in the early 80s studied at a technical university and did not know by hears what a computer is. During the course of study, she even managed to punch punch cards and load them into a gigantic Soviet machine, which occupied the lion's share of the training room.

    We completed homework at 5, because we did everything diligently. We found a thick A4 sheet of cardboard. Foam circles were cut out of old toys, and the user interface was drawn with felt-tip pens. There were few buttons on our device, but my mom and I assigned them the necessary functionality and in the lesson I showed the teacher how, by pressing the “On” button, a light comes on in the corner of the “screen”, simultaneously completing a red circle with a felt-tip pen.

    The next intersection with computer technology, I happened somewhere at the same age. On weekends, I often visited with my grandmother and grandfather, who traded in various junk and also willingly bought it for a penny. Old watches, samovars, boilers, badges, swords of 13th century warriors and more. Among all this variety of things, someone brought him a computer that was powered by a television and an audio recorder. Fortunately, my grandmother had both. Soviet production of course. Television Electron with eight buttons to switch channels. And Vega’s two-cassette recorder, which could even re-record film audio tapes.

    Soviet computer “Search” and peripherals: TV “Electron”, tape recorder “Vega” and audio cassette with BASIC language

    We began to understand how this entire system works. Complete with a computer there were a couple of audio cassettes, a very battered instruction, and another brochure with a headline - “BASIC Programming Language”. Despite my childhood, I tried to actively participate in the process of connecting the cords to the tape recorder and TV. Then we inserted one of the tapes into the recorder compartment, clicked the “Forward” button (ie, start playback) and an incomprehensible pseudographics from text and dashes appeared on the TV screen.

    The head unit itself was like a typewriter, only pretty yellowed and noticeable weight. I pushed all the keys with the excitement of a child, did not see a tangible result and ran for a walk. Although before me already lay a manual on the BASIC language with examples of programs that I simply could not rewrite due to my age.

    From childhood memories, I certainly remember all the gadgets that my parents bought me, having formed with other relatives. The first rattle was the well-known game "The Wolf Catches Eggs." I went through it quite quickly, saw the long-awaited cartoon at the end and wanted something more. Then there was Tetris. At that time, it was worth 1,000,000 coupons. Yes, it was in Ukraine in the early 90s, and for my academic excellence they gave me a million. Deservedly feeling like a millionaire, I ordered my parents this more complex game, where it was necessary to correctly lay out the figures of different shapes falling from above. On the day of the purchase, Tetris was completely taken away from me by my parents, who themselves couldn’t take it off for two days.

    Famous "The Wolf Catches Eggs and Tetris"

    Then there were game consoles. Our family lived in a small house, where my uncle and aunt also lived in the next room. My uncle was a military pilot, he passed hot spots, so despite his modesty he was very tenacious and was afraid of little, after real hostilities. Like many people in the 90s, my uncle went into business and he had a pretty good income. So in his room appeared an imported TV, VCR, and then the Subor prefix (similar to Dendy). It was breathtaking when I watched him play Super Mario, TopGun, Terminator and other games. And when he passed the joystick into my hands, my happiness knew no bounds.

    The eight-bit prefix "Subor" and the legendary "Super Mario"

    Yes, like all ordinary children who grew up in the nineties, I spent all day in the yard. Now playing the pioneer ball, then badminton, then climbing trees in the garden, where many different fruits grew.
    But this novelty, when you can control Mario, jump over obstacles and save the princess - was many times more interesting than any blind man's glasses, pawns and classics. Therefore, seeing my genuine interest in consoles, my parents gave me the task to learn the multiplication table. Then they will fulfill my dream. She is taught in the second grade, and I just finished the first. But, it is said - done.

    It was impossible to come up with stronger motivation than its own game console. And after a week I easily answered the questions “family nine”, “six three” and the like. The test was passed and I bought a coveted gift. As you will learn later, consoles and computer games played a significant role in making me interested in programming.

    So passed year after year. The next generation of game consoles came out. First Sega 16-bit, then Panasonic, then Sony PlayStation. Games were my pastime when I behaved well. When there was a jamb at school or at home - the joysticks were taken from me and of course I could not play. And of course, catching the moment when you returned from school, and your father had not returned from work to take up television, was also a kind of luck. So it’s impossible to say that I was a gamer or spent whole days playing games. There was no such possibility. I rather spent the whole day in the courtyard, where one could also find something interesting. For example, a completely wild game - skirmishes with air guns. In our time, you will not meet this in the courtyards, and then - it was a real war. Paintball is just fun for children in comparison with the massacre that we arranged. The airs were loaded with thick plastic bullets. And having shot at another kid at point blank range, there was a bruise on the floor of his arm or stomach. And so they lived.

    Toy gun from childhood.

    It is not superfluous to mention the film "Hackers." He came out just in 1995, starring with 20-year-old Angelina Jolie. To say that the film made a strong impression on me is to say nothing. After all, children's thinking perceives everything at face value.

    And how these guys famously cleared ATMs, turned off traffic lights and played with electricity throughout the city - for me it was magic. Then it occurred to me that it would be cool to become as omnipotent as the Hackers.

    A few years later, I bought every issue of the Hacker magazine and tried to hack the Pentagon, although I still did not have Internet access.

    My heroes from the movie "Hackers"

    The real discovery for me was already a real PC, with a 15-inch tube monitor and a system unit based on the Intel Pentium II processor. Of course, he was bought by his uncle, who by the end of the nineties had risen high enough to allow himself such toys.

    The first time I got some kind of game turned on, and it wasn’t too exciting. But one day, the day of judgment came, the stars came together in a row and we came to visit an uncle who was not at home. I asked:

    - Can I turn on the computer?
    “Yes, do whatever you want with him,” the loving aunt replied.

    Of course, I did what I wanted with him. There were different icons on the Windows 98 desktop. WinRar, Word, FAR, Scarf, games. Having clicked on all the icons, my attention turned to FAR Manager. It looks like an incomprehensible blue screen, but with a long list of (files) that you can run.

    By alternately clicking on each, I caught the effect of what was happening. Something worked, something not. After a while, I realized that files that end with ".exe" are the most interesting. They launch different cool pictures in which you can also cloak. So I probably launched all the available exe-files on my uncle's computer, and then they barely pulled me over the ears from a super-interesting toy and took me home.

    Far manager
    The same FAR Manager

    Then there were computer clubs. My friend and I often went to them to play Counter-Strike and Quake on the network, which could not be done at home. I often asked my parents for a trifle to play in the club for half an hour. Seeing my eyes like a cat from Shrek, they offered me another lucrative contract. I finish the school year without triples, and they buy me a computer. The contract was signed at the beginning of the year, in September, and the coveted PC should have arrived already in June, and subject to the agreements.

    I tried my best. He even sold his beloved Sony Playstation on emotions, in order to be less distracted from studies. Although I studied so-so, but the 9th grade was significant for me. Blood from the nose, it was necessary to get only good grades.

    Already in the spring, anticipating the purchase of a PC, probably the most significant event in my life happened. I try to think ahead, and so one day I told my father:

    - Dad, I don’t know how to use a computer. Let's sign up for courses.

    No sooner said than done. Opening a newspaper with advertisements, my father found a block in small print with the heading "Computer courses . " I phoned the teachers and after a couple of days I was already at these courses. The courses were held on the other side of the city, in the old panel Khrushchev, on the third floor. In one room there were three PCs in a row and on them actually interested persons were trained.

    I remember my first lesson. Windows 98 was loaded for a long time, then the teacher took the floor:

    - So. Here is the Windows desktop. There are program icons on it. At the bottom of the Start button. Remember! All work begins with the start button. Left-click on it.
    He went on.
    - Here - you see the installed programs. Calculator, Notepad, Word, Excel. You can also turn off the computer by clicking on the “Shutdown” button. Give it a try.
    Finally, he moved on to the more difficult part for me at that time.
    - On the desktop, the teacher said, you can also see programs that can be launched by double-clicking.
    - Double !? - How's that?
    - Let's try. Launch Notepad by double-clicking on it with the left mouse button.

    Yeah, right now. The most difficult thing at that moment was to keep the mouse in one place and at the same time quickly double-click. At the second click, the mouse twitched a little and the shortcut with it. But still, we managed to master such an insurmountable task during the lesson.

    Then there was training for Word, Excel. One day, they just let me look through pictures of nature and architectural monuments. It was the most interesting activity in my memory. Far more fun than learning to format text in Word.

    In the neighborhood with my PC, other students studied. A couple of times I came across guys who wrote programs, while vigorously discussing this process. It interested me too. Remembering the movie Hackers and the boring MS Office, I asked to be transferred to programming courses. Like all significant events in life, this happened spontaneously, out of interest.

    I arrived at my first programming lesson with my mom. I don’t remember why. Apparently she should have agreed on new courses and paid. It was spring in the yard, it was already dark. We drove through the whole city on a minibus-Gazelle to the outskirts, reached the notorious
    Khrushchev panel panel, went up to the floor and let us in.

    They put me behind an extreme computer and opened a program with a completely blue screen and yellow letters.

    - This is Turbo Pascal. The teacher commented on his action.
    - Look, here I wrote the documentation, how-what works. Read it.

    Before me was a canvas of yellow, absolutely incomprehensible text. I tried to find out something for myself, but I could not. Chinese grammar and that's it.

    Finally, after some time, the course leader handed me a printed sheet of A4. It was written on some kind of oddity that I had previously caught a glimpse of on the monitors of guys from programming courses.
    - Rewrite what is written here. He ordered the teacher and left.
    I began to write:
    program Summa;

    I wrote while looking for English letters on the keyboard. In Word, I’ve even trained in Russian, but here I need to learn other letters. The program was typed with one finger, but very diligently.
    begin, end, var, integer - what is it? Although I studied English from the first grade and knew the meaning of many words, but I could not fit it all together. Like a trained bear on a bicycle, I continued to pedal. Finally, something familiar:
    writeln ('Enter the first number');
    Then - writeln ('Enter second number');
    Then - writeln ('Result =', c);

    The very first Turbo Pascal program

    Fuh, wrote. He removed his hands from the keyboard and waited for the guru to appear for further instructions. Finally he came up, ran his eyes across the screen, and said to press the F9 key.
    - Now the program is compiled and checked for errors, said the guru.
    There were no errors . Then he said to press Ctrl + F9, which for the first time also needed to be explained to me step by step. What you need to hold Ctrl, then press F9. The screen turned black and finally an entry clear to me appeared on it: "Enter the first number."
    At the command of the teacher, I entered 7. Then the second number. I enter 3 and press Enter.

    A line appears instantly on the screen 'Result = 10'. It was euphoric and I had never experienced anything like it in my life before. It was as if the whole Universe had opened before me and I ended up in some kind of portal. Warmth passed through the body, a smile appeared on my face, and somewhere very deep in my subconscious I realized that it was mine . Very intuitively, at the level of emotions, I began to feel what a huge potential in this buzzing box under the table. How much you can do with your own hands, and she will do it!

    That it’s some kind of magic. My head did not fit at all, like that yellow incomprehensible text on a blue screen, turned into a convenient and understandable program. Which still counts! It was not the counting itself that surprised me, but the fact that the written hieroglyphs turn into a calculator. Between these two events there was an abyss at that moment. But intuitively, I felt that this piece of iron could do almost everything.

    Almost all the way home in a minibus, I was as if in space. This picture was spinning in my head with the inscription “Result”, how it happened that this machine could still, could I write something myself without a piece of paper. Thousands of questions that interest me excited and inspired at the same time. I was 14 years old. That day, the profession chose me.

    Part 2. School or self-education >>

    Also popular now: