How I didn't become a programmer at 35

How I didn't become a programmer at 35
From the very beginning of September, publications about successful success flooded Habr on the topic “Childhood of a programmer”, “How to become a programmer after N years”, “How I left for IT from another profession”, “The path to programming” and so on. Articles like this are written all the time, but now they are somehow especially crowded. Every day, psychologists, students, or someone else write.

And in each article a familiar song sounds: the main thing that the authors advise is “try”, “do not give up”, “do not be afraid” and “go for your dream”; and in the comments you can often find the opinion that if you have loved computers since childhood, then working with them is not surprising in the end. I would like to use the example of my biography to lead readers to the idea that the initial conditions may be more important than the efforts made. Faith in a just world contributes to psychological comfort, but does not very correctly reflect reality.

Not allowed: start

How I didn't become a programmer at 35

Энциклопедия профессора Фортрана для старшего школьного возраста

My story begins in early childhood with a Corvette computer in a computer science classroom. But this was an accidental ray of light in the dark realm of post-Soviet education - in those days, the official study of computer science had to begin in the 11th grade. I just signed up for a computer-learning elective that was randomly launched for the lower grades. Once a week, they opened the heavy iron door of a dark office with bars on the windows for us and showed us how to display "Hello" on the screen using a corvette basic. It was great, but it didn't last long.

Apparently it was some kind of educational experiment that ended in just six months. I had little time to learn, I only managed to get interested. But when the elective ended, they explained to me in a popular way: in fact, computers are not for children, before the eleventh grade, people do not grow up to study computer science.

Here it is worth noting that the dashing nineties reigned around, when various technical circles at the palaces of pioneers were already closed for the most part, and home computers had not yet become commonplace. So you couldn't get access to technology - or computers - just because you want to study them. The winners were the children of either those people who integrated into the new market economy, or those who had access to computers on a daily basis - engineers, computer science teachers, "technical specialists" at various departments.

For example, many years later I learned that around the same year my (future) classmate was given a ZX Specrum by his parents. For games, of course.

Most likely, I would have remained outside the new digital world. I studied and grew up in full confidence that now I will get to the computer no earlier than in the eleventh grade. It's funny that in the end it all happened. But about a couple of years before that, a real miracle happened - I received a computer as part of a local charity event.

It would seem that this is where I would have to catch up - but life again made its own adjustments.

There is a well-known saying that if a beggar is given a million dollars, he will not know what to do with it. Of course, if this is a smart beggar, he will spend part of the million on education, including learning how to handle money. But still, this cannot be compared with what a person who has grown up among money can do. Such trouble arises whenever a person falls out of the boundaries of his social stratum.

Since under normal circumstances I could never have had a computer, I didn't have the money for any courses or related products either. For the same reason, I did not have connections among people who could tell me something, I simply did not enter this circle. The computer was literally a piece of another world. Not ordinary household appliances, as they are now, but something like an elven artifact. Therefore, I could not experiment and learn something from my own experience - "you will break an expensive thing." Therefore, I could not tell my peers that I have a computer at home - the dashing nineties are around, do you remember? Accordingly, the opportunities for exchanging information were sharply curtailed - I could not ask anyone for advice, I could not ask questions and share experience. Internet? What? What internet? Maybe fido? We didn't even have a phone.

You could go to the library, look for books or reference books for free, and then a second problem arose. It was too progressive for those conditions computer. It had Windows 95 installed.

I took the main (only) book about computers that was in the library - the famous textbook Gein / Zhitomirsky "Fundamentals of Informatics and Computer Engineering" with a red cover. You can now find it on the Internet and feel the contrast between its contents and the contents of a full-fledged computer with Windows 95 on board. The situation was aggravated by the fact that it was difficult to get even pirated software - before the heyday of DVD stores with catchy names "All Office Software - 2000" there were still a couple of years left. But when they appeared, I still did not have money for discs.

By the way, somewhere here the time has come for “official” computer science in the 11th grade - we were given the textbook of the 91st edition already mentioned by me, and the real tasks were to draw simple algorithm trees (with pencil on paper) and use the Lexicon text editor .

