JavaRush /Java Blog /Random EN /Java Middle in 2.5 months

Java Middle in 2.5 months

Published in the Random EN group

Dossier

  • Who: Tolegen Izbasar
  • Place of residence: Astana
  • Age at start of Java training: 23
  • First job as a programmer: 2 months after the start of training
  • Original success story
Java Middle for 2.5 months - 1
Is it possible to quickly skip the Junior stage and immediately become a Middle programmer? In principle, it is possible, but it is not so simple. “Not just knowledge,” says the hero of this success story, but he, I must say, has a lot of knowledge. An unconventional success story in which the author reveals how mindfulness, cigarettes, and strategic planning can play a role in rapid advancement. Greetings to all readers who thought that in 2.5 months from scratch you can really become Middle . I hasten to disappoint you: this is only possible with very hard work on yourself, and I know how everyone wants everything at once - right now and no other way. And the phrase from scratch applies to me only conditionally. Yes, I really had absolutely zero knowledge of the Java programming language. But I still already knew and was able to do some things even before I met Java Rush and, perhaps, I would like to start my story with this, because my career growth is a rather strange combination of knowledge, skills and luck in some way.

Before JavaRush

So, let me give you a list thanks to which I gained a competitive advantage over others, and also allowed me to complete Java Rush ( up to level 34 ) quite quickly and without any particular difficulties ( at least they did not surprise me ). The list consists of the knowledge that I received at the university, as well as what was interesting to me. I won’t separate where everything is, and I won’t name the university either. If you wish, you can acquire this knowledge yourself. Algorithms and data structures : my path in this direction began with studying the principles of constructing algorithms, reading classic books ( Knuth ) and studying the Pascal programming language . It continued with the C language , the implementation of all data structures and an analysis of the advantages and disadvantages of each of them. I won’t say that I also know how to work with Turing Machines and Markov Algorithms... I already said it, but you can ignore it. Although, in my humble opinion, the concept of an endless memory tape and the movement of a pointer along it gives the most correct idea of ​​how a computer actually works from the inside. Computer Architecture and Assembler : When you think you have a complete understanding of how a computer works, try writing programs at a very low level ( otherwise how will you appreciate all the delights of Java ? ). I considered all the training options with one, two, three registers and realized how you have to dodge when there is only one register, and the program works (surprising, right?). Discrete mathematics : it is also worth taking up this subject, as it gives a complete understanding of logical thinking, and the theory of finite state machines will tell you how the “internals” of the processor are arranged, how they are organized in integrated circuits. Also within the framework of this subject they study Graph Theory, which will not be 100% superfluous. Higher mathematics : I decided to separate all other mathematical subjects into one item so as not to bother my head too much. Here lie: mathematical analysis, probability theory and statistics, linear algebra. The latter, by the way, is very important if you plan to do 3D graphics. I know that everyone’s dream is to write games, but to do this you will also have to take a course in differential equations with numerical methods. Linux architecture : after you get comfortable here, multithreading in Java will raise much fewer questions, and it turns out that you have already heard the fairy tale about philosophers somewhere. OOP, C++ language :Well, we've almost reached the top of the food chain. I won’t write in detail here why it’s much more interesting to look at the implementation of OOP in C++ . Additionally : a couple more little things that I already knew were: computer graphics ( OpenGL , Unity 3D ) and C# ( Core ).

What does JavaRush have to do with it?

Well, along with all this junk of knowledge, back in September last year I came across Java Rush , scrolled through a couple of levels and gave up, since I quite easily found a job after university ( not as a programmer, but in IT... Maybe someone will guess what it is could be? ). But I soon discovered that I was not at all interested in this; in a couple of months I almost reached the ceiling and realized that there was no point in developing here, although the company’s management offered almost entertaining options (among which was DevOps ) . I rejected them. At the same time, I was preparing schoolchildren for Olympiads in computer science ( I forgot to mention - I really liked sports programming ), and after leaving my main job, I went there headlong. I was happy with everything for about 4-5 months , until I got tired of this too. The questions were repeated, all the topics were covered, and that’s when I remembered Java Rush .
“Being a rationalist (greedy), I first went through 10 initial levels from cover to cover, then looked further (it seemed like level 15 was enough), I realized that it was quite interesting and, in my typical manner, I just did it at any free moment. Do you have 5 minutes to spare? Great, I’ll add the logic of the method.”
Total: I bought two monthly subscriptions. In the first month I went from level 10 to 28 , in the second incomplete ( about 15 days ) I went from level 28 to 34 . Chronologically, it was April-mid-May, that is, 1.5 months were spent ( do the math yourself in rubles ). I won’t tell you how to do it and how not to do it - a lot has already been said about this.

