“Since childhood, I wanted to work with computers”I am 26 years old, I was born and raised in Novosibirsk. Since childhood, I wanted to deal with computers and in general the topic of game development was interesting to me. I wrote some text quests in C++ and C#, but I didn’t excel in my studies (I was lazy), although I wasn’t stupid - rather unassembled. In this regard, he went where there was an opportunity. I thought about working in law enforcement agencies, so I graduated from the Criminal Law Faculty of SGUP ( Siberian State University of Communications - ed.), and ended up exactly where I wanted. In my second year, I went on an internship at the Investigative Committee, and so I stayed there. In the fourth year I was hired - I don’t know how it is now, but before, after the third year, it was possible to get a job. Six months after graduating from the university, he received the rank of lieutenant. I worked for another year and realized that I was tired: all these long nights, shifts, lack of social life as such, and therefore I decided to quit. After that, I got a job in a bank through the security service (therefore, I will miss some points in the text: the NDA is still in effect). There I supported my desire to develop something a little: I improved processes, automated them, and in the end everything grew into the development of a relatively large project to implement a unified access system for the department. The department, although it consisted of only 50 people, but the program (by the way, it was in the notorious MS Access, but this is normal for banks, often they don’t want to spend money on software development for the security service) was stuck with a bunch of necessary things: there was a database, and automation of creating Excel and Word files, connection to Outlook and even text recognition of pdf files through Adobe Acrobat Reader. Thanks to this, I got a good promotion, but since this is a security service, I realized that there are not many options for how to develop further.
“I didn’t just study, I bit into”Starting in mid-2019, I fell into an abyss of fatigue and boredom, but my girlfriend reminded me of what I always wanted to do and said “try.” Why not, I decided. At that time, earnings, a working day and being on an excellent account with my superiors allowed me to do programming at home in the evenings, and not sit in the office until night. So I rekindled this thought and decided to try it. Since I didn’t remember anything (except for this “damned” VBA - a slightly simplified implementation of the Visual Basic programming language, built into the Microsoft Office product line - ed.), I started by reading the book C++ for Beginners by Herbert Schildt (by the way, an excellent book, I recommend it to everyone), I watched videos on Youtube. At some point, the bank announced a retraining program in Java, which I successfully entered. Graduated in a little over two months. To be honest, she gave me practically nothing, because in two months, twice a week, it was very difficult to cover all the material normally. They taught well, but the topics passed too quickly, there was almost no practice. Here I will not be completely honest if I do not say that, after all, this program was mainly aimed at those who already work as an engineer or in the IT department of a bank. With my zero experience, this was extremely difficult for me. At the end of the “retraining”, interviews were conducted inside the bank, at which I finally realized that I did not understand anything. If the bank is not ready to take a person from its team, then this person knows practically nothing. It was December 2019. I noticed that at the end of some interviews, I was told that there is a CodeGym site. Therefore, when I resigned myself to the fact that nothing shines for me without normal knowledge, I registered and began to study. The active phase of training took place in February-May 2020. When we were sent to quarantine in March, there I turned around to the fullest. There was no need to go to the office, I worked remotely, the process was set up so that I could do my work with a delay of one or two days. I didn’t just study, I dug in, sat around the clock. It was normal for me to wake up at eight in the morning and start studying, and after 16, when my head was already boiling, I moved on to my remote work. As for motivation, you know, I just understood somewhere inside that it was mine. Of course, the support of my “fighting girlfriend” helped me in many ways to start this difficult path. I did this for about 2 months, I got tired wildly, but in general the brain did not strain much. If you want to do some baking, for example, you will most likely preheat the oven to 160-180 degrees, after which you will increase the temperature if necessary. It is unlikely that you will cut 250 degrees right away, because then you will just burn it. It's the same here. I completed the quest in 2-3 months, after which I began to study all the buns that employers need (Spring, Hibernate, Tomcat, etc). By the way, I read the book “Spring 5 for professionals”. There is a lot of information there: sometimes, of course, it is difficult to perceive, but in general everything is chewed up, even Youtube did not explain Spring better to me than this book. I also advise you to look at the Spring framework website, there are tutorials there, they are very suitable, but in English. The most difficult topics in learning for me were buffers, working with files and bitwise records, but they are rarely used anywhere and in 99% they are needed for development. The difficulties were rather in constant recursions, I was just confused, but that’s what training is for: you do something wrong, then you find out how it’s right, you understand why it’s like that and stop making mistakes in such places. After all, you can never learn by doing nothing. but that’s what training is for: you do something wrong, then you learn how it’s right, you understand why it’s like that and you stop making mistakes in such places. After all, you can never learn by doing nothing. but that’s what training is for: you do something wrong, then you learn how it’s right, you understand why it’s like that and you stop making mistakes in such places. After all, you can never learn by doing nothing.
“You don't need to be a genius to find yourself in IT”I started looking for a job at level 28, but quickly realized that knowledge was not enough. Then I took a break and in May, when I had already completed the quest and read about frameworks, I started looking again. I think there were at least 10 interviews before I was hired. There are a lot of people going into IT now, but the acceptance bottleneck is getting harder to get through. Usually three out of ten are arranged within 1-2 months, the rest are longer, sometimes even much longer. But that doesn't mean you have to quit looking for a job. When I failed my fourth interview, they told me: “Go on to interviews, in the end you will remember everything, you can pass the interview, get a job. You will quickly learn at work. Most of the interview questions are the same. But there are rare exceptions when they can start a conversation about algorithms. For example, I tried to get a job in one company, which was engaged in the implementation of state projects in the social sphere. There I was asked a question about algorithms, I answered it badly, but still asked: “Will they really let me work with algorithms?”. To this they answered me: “Of course not, we have a special team of middles and seniors for this.” I became curious and I clarified why they ask such things. It turned out that this was just a requirement of the authorities: you may not work with algorithms, but you must know them before employment. At interviews, it is especially important to show knowledge of Spring, Hibernate, SQL. The set is small, but not understanding enough, you can start talking nonsense. So if you don’t know, it’s better to answer something like this: “I don’t know exactly this, but I know this and that in Spring” and so on. Thus, your knowledge, however small, will be noticed. I got a job in a company that develops browser games (I will omit the name of the company so that the authorities do not get angry), I am developing the back-end part of the game. That is, I work with the database, write additions, add features, join back and front. I also deal with algorithms, I use Spring (everything is standard: markup, bins, parsers). I work with Tomcat, PostgreSQL and Hibernate. In general, I support and refine the project to the best of my ability and the tasks assigned to me. For now, I'm June. For the first 2 months of work, I did not understand anything, the deadlines were running out, I, on my own initiative, sat for 12-14 hours working, but ... it bore fruit. True, I have a serious mentor (a tough gentleman with fifteen years of experience). He says: “Find out for yourself, look for how it works,” that is, it does not help, and if it helps, then it is extremely rare. And you know what? It is right to force the programmer to think for himself. If from the very beginning I had not worked for days, but asked everything in a row, this would not have led to any professional growth. Now I can say with confidence that I complete all the tasks of the June order and recently I see that I receive tasks of an order of magnitude higher. Closer to the summer of 2021 (if the virus doesn’t kill us all), I’ll start looking for a new place, but for now, self-development and self-improvement. Programming is a drive, it's new challenges. Let the salary not bother anyone at the beginning, after six months it will become normal, and after a year it will be completely excellent. If we are talking about prospects, then you can sit in one place and get normal, feeling that it is not yours and being afraid to change something, but you can take a chance. I am very glad that I was not afraid and started working for the future, but he could continue to wipe his trousers in the office. Ultimately, it seems to me that everyone can find themselves in IT, you don’t need to be a genius, a scientist, a great mathematician, if you have perseverance and a craving for something new, everything is possible.
Tips for a novice developer:
Read and watch videos. If you look at Youtube for some information on many episodes, try to choose one author, since everyone conveys their thoughts in different ways. As a result, switching from one YouTuber to another, you can get confused in the same topic.
Don't try to do everything at once. Especially if you do not work remotely and need focus in your work. Study for a couple of hours a day, if you have free time on weekends - don't overwork yourself, you've already been studying for a whole week: it's better to rest.
Try to describe specific skills in your resume. For example, don't write "I know Java" in your resume, it's too vague, you can be caught and asked something that you just might not know. Do you know Java Core? Great, write after the words "Java Core" a couple of things that you really know.