slapstick

How I didn't become a programmer at 35

Настоящие программисты и я

As a result, my computer development has been depressingly stalled for this couple of years. I've read Windows help, procured floppy disk programs by hook or by crook, and learned to be a "power user" by editing the autoexec.bat file. "Lexicon" brought from school, but what about. In general, by the time I could finally return to my childhood and start programming in qBasic, visual interfaces already reigned supreme.

This contrast in many ways destroyed my motivation to deeply study conventional text-based programming. The reason was the depressing mismatch between the graphics of Windows 95, with which I began a real immersion in the computer world, and the dull text screen of the languages ​​\u10,15b\uXNUMXbknown to me then. The previous generation of programmers simply enjoyed the fact that writing POINT(XNUMX) would cause a dot to appear on the screen. For them, programming was "drawing something on the screen that wasn't there." For me, the screen was already filled with forms and buttons. For me, programming was “make a button do something when it is pressed” - and making the button itself was just boring.

As a lyrical digression, I want to note that now the development of programming languages ​​in a spiral has returned to the same situation. Now all “real programmers” are again typesetting interfaces in a notebook, and now every programmer is supposed to be a designer again. Again, it is necessary to place buttons, input boxes and other controls on the screen exclusively with the help of code. As a result, the classic 80/20 rule looks like this in this case: “We spend 80% of the time creating an interface by manually typing code and 20% of the time setting the behavior of interface elements.” Why it was in the days of DOS and Pascal - I understand; there were no alternatives. Why this exists now, when everyone has already seen and touched VB, Delphi and C # - I don’t know; I suspect that the problem is in the paid or free development environment. Convenient is always expensive, and free versions of the mentioned environments appeared not so long ago.

This was also one of the reasons why Internet programming passed me by. Although there, as it turned out much later, it would be easiest to create a portfolio and become a programmer. I tried to play with both PHP and JS, but didn't want to "code in notepad". Well, another reason is that the Internet appeared for me either in 2005, or in 2006 - before that it was somewhere on the periphery of the picture of the world. Together with cell phones - "what rich people use."

So I abandoned all this dos programming and plunged headlong into the Northwind training database from Access, which gave me forms, buttons, macros, and the pinnacle of application programming - VBA. Probably somewhere at that moment I finally decided that in the future I want to work as a programmer. I got a disk with Visual Studio, bought a paper book (!) on VB and started riveting calculators and tic-tac-toe, rejoicing that the whole design is created on the form in a few minutes, and not written by hand. Since the computer was no longer a rarity, I was finally able to go out in public and discuss programming with my like-minded people.

In these discussions, it was revealed to me that VB is the last century, a dying language that was invented for secretaries, and all real boys write in C ++ or Delphi. Since I still remembered Pascal, I chose Delphi. Perhaps this was my latest mistake in a long line of obstacles to becoming a programmer. But I took the path of least resistance because I wanted to see the results of my work as soon as possible. And I saw them! I also bought a book on Delphi, I coupled it with Excel and Access, which I already knew, and as a result, in the first approximation, I made what would now be called a “BI system”. The sad thing is that now I have safely forgotten the whole pascal, because I haven’t touched it for ten years.

And, of course, I tried twice to enter the institute as a programmer. In our small town, there were not too many opportunities for this. For the first time, I foolishly went to enter the specialty "Applied Mathematics", from where people were released with just such a specialty - a programmer, but they were required to have a rigorous knowledge of mathematics far beyond the school course. So I didn't get a passing mark on the exam. I had to sit out in college, getting a secondary education. The second time I slightly lowered my requirements for myself and went to an engineering specialty - working as an engineer did not attract me too much, but still it was closer to working with computers from there. Only it was already too late - people tasted the benefits of technical specialties and rushed there in droves. Only medalists got to budget places.

So now I have a liberal arts degree. It is red, but not technical. And this is where the sad story of growing up begins to intersect with the sad story of finding a job.

Violinist is not needed

How I didn't become a programmer at 35

...но не обязательно выживу...

There is a very widespread myth that “they don’t ask a programmer for a diploma.” This myth has several reasons, I will try to list the main ones.

First, in the early nineties - and a bit in the late nineties - the knowledge of computer technology was, in principle, a rarity. If a person knew where the computer was turned on and could run the program, he did what the business needed. And the general mess in the labor market forced the employer to quickly find any person who is able to do the right job - no matter what he once studied there, it is important what he can do now. Therefore, a significant number of self-taught people calmly showed their skills at the interview and got a job.

Secondly, in those same years, business was developing very rapidly, but there was still no such modern concept as HR. Personnel officers remained Soviet personnel officers, drawing up work books and employment contracts, and interviews were conducted by specialists or managers personally. Since most of them were interested in the result, formal criteria like education were indeed considered last.

This led to a monstrous distortion in the mass consciousness. People who got a job in those conditions can quite sincerely say that a programmer does not need a diploma, and cite themselves as an example. You recognize this type, of course. If a person tells you “it is enough to show what you can do, and they will hire you” - this is just such a programmer, from those times, they took him, and he believed in the inviolability of the world. Approximately in the same way, Soviet old people say something like “yes, you work on a computer and you can read in English, I would with such skills wow!”. They no longer understand that with such skills, “wow” was only in Soviet times, and now every second person can do it.

Then exactly the same thing happened in the early XNUMXs, when oil began to rise, the economy developed, and crowds of new businessmen rushed to the labor market in search of anyone who could at least turn on a computer.

But at the same time, the flow of oil money has given rise to unproductive personnel - HR departments. The same old Soviet personnel officers turned out to be there, but quite unexpectedly they were entrusted with the task of determining the quality of any employee. They, of course, could not make decisions of this level. Therefore, they developed their own evaluation criteria, quite far from reality, based on translated books from the blessed west and formal criteria like education. Thus, a great turn took place: from real skills to formal criteria.

The myth remained alive, only slightly modified.

The economy was still growing, people were being grabbed from everywhere, lured away from other companies, but the personnel officers had already laid their tenacious paws on the selection process. And the most important thing was not “show what you can do” - anyway, the personnel officer will not understand what they are showing him - but “work experience”. So people who were once taken somewhere without a programmer education for the ability to press buttons were lured to another company simply because they had previously worked as a “software engineer”. And again, no one asked for a diploma, because it was not up to that - do you have “experience”? Well, sit down and get to work!

Finally, the last, third reason is the rapid development of the Internet and private projects. People created pet projects, these projects could be shown to anyone and thus prove their skills. You send a letter, attach a link to your site - and now you have, as it were, proved your skills.

What now?

Oil prices, as we know, have collapsed, but the myth still lives on. After all, there are a lot of people in the positions of “programmer engineers” who really got into these positions without a specialized education. However, now none of these reasons are fully working, and now few of them could repeat this trick with employment.

  • Knowledge of computer technology has become ubiquitous. Working with a computer is simply no longer indicated in the resume, just as the ability to read and write is not indicated there (this, by the way, would not hurt - I began to often meet grammatical errors even in official media, and they appear with enviable regularity in articles on Habré) .
  • HR departments and HR professionals have emerged who take no responsibility for their decisions and can use any selection criteria. Naturally, preference is given to formal ones - they look at age, education, gender and time at the previous place of work. Skills and abilities go by the residual principle.
  • There is no shortage of programmers for a long time. There is a shortage good programmers, but this is true in general for any specialty. And every student on the Internet works as an ordinary programmer, on freelance sites people literally fight for the right to do something for free for a portfolio.
  • Pet projects have also become commonplace. The Internet is littered with personal sites and Tetris clones, and this project is already becoming almost mandatory, that is, after passing the sieve of personnel selection, you find yourself in a sieve of selection of specialists, and they say “show me your github”.

People who have an education - or people who have experience that replaces education in the eyes of HR departments - see only the second part. They usually say something like this: “a programmer does not need a diploma to work, but projects on github would be useful.”

But since the HR departments have not gone away, it is quite truthfully formulated as follows: “to work, a programmer needs a diploma (to pass HR), but also projects on github (to pass a technical interview)”. And I, with my humanitarian education, fully feel this - because I only know about the github from the complaints of programmers with a technical education, but a strict personnel sieve eliminates me at the first stage.

People don't see the air, fish don't see the water, and people with a technical education or experience in KODTECHNOSOFT LLC don't see that they don't ask for a diploma, because it's already implied. The excuses of people like “I have been working for many years, I have never shown a diploma” sound especially funny. You ask - did you indicate it in your resume? Well, yes, of course he did. So you are suggesting that I indicate in my resume a fake education or something, since they still won’t ask for confirmation? They are silent, they do not answer anything.

By the way, in the specialty where all the budget places were occupied by medalists, only half of the group was budget-funded. And the other half were paid tuition students—you know, buying a crust in installments with their parents' money. My friend went there and got his diploma. As a result, he became a full-fledged "software engineer" and has not experienced any problems with working as a programmer since then. Because the diploma does not write whether you studied for a fee or for free. But the specialty, "technical" - they write.

Out of the comfort zone

How I didn't become a programmer at 35

Это я уверенно поднимаюсь по карьерной лестнице

When I arrived in Moscow and started looking for a job, I did not know all this. I still believed in the myth that it is enough for a programmer to show the result of his work. I really carried samples of my programs with me on a flash drive - looking ahead, I’ll say that no one looked at them even once. However, there were very few invitations in general.

Then I still remembered Delphi and tried to get into some technical company, at least for an intern position. I sent out a dozen letters a day, explaining that I have been interested in computers since childhood and want to study further. I was quite honestly answered several times that I should have a technical specialty - HR managers defend the frontiers of large companies in order to weed out all sorts of humanitarian shortcomings. But for the most part, standardized failures just came. Ultimately, I couldn't keep looking and ended up with a regular office job where I just had to use Excel.

A couple of years later, Access and SQL were added to Excel, because I remembered my youth and began to actively write VBA scripts. But it still wasn't "real programming". I made another attempt by downloading modern Visual Studio and diving into C#. I studied it as a first approximation, wrote a small program and tried to get somewhere again - without neglecting either full-fledged vacancies or internship offers.

This time, out of a hundred of my letters, I did not receive a single answer at all. No one. Because, as I now understand, my age was approaching thirty - and together with the humanitarian specialty in the resume, this became a black mark for any HR departments. This greatly shattered my faith in myself, and my faith in the myths of programmers about the labor market. I completely abandoned "real programming" and focused on regular office work. From time to time I still responded to various vacancies, but in response I still received silence.

Somewhere at this stage, I began to understand how valuable is for a person what he does not notice, or what he considers to be available to everyone by default. People to whom you turn for advice or simply complain about life do not delve into such subtleties. They have read popular books on psychology and tell you that you need to get out of your comfort zone. Although there has long been a well-known joke that you first need to enter the comfort zone. With age, the price of this entry or exit increases - for example, now I simply cannot afford to quit my job and go to work as an intern. You can only carefully change activities, while remaining at the current job, until incomes are equal.

There are reasonable advisers, and they give recommendations that I myself would give. This is self-study and remote work or creating your own project. But there are pitfalls here.

The fact is that remote work is a privilege exclusively for those who have “work experience”. It is completely unrealistic for a beginner who needs help and training to get on it. No one wants to mess with you anyway, and here you also need to remotely.

Self-study is terribly inefficient. What they teach you, for example, in six months, you will independently analyze for two years. The ratio is about the same. You will have to find all sorts of little things, typical techniques and well-known pitfalls on your own, constantly reinventing the wheel. Of course, this to some extent can make you more knowledgeable, because you yourself have found and overcome all this. But it will take you four times as long, and you still won't have real experience on real production projects.

At the same time, I am well aware that real, useful experience arises only when solving real production problems. In this sense, actions like “write tic-tac-toe” will help you at the initial stage just understand the language. But having written even tic-tac-toe, a sea battle and a snake, you still won’t be able to do what business needs in practice.