Employment

Around level 30, I looked at the vacancies in my city and decided not to rush, sending out resumes to everyone, but to specifically select the desired company, prepare for it, and only after that send my scribbles to the HR department . I also drew the scribbles very carefully, and it turned out very well. I was quickly invited for an interview. I passed it very confidently (at least as far as Java Core is concerned ). I won’t describe what the questions were. The problems started when they asked me how Spring works and whether I know at least some Enterprise technologies . Actually, I said that I don’t know, but with such a level, Junior is guaranteed (you won’t jump higher), but I still jumped and here, probably, the most interesting part begins. In general, when the conditions were explained to me ( 2 months - probationary period, position - Junior and salary range ), I realized that I didn’t really like them, but agreed. He only asked if I could start work later, citing the fact that I needed to finish things at my current job before joining the new company. Thus, I gave myself almost a month to prepare. I had an interview at the beginning of May, and started work on the 23rd. Naturally, I once again studied the requirements, found out what technologies were used (Java EE 6) and prepared for work.

Middle or not Middle?

When I got to work, I discovered that they had recruited about 5 Juniors , among whom I stood out, but not too much.
“First of all, I met my immediate supervisor, noticed that he smoked and started going out to smoke with him (and I don’t smoke at all).”
There was also another programmer with us, I’ll tell you about him a little later. In general, while smoking ( 3-4 times per working day ), I talked with the manager, talked in more detail about my successes, casually mentioned my knowledge ( it must come in handy ) and in general, gained confidence as best I could. The barbecue and beer I organized at the end of the first week allowed us to establish more friendly relations.
“I stayed in the office working until 11 pm (working day until 6:30 pm) until the security guard kicked me out. Sometimes the company's CEO and CTO stayed with me in the office, with whom I also communicated. We had dinner together and left the office together (the CTO even offered me a ride home, but I politely refused).”
Thus, firstly, I established a good relationship with my immediate supervisor, and secondly, I showed senior management that I would complete the task and only then go home. Naturally, all this does not make me Middle . So what did it do? Let me remind you that before the interview I did not know a single framework ( except JUnit ). This is where it’s worth returning to the programmer I mentioned above. He was a very powerful programmer with 20 years of experience, who worked for 5 years in Moscow, about 7 years in America (as a chief project architect) and many other places, including government projects of special importance (I learned all this while smoking with him). So, this programmer was given a very serious task, and he decided to take me as an assistant. After he was given this task, it turned out that he urgently needed to leave the country and he would not be able to work. He wrote the framework of the application and left me in charge, saying that he would monitor from afar. It was this moment that helped me become Middle , and finish the probationary period not in 2 months, but in one and qualify for a more serious salary. Because this programmer was unable to monitor from afar and the project was left entirely to me. I successfully completed it within a month, for which I received my position and the opportunity to apply for a higher salary.

What's the moral?

You can say that I was lucky to study where they gave me all this knowledge ( note, I just used it for mentioning it to my superiors ), that circumstances were such that such a project fell on my shoulders, and what does it have to do with Java , it would seem Rush ? Let me remind you once again that before Java Rush , my Java proficiency level was 0 - that’s it. Secondly, when you solve problems on the 52nd attempt, something sticks in your mind. I was well-versed in exceptions, checks, etc., which was also a competitive advantage, and in general - you begin to understand Java Core very thoroughly ( as confirmed by the OCA certificate, which I passed at the company’s expense and scored 94% ), and without this I don’t see much point in moving on. Next week I am assigned to a new project from scratch, which I will lead myself (including database design, technology selection, and also recruiting a team). Also, I will conduct interviews and review the progress of Juniors to determine whether it is worth it or not. I want to say that in these matters I was helped not only by factual knowledge, but also by the ability to establish communication with the team, present myself well to management, the ability to make an impression and proof that I will see everything through to the end. Thank you for your attention, I wish everyone more perseverance and attention to detail.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION