programmer career. Chapter 1. The first program

programmer career. Chapter 1. The first programDear Habr readers, I present to your attention a series of posts that I plan to combine into a book in the future. I wanted to dig into the past and tell my story, how I became a developer and continue to be one.

About the prerequisites for getting into IT, the path of trial and error, self-learning and childish naivety. I will start 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 will probably draw parallels with their own path.

In this book you will find references to the literature I read, the experience of communicating with people with whom I crossed paths while studying, working and launching a startup.
Starting from teachers at the university, ending with large venture investors and owners of multi-million dollar companies.
To date, 3.5 chapters of the book are ready, out of a possible 8-10. If the first chapters get a positive response from the audience, I will publish the entire book.

About Me

I am not John Carmack, Nikolai Durov or Richard Matthew Stallman. I didn't work for such companies as Yandex, VKontakte or Mail.ru.
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 the big name, but in the very history of the path to the developers, and further, in the victories and defeats that were during my 12-year career in commercial development. Of course, some of you have much more experience in 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
— Participated in more than 70 commercial projects, many of which were written from scratch
— In the top ten own projects: open-source, startups
— 12 years in IT. 17 years ago - wrote the first program
Microsoft Most Valuable Person 2016
— Microsoft Certified Professional
— Certified Scrum Master
— Good command of C#/C++/Java/Python/JS
— Salary — $6000-9000/month. load dependent
- The main place of work today is the freelance exchange Upwork. 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'm getting ready to start my own IT company, around the project that I'm currently developing

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

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

Story. Start.

I first learned what a computer is when I was 7 years old. I just went to first grade and at the art lesson we were given homework to make a computer out of cardboard, foam and felt-tip pens. Of course my parents helped me. Mom in the early 80s studied at a technical university and knew firsthand what a computer is. During the course of study, she even managed to punch punch cards and load them into a giant Soviet machine that occupied the lion's share of the training room.

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

The next intersection with computer technology happened to me somewhere at the same age. On weekends, I often visited my grandparents, who, in turn, traded various junk and also willingly bought it for a penny. Old clocks, samovars, boilers, badges, swords of warriors of the 13th century and more. Among all this variety of things, someone brought him a computer that worked from a TV and an audio tape recorder. Fortunately, my grandmother had both. Soviet-made, of course. TV Electron with eight buttons for switching channels. And a Vega two-cassette tape recorder, which could even re-record tape audio cassettes.
programmer career. Chapter 1. The first program
Soviet computer "Poisk" and peripherals: TV "Electron", tape recorder "Vega" and audio cassette with BASIC language

We began to understand how this whole system works. The computer came with a couple of audio cassettes, a badly worn manual, and another pamphlet with the title "The 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 cassettes into the tape recorder compartment, pressed the “Forward” button (i.e., start playback) and an incomprehensible pseudo-graphics of text and dashes appeared on the TV screen.

The head unit itself looked like a typewriter, only fairly yellowed and of a noticeable weight. I pressed all the keys with the excitement of a child, did not see a tangible result and ran and went for a walk. Although I already had a manual on the BASIC language in front of me with examples of programs that I simply could not rewrite due to my age.

From childhood memories, of course, I remember all the gadgets that my parents bought me, formed with other relatives. The first rattle was the well-known game "Wolf Catches Eggs". I went through it pretty 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 I was given a million for academic success. Deservedly feeling like a millionaire, I ordered this more complex game for my parents, where it was necessary to correctly lay out figures of various shapes falling from above. On the day of the purchase, Tetris was taken from me by my parents, who themselves could not get rid of it for two days.

programmer career. Chapter 1. The first program
The famous "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. Uncle was a military pilot, he went through hot spots, so despite his modesty he was very tenacious and was not afraid of anything, after real
military operations. Like many people in the 90s, my uncle went into business and had a pretty good income. So in his room appeared an imported TV, a VCR, and then a Subor prefix (analogous to Dendy). It took my breath away to watch him play Super Mario, TopGun, Terminator and other games. And when he handed me the joystick, my happiness knew no bounds.

programmer career. Chapter 1. The first program
Eight-bit prefix "Subor" and the legendary "Super Mario"

Yes, I, like all ordinary children who grew up in the nineties, spent all day in the yard. Sometimes playing pioneer ball, sometimes badminton, sometimes 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 bluffs, patties and classics. Therefore, seeing my genuine interest in consoles, my parents gave me the task of learning the multiplication table. Then they will fulfill my dream. She is taught in the second grade, and I just finished the first. But, said - done.

A stronger motivation than their own game console - it was impossible to imagine. And a week later I easily answered the questions “seven nine”, “six three” and the like. The test was passed and I was bought a coveted gift. As you will learn further, consoles and computer games played a significant role in getting me interested in programming.

So year after year passed. The next generation of game consoles were coming out. First Sega 16-bit, then Panasonic, then Sony PlayStation. Games were my entertainment when I was good. When there was some kind of jamb at school or at home, joysticks were taken away 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 yet returned from work to occupy the TV, was also a kind of luck. So to say that I was a gamer or spent whole days playing games is impossible to say. There was no such possibility. I rather spent the whole day in the yard, where you could also find something
interesting. For example, a completely wild game - air shooting. In our time, you will no longer meet this in the yards, but then it was a real war. Paintball is just child's play compared to the carnage we had. The airs were
loaded with dense plastic bullets. And having shot another kid at close range, there was a bruise on the floor of the arm or abdomen. So they lived.

programmer career. Chapter 1. The first program
Toy gun from childhood

It will not be superfluous to mention the film "Hackers". He came out just in 1995, starring 20-year-old Angelina Jolie. To say that the film made a strong impression on me is an understatement. After all, children's thinking perceives everything at face value.
And how these guys famously cleaned ATMs, turned off traffic lights and played with electricity throughout the city - for me it was magic. Then the thought came into my head that it would be cool to become as omnipotent as the Hackers.
A few years later, I bought every issue of Hacker magazine and tried to hack the Pentagon, even though I didn’t have the Internet back then.

programmer career. Chapter 1. The first program
My heroes from the movie "Hackers"

A real discovery for me was already a real PC, with a 15-inch lamp monitor and a system unit based on an Intel Pentium II processor. Of course, his uncle bought him, who by the end of the nineties had risen high enough to afford
such toys. The first time I was turned on some game, and it was not too exciting. But one day, the day of judgment came, the stars converged in a row and we came to visit my uncle, who was not at home. I asked:
— May I turn on the computer?
“Yes, do what you want with him,” the loving aunt answered.

Of course, I did what I wanted with it. Windows 98 desktop had different icons. WinRar, Word, FAR, Klondike, games. After clicking on all the icons, my attention was focused on the FAR Manager. It looks like an incomprehensible blue screen, but with a long list (of files) that can be launched. Alternately clicking on each, I caught the effect of what was happening. Some worked, some didn't. After a while, I realized that the files that end in ".exe" are the most interesting. They launch different cool pictures that you can also click on. So I launched probably all the available exe-files on my uncle's computer, and then I was barely pulled by the ears from the super-interesting toy and taken home.

programmer career. Chapter 1. The first program
The same FAR Manager

Then there were computer clubs. My friend and I often went into them to play Counter Strike and Quake online, which was impossible to do at home. I often asked my parents for a change 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 Cs, and they buy me a computer. The contract was signed at the beginning of the year, in September, and the coveted PC was supposed to arrive as early as 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 his studies. Although I studied so-so, but the 9th grade was significant for me. Nosebleed, only good grades should have been.

Already in the spring, anticipating the purchase of a PC, probably the most significant event in my life took place. I try to think ahead, and therefore one fine day I told my father:
“Dad, I don’t know how to use a computer. Let's sign up for a course

No sooner said than done. Opening the newspaper with ads, the father found a block written in small print with the heading "Computer courses". I phoned the teachers and in a couple of days I was already on these courses. The courses were held at the other end of the city, in an old panel Khrushchev building, on the third floor. In one room there were three PCs in a row, and those who wished to study on them.

I remember my first lesson. Long loading Windows 98, then the teacher took the floor:
- So. You have a Windows desktop. It contains program icons. At the bottom is the start button. Remember! All work begins with the Start button. Click it with the left mouse button.
He continued.
- Here - you can see the installed programs. Calculator, Notepad, Word, Excel. You can also turn off the computer by clicking on the "Shut down" button. Try.
Finally, he moved on to the more difficult part for me at the time.
- On the desktop, the teacher said, you can also see programs that can be launched by double-clicking.
- Double!? — How is that in general?
- Let's try. Launch Notepad by double-clicking on it with the left mouse button.

Yep, cheers. The most difficult thing at that moment was to keep the mouse in one place and at the same time quickly double-click. On the second click, the mouse twitched a bit, and so did the shortcut. But still, such an insurmountable task was overcome during the lesson.
Then there was training in 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. Much more fun than learning how to format text in Word.

Next to my PC, other students were studying. A couple of times I got on the guys who wrote programs, while vigorously discussing this process. This also interested me. Remembering the movie Hackers and tired of MS Office, I asked to be transferred to courses
programming. Like all significant events in life, this happened spontaneously, out of interest.

I came to the first programming lesson with my mother. I don't remember why. Apparently she had to negotiate for new courses and make payment. It was spring outside, it was already dark. We drove through the whole city on a Gazelle minibus to the outskirts, reached the notorious
panel Khrushchev, went up to the floor and let us in.
They put me at the last computer and opened the 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, get acquainted.
Before me was a canvas of yellow, absolutely incomprehensible text. I tried to figure something out for myself, but I couldn't. Chinese grammar and that's it.
Finally, after a while, the course leader handed me a printed A4 sheet. On it was written some oddity that I had previously seen briefly on the monitors of the guys from programming courses.
- Rewrite what is written here. The teacher ordered and left.
I began to write:
program Sum;

I wrote, simultaneously looking for English letters on the keyboard. In Word, I 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 this? Although I studied English from the first grade and knew the meaning of many words, I could not tie 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);
programmer career. Chapter 1. The first program
The very first Turbo Pascal program

Phew, wrote. He removed his hands from the keyboard and waited for the guru to appear for further instructions. Finally, he came over, ran his eyes across the screen, and told me to press the F9 key.
- Now the program is compiled and checked for errors, said the guru
There were no mistakes. Then he said to press Ctrl + F9, which I also had to explain step by step for the first time. That you need to hold down Ctrl, then press F9. The screen went black and finally a clear entry 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.

The string 'Result = 10' appears on the screen at lightning speed. It was euphoria and I had never experienced anything like it in my life. As if the whole universe opened up before me and I fell into some kind of portal. Warmth passed through my body, a smile appeared on my face, and somewhere very deep in my subconscious, I realized - what is mine. Very intuitively, on an emotional level, 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 sort of magic. It didn’t fit in my head at all, how that incomprehensible yellow text on a blue screen turned into a convenient and understandable program. Which still itself and considers! I was surprised not by the calculation itself, but by the fact that the written hieroglyphs turn into a calculator. Between these two events there was an abyss at that time. But intuitively, I felt that this piece of iron can do almost everything.

Almost all the way home in a minibus, I was like in space. This picture with the inscription “Result” was spinning in my head, how it happened, what else this machine can do, whether I myself can write something without a piece of paper. A thousand questions of interest to me, excited and inspired at the same time. I was 14 years old. On that day, the profession chose me.

To be continued ...

Source: habr.com

Add a comment