Here the most impatient ones will again want to give advice - take, they say, real technical specifications from some freelance sites and write on it, and you will learn, and on your own, and even a portfolio will be.

Well, let's finally consider the pet project method. You need to write a program that is useful to people, and then with this program go to work somewhere where similar programs are made. Sounds great in theory, but it's actually a trap. Instead of initially working on a real project, you spend time on obviously meaningless tasks in order to then perform exactly the same tasks, but already meaningful.

Stop! readers will shout to me. - Wait! It's a workout! She always looks like this! And I would agree if this training would give a chance for a result. But no. We return to the fact that I already have experience of such attempts, such training.

Is there at least one company in the world that says - this is our company making instant messengers, let's write a messenger for us in such and such a language, with such and such parameters, and then we will hire you? No. It is always a probability, and for a person with the wrong age and education, the probability is very low. Life explained it all to me very well. For example, in different periods of my life I knew and used VB and VBA, Pascal and Delphi, SQL, R, JS, C# and even (I'm surprised myself!) Genesis32. Really - I found and took courses, did notorious projects, could show at the interview and answer questions about them. And what?

Firstly, no one was simply interested and did not ask me to show anything, I stupidly did not get into these interviews. Secondly, of all this, I really remember only VBA + SQL now, because I use them all the time - the rest was not useful and forgotten. Moreover, the situation looked really tough: it’s not that my projects were looked at and said “listen, everything is bad here, you don’t know how to write code, it doesn’t work here and here.” No, they just ignored me. Humanities education, you know? "That's because I'm black."

Results

How I didn't become a programmer at 35

Когда даже под гнётом обстоятельств ты сохраняешь внутренний покой

Despite the pessimistic nature of the text, I do not stop trying. It’s just that now the space of opportunities for me has drastically narrowed, I see only one realistic path - this is the “pet project” mentioned above, but aimed not so much at “finding a job” as at “trying to create a business”. You need to find an unsolved problem, solve it and find at least a few dozen people who will use your solution. Another question is that it sounds simple, but in fact it is difficult to find a problem that has not yet been solved by one of the millions of programmers and aspirants - and, moreover, simple enough for a beginner.

Now I got to Python, following the example of many predecessors, Habr parsed and I am preparing an article about the results. I was hoping to publish it as my first habrastiya, but there still needs to be added a little text. And then right in a row, publications on the topic “How I became a programmer, just by making a little effort” fell down almost every day, or even two a day.

So I could not resist and told why I put in a lot of effort, but I never became a programmer.

To summarize briefly, I would like to say the following:

  1. Desires and efforts can really do a lot, but the material base is still decisive. Whoever has it - those desires and efforts help to achieve more. Those who do not have it, desires and efforts will not help to achieve the usual result. Having a passion for computers since childhood can help you become a programmer, but it's not that big of a help. A much more likely to become a programmer is someone who has never even been interested in a computer, but who was sent by wealthy parents to study in a fashionable technical specialty. But the passion itself is not enough, if - as in one of the recent publications - you do not buy programmable calculators as a child
  2. It's time to finally get rid of the myth that it is enough to be able to program to work as a programmer. At best, it is enough to know good to program, for example, “write code on the board” - yes, they will be torn off with their hands. Talking about the fact that the Junes are taken from the street, just to know which side the keyboard is on the computer is a very strong exaggeration, in such conversations we observe a typical mistake of a survivor. There is a “glass wall” of the HR department around each programmer vacancy - people with a technical education simply do not see it, and the rest can only bang their heads against it senselessly. Or - as in another of the recent publications - get a job "acquaintance".
  3. To “become” a programmer in adulthood, you need to have the same lucky set of circumstances as for a young age. Of course, an adult person can do a lot better (he sees the goal he is moving towards, has experience in training and development, knows the real needs of the market), but he is also deprived of much (he must support himself, spend time on everyday life, and health is no longer That). And if - as in another recent publication - there is material support from the family and the stability of life in the form of one's own housing, then it is really much easier to change activities.

Source: habr.com

Add a comment