Career programmer. Part 3. University

    Continuation of the story "Career programmer . "

    After graduating from evening school, it was time to go to university. In our city there was one university of a technical orientation. In it, there was one faculty of “Mathematics and Informatics”, in which there was one department of “Computer Systems”, where they trained future IT-specialists - programmers and administrators.

    The choice was small and I applied for a specialty in Computer Programming. There were 2 entrance exams ahead. In language and math.

    The exams were preceded by an interview, and the choice of the form of training - a budget or a contract, i.e. free or for money.

    My interview was attended by parents who were worried about admission.

    Of course, they chose a contract form of training. By the way, it cost about $ 500 / year, which for 2003 was a lot of money, especially for our small town. I well remember the dialogue between the father and the girl from the admissions committee:

    Girl : You can try to pass exams on the budget, and if it doesn’t work, then go to the contract. You can pay in installments.
    Father : No, we have already decided that we will enter the contract
    Girl : Well, why, you do not risk anything
    Father : No, this is still a risk. Tell me, does everyone come to the contract?
    Girl : Yes, everyone is coming. Probably only morons cannot do it
    Father : Then we have a chance ... grinning, he said, and we signed the documents for admission

    Of course, performances from high school were still fresh in the memory of parents, so over the years I understand why this was said.

    In the summer, before admission, I continued to buy books for all $ 40, which my grandmother gave me from retirement.

    From the memorable and significant:

    1. “UML 2.0. Object Oriented Analysis and Design . The book that taught me how to design software of any complexity, think over the architecture, lay out everything on components, prescribe use-cases, draw UML diagrams. This is the knowledge that seniors, leads, architects need. To those who materialize the system from the void, when there is only a description of the idea.

    I know people who are already over 30, and they still can’t make a decision, if there is no indication from above, from the developer is higher rank. In freelance and remote work, when you often work face to face with a client, this knowledge is also invaluable.

    They are relevant for indie developers who create new applications and services. Although few people bother with detailed design. Therefore, we have software of this quality, swallowing all the memory, with a UX curve.

    2. "ANSI C ++ 98 Standard". Not really a book, but it's over 800 pages of background information. Of course, I did not read it section by section, but turned to the specific rules of the language when developing my C ++ compiler. The depth of knowledge of the language, after studying and implementing the standard, is not described by any excellent epithet. We can say that you know everything about the language, and even more. Very long, painstaking work on the study of the standard. But I had 5 years of university ahead, so no one drove

    3. “Delphi 6. A practical guide.”. It was a rapid leap into the world of GUI and form splashing. There was almost no entry threshold, and I already knew Pascal quite well. While at university, I wrote the lion's share of commercial programs on Delphi. It was software for graduate students of the university, accounting for small business, state. institutions. Then there were several freelance orders. In the mid-zero, Delphi dominated the Windows development market. Until now, at the box office in local stores you can see programs with familiar fonts and controls that immediately distinguishes the Delphi application from any other

    4. “MFC Tutorial”. Having mastered with Delphi, it was logical to continue to create UI in C ++. It was many times more complicated, not everything worked out and was understandable. However, I brought this technology to the stage of application in commercial projects. One German antivirus company is distributing my program written in MFC so far.

    5. "3 disks with MSDN Library 2001" . I didn’t have the Internet right away, and as far as I remember, the MSDN Library wasn’t on the network in 2003. In any case, it was easier for me to install the MSDN directory on the local PC and it is easy to find documentation for any WinApi function or MFC class. The most significant books read in the period 2002-2004


    These are books that were read in the period 2002-2004. Of course, now this is a shabby legacy, which is rewritten in batches of .NET and Web-based technologies. But this is my way, maybe some of you had a similar one.

    First semester

    At the end of summer, it was time to take entrance exams to the university. Everything went smoothly. I passed the exam in language and mathematics and was enrolled in the first year of the specialty "Programming of computer systems."

    The first of September, as expected, I went to the first couples in my life. “Student time is the brightest time in life,” my mother told me. Willingly believed in it.

    On the first day, 3 pairs passed in general subjects, everyone met each other in a group, and in general the university left a good impression.

    Finally, we began to learn true C programming! And in addition, they taught the history of computer science, digital technology and many other relevant information for me. Even the mat. the analysis was opportune, as it allowed me to more deeply understand what the deeply respected Donald Knut wrote.

    The programming pairs took place in a driving atmosphere for me. Finally, people came to me for help. I felt fit. At the beginning of the pair, we were given the task of writing a program. The task was designed for a couple and a half, then half an hour to check. I managed to write the task in 3-5 minutes, and the rest of the time I walked around the office and helped others figure out the task.

    Computers for the whole group were not enough, so most often we sat in pairs at one PC. Seeing my abilities, three, four, and sometimes 5-6 people sat down near my desk to sit down to learn what I learned a couple of years ago from the book of Kernigan and Ritchie.

    My classmates saw my abilities and came up with questions themselves, or suggested just taking a walk after couples. So I made many friends, most of whom are still friends.

    In winter, it was time for the first session. In total, 4 subjects were required: 2 varieties of higher mathematics, history and programming. Everything surrendered, where by 4 points, where by 3. And programming was set to me automatically. The teachers already knew my skills, so they didn’t see the point of testing me. I joyfully appeared with an offset to the session to get the painting in it and was about to return home, as classmates asked me to stay and stand outside the door. Well. Placed at the windowsill, at the exit from the office, I began to wait. Another guy was spinning next to me, who also passed the exam automatically.

    “Why are you lingering here?” I asked
    , “I want to make money on problem solving.” Why are you? ”
    - "I, too. Just not going to make money. If you need help, then out of kindness, I’ll decide for no reason. ”

    My opponent hesitated and muttered something in response.

    After a while, classmates began to leave the audience, taking with them folded sheets on which there were tasks from the exam.

    “Help me decide,” the first daredevil asked. “Okay, I'll decide now,” I replied. In less than 5 minutes, I scribbled the solution on a rumpled leaflet with a ballpoint pen and gave it back. Seeing that the scheme works, people began to leave the audience much more often, and sometimes even two or three at a time.

    There were three stacks of leaves on my working windowsill. In one pack, the newly arrived TODO sheets. In front of me was a leaf of In Progress, and next to it was a pack of “Done”.

    It was my finest hour. The whole group, and this is almost 20 people, turned to me for help. And I helped everyone.

    And that guy who wanted to earn money, hastily retired after a few minutes, realizing that there was nothing to catch here, all attention was focused on the altruist.

    The whole group passed the exam for 4 and 5, and now I have made 20 friends and unshakable authority in programming.

    First money

    After the winter session, there were rumors throughout the faculty that there is a guy who can solve any programming problem, of which we were asked to go home or during the session. Moreover, not only among freshmen, but also in senior courses there was a rumor.
    As I already wrote, in the group I developed friendly relations with everyone after the "finest hour" in the exam, and we began to communicate very closely with a couple of guys. We became real friends, and spent a lot of time outside the university. For simplicity, let's call them Ilon and Alain (nicknames are close to real).

    We called Ilona by name, Allen, was nicknamed in honor of Alain Delon, for his ability to taunt any beauty. Girls literally circled around him, in various numbers. In terms of dating and tightening up relationships at night - Alain Delon had no equal. He was a real male alpha, which is not typical of most IT people. In addition to amorous affairs, Alain was a designer by vocation. And if you needed to draw something, for example, then popular Web 1.0 format flashing banners, then he did it with ease.

    You can tell a lot more about Ilona. We still cross with him, already ten years after uni. In the first courses, he was a skinny, rather silent guy. (What can’t you say about today's jerky guy in a jeep). However, I was the same - thin and taciturn. Therefore, I think we quickly found a common language.

    Often after the couples, I, Ilon and Allen, gathered in a pub covered with tarps. Firstly, she was across the street from the university, and secondly, to the “ruble” and 50 kopecks, it was possible to collect nishtyakov for 2 hours of incendiary party. Like draft beer and crackers. But the essence was different.

    Ilon and Alain were from other cities, and lived in a rented room. They were constantly short of money, and there were cases that they had to starve. Happy moments when they received a $ 10 scholarship on their card were celebrated on the same day and then it was time to “tighten their belts” and live on what God would send.

    Of course, this alignment motivated visiting students to look for ways to earn extra money. And in front of them, at arm's length, sat a “bright head” in the form of me. Which is also malleable and rarely refuses people to help.

    I don’t know if I correctly described that situation, but in the end, these gatherings in the brewery led to the creation of the first IT company in my career under the name SKS. The name was simply made up of the first letters of our surnames. Our young company, represented by three founders, tore the competitors and the whole university apart for the next four years.

    Ilon was a ROP. That is - the head of the sales department. Namely, it was his responsibility to find new customers for our outsourcing business. The sales channel was horizontally printed A4 leaflets, with a simple caption: "Solving programming problems." And below is Ilona’s phone.

    This kind of outdoor advertising was placed on each floor, where students who study programming could appear.

    An additional, more powerful in terms of customer loyalty, was the sales channel via word of mouth.

    The business model was simple. Either by recommendation or by announcement, a university student contacted us. I gave a description of the programming task that needed to be solved by a certain date, and for the student price I solved it. Ilon was engaged in sales and received his percentage. Alain Delon was less likely to participate in our business, but if it was necessary to make a design, picture or attract additional customers, then he was always welcome. With his charm, he brought us quite a lot of new people. I could only process this conveyor at a speed of 5-10 tasks per day. The deadlines were tough - no more than a week. And more often, it was necessary to do on yesterday. Therefore, such circumstances quickly taught me how to write programs in a “stream”, without being distracted by any trifle like an earthquake with a magnitude of 5.9 or a major accident outside the window.

    In the hottest season, before the session, that is, in December and May, it seemed that I had the tasks of the whole uni on my computer. Fortunately, most of them were of the same type, especially when a wholesaler in the person of a representative of an entire group contacted us. Then it was possible to do 20 tasks, for example in assembler, changing only 2-3 lines. In such a season, leads flowed in. The only thing we lacked was a floppy disk. In 2003-2005, the poor students of our city did not have such a thing as throwing them off over the Internet. Moreover, there were no guarantees of payment, which is now called the term escrow. Therefore, SKS company, as an executor of orders, made an appointment at the university and we gave the floppy diskwith the decision. There was almost no refund (from the English refund - refund at the request of the client). Everyone was satisfied, and got their 4-5 points, if they could learn, what I added to the readme.txt file on a floppy disk. Although, a simple demo of a fully working program also often caused a wow effect among teachers.

    Price was ridiculous of course, but we took in quantity. For example, a typical home task cost $ 2-3. Coursework 10 $. The jackpot in the form of a program for a candidate's work fell out once, and it was already $ 20 for an application for a graduate student preparing for defense. In the hot season, this income can be multiplied by 100 customers, which in the end was more than the average salary in the city. We felt cool. They could afford night clubs and have fun there in full, and not choke on pasties for the last penny.

    In terms of my skills - they multiplied with each new student task. We began to receive applications from other faculties, with a different curriculum. Some undergraduates already used Java and XML to the full when we relied on C ++ / MFC. Someone needed Assembler, someone needed PHP. I recognized the whole zoo of technologies, libraries, data storage formats and algorithms for myself when solving problems.

    This universalism has remained with me to this day. In working on projects, a variety of technologies and platforms are also used. Now I can write software or application for any platform, OS or device. The quality will of course be different, but for the business with which I mainly deal, the budget is usually important. And a man orchestra for them is a reduction in the budget exactly as many times as many developers I can replace with my skills.

    If we talk about the greatest benefits that I received from studying at the university, then these will not be lectures on algorithms or philosophy. And do not “learn to learn,” as it is fashionable to talk about universities. The first - it will be people with whom they have remained friendly relations after training. And the second is the SKS company, which forged a professional developer from me, with real and diverse orders.

    I want to recall a phrase that is very suitable for this part of the story: a person becomes a programmer when other people start using his programs and pay money for it .

    Thus, the SKS company brand was widely known not only in student circles, but also among teachers. There was even a case when one of the teachers came to my house so that I could help him write a program for his scientific needs. He, in turn, helped me in his specialization. We were both so carried away by our work that both fell asleep at dawn. He's on the couch, and I'm on a chair in front of a computer. But they completed their tasks, and both were pleased with each other's work.

    Twist of fate

    The 4th year of university began. The last course, at the end of which a bachelor’s diploma is awarded. It practically did not have general educational disciplines, but there was only what was connected with computers and networks. Now, sometimes I'm sorry that I did not have time or did not show interest in the same electronics or the internal structure of networks. Now I’m reading this out of necessity, but I’m sure that any basic developer needs this basic knowledge. On the other hand, you cannot know everything.

    I ended up writing my C ++ compiler, which already knew how to check code for errors by the standard and generate assembler instructions. I dreamed that just about, and I could sell my compiler for $ 100 for a license. Multiplied it by a thousand buyers and mentally
    ported to Hammer, with bass from 50 Cent speakers and beauties in the back seat. What can you do, in 19 years - such priorities. The trick of my self-made compiler was that it threw errors in Russian, instead of not all understandable English from Visual C ++ and gcc. I saw this killer feature, which no one in the world had yet invented. Then I think it makes no sense to tell. It didn’t reach sales. However, it came to deep knowledge of the C ++ language, which has fed me so far.

    In my fourth year I went to university less and less, because I knew most of the program. And the one that I did not know, I decided to barter with a student who thought, for example, in electronics or probability theory. What we just did not invent then. And inconspicuous headphones on the wire, in which the answer was dictated. And running out of the audience, so that the guru in his specialty in 2 minutes scribbled you the solution to the entire exam. It was a great time.
    In the same course, I began to think about this work. With an office, real commercial applications and a decent salary.

    But at that time, in our city, it was possible to find work except as a programmer
    “1C: Accounting”, which didn’t suit me at all. Although from hopelessness, I was already ready for this. At that moment, my girlfriend pressed me to move to a separate apartment.
    And then sleep when parents through the wall - not comme il faut at all. Yes, and I, to solve student problems already fed up, and I wanted something more.

    Trouble came from where they did not wait. I thought of posting an ad on that I was looking for a job with a salary of $ 300 for the position of a C ++ / Java / Delphi programmer. This is the 2006th year. To which they basically answered something in the spirit: “Maybe you should write to Bill Gates with such requests for salary?”. This upset me, but among a bunch of similar answers, there was a man who brought me to freelance. This was the only opportunity in our impoverished Las Vegas to earn good money with what I knew how to do.

    So studying at the university, flowed smoothly into work on a freelance exchange. Closing the topic of the university, we can say the following: I did not go to the 5th course. There was one programming and such a concept as “free visit”, which I used by 146%.

    The only thing that needed to be done was to protect a specialist diploma. What I successfully did, with the help of my friends. It is worth saying that for this course I have already moved from my parents to a rented apartment and bought a new car. So began my career as a professional developer.

    The following chapters will be devoted to individual projects, the most fierce fails and the most inappropriate clients. A career in freelance from $ 5 to $ 40 / hour, launching my startup, how I got banned on the Upwork Freelance service and how I went from freelance to team leads to the second largest oil company in the world. How he returned back to a remote place, after an office and a startup, and how he solved internal problems with socialization and bad habits.

    Part 4. Junior. Freelance call >>

    Also popular now: