JavaRush /Java Blog /Random EN /Birth of a programmer: 9 months from scratch to Java Deve...
hermanurikh
Level 20
Санкт-Петербург

Birth of a programmer: 9 months from scratch to Java Developer

Published in the Random EN group
Hi all! So my probationary period at a new workplace has ended, and now I can finally share my employment story. I am 22 years old, I have an economic education. A year ago (February-March) I didn't have any programming skills, and I encountered Java only in games on old Siemens (in the form of a "powered by Java" welcome window when starting the game). Birth of a programmer: 9 months from scratch to Java Developer - 1A year ago, I worked in the technical support department. The work is not to say that it is bad or not liked, but not particularly interesting. And it so happened that at one moment I thought - it would be nice to have a job that you would not go to with the feeling of "damn it, work again", but that it would bring pleasure. I thought - what would I do if I had, conditionally, a year during which I would not necessarily have to earn money, but I could do whatever I want? The answer somehow came by itself - I would sit at home and learn to program. Then I decided that it was up to me. I understood that it would be difficult to learn programming from scratch, that this was a temporary setback in a career (I had no doubt that Junior Developer was paid less than I was in that workplace), but I took it as a step back in order to take two steps forward . OK. No sooner said than done. Since I did not understand programming languages ​​at all, the first idea was to learn the language that I heard the most about (it was used to develop software in the company where I worked) - PHP. Okay, the girl answered. She suggested that in their company (developing mobile applications) androids write in Java + their salary seems to be good. I googled, googled, thought and decided to learn Java. My first step was the traditional attempt to learn something new - arm yourself with books, master the theory, and go! So I got a book by Horstmann and Cornell - Java. Basics. It was March 2014. Generally speaking, all my life I have been desperately bad at studying something from books. This is probably due to which way of perception prevails in humans. I have always really assimilated the material only after how he practically worked it out, fixed it, played with it. So my first attemptslearn javaThe book was doomed to fail. Although the book is good. Somewhere in April, I stumbled upon the CodeGym group on VKontakte. Then everything went like it was on rails. Solving problems, lots of problems that come with a bit of theory is clearly the best way to learn stuff (at least for me). I sat at home, I sat at work and decided, decided, decided) It was then that I was additionally convinced that programming was interesting to me. I couldn't remember hovering over something like that. It's been three months since I reached level 20. It seemed to me that further language learning would go much faster if you already get a job as a programmer - then you will be in this environment 8 hours a day, 5 days a week and you will develop extremely quickly. So in August I started sending out resumes. From a couple of places they sent me test tasks, as a result of which I didn’t receive job offers - looking back, I’m not surprised even once - I may have solved the task that I set, but what a bad coding style I had) This, by the way, is a small minus of CodeGym - as long as the problem is solved and the tests are passed, the task is counted, although your code may leave much to be desired. It is enough to install the same Checkstyle plugin in Intellij IDEA, and the situation will be different - it will emphasize "doubtful" points in the code, which will allow you to write not only working, but also beautiful, correct code. Be that as it may, in September I was called for the first interview. The vacancy contained something like the following - a developer of any level, we will offer a salary corresponding to the skills. At this interview, the tasks were approximately the following - a code fragment is given. Is it written correctly, and what could be the problems? I don't remember how many of them I got right. In general, it was necessary to remember about Null, almost all questions were about it - that you should not access a method parameter without first checking it for (if param != null). According to the results, I was offered the first month to work for free (as an internship), then a salary that is lower (though not much) than at the place of work where I was. I was well aware that I should not expect great offers, because I knew little theory, practice only in CodeGym, zero experience, and so on. Therefore, I agreed that I would leave in 2 weeks (the right time for dismissal at the old place). In parallel with this, I submitted a resume to another company. This company offered the following: In general, it was necessary to remember about Null, almost all questions were about it - that you should not access a method parameter without first checking it for (if param != null). According to the results, I was offered the first month to work for free (as an internship), then a salary that is lower (though not much) than at the place of work where I was. I was well aware that I should not expect great offers, because I knew little theory, practice only in CodeGym, zero experience, and so on. Therefore, I agreed that I would leave in 2 weeks (the right time for dismissal at the old place). In parallel with this, I submitted a resume to another company. This company offered the following: In general, it was necessary to remember about Null, almost all questions were about it - that you should not access a method parameter without first checking it for (if param != null). According to the results, I was offered the first month to work for free (as an internship), then a salary that is lower (though not much) than at the place of work where I was. I was well aware that I should not expect great offers, because I knew little theory, practice only in CodeGym, zero experience, and so on. Therefore, I agreed that I would leave in 2 weeks (the right time for dismissal at the old place). In parallel with this, I submitted a resume to another company. This company offered the following: According to the results, I was offered the first month to work for free (as an internship), then a salary that is lower (though not much) than at the place of work where I was. I was well aware that I should not expect great offers, because I knew little theory, practice only in CodeGym, zero experience, and so on. Therefore, I agreed that I would leave in 2 weeks (the right time for dismissal at the old place). In parallel with this, I submitted a resume to another company. This company offered the following: According to the results, I was offered the first month to work for free (as an internship), then a salary that is lower (though not much) than at the place of work where I was. I was well aware that I should not expect great offers, because I knew little theory, practice only in CodeGym, zero experience, and so on. Therefore, I agreed that I would leave in 2 weeks (the right time for dismissal at the old place). In parallel with this, I submitted a resume to another company. This company offered the following: In parallel with this, I submitted a resume to another company. This company offered the following: In parallel with this, I submitted a resume to another company. This company offered the following:
  • 2 months of Java EE training (2 times a week for 4 hours)
  • if you show good results (you defend your project successfully, which you write these two months), then you are offered a job.
The company is very good, foreign, well-known, and the working conditions are excellent - in a word, I wanted to go there much more than to where they had already made me an offer. The selection for her training involved 3 stages:
  1. Performing practical tasks at home.
  2. If successful, you are invited to computer testing in the office.
  3. In case of successful testing, you will be interviewed on the same day.
I coped with practical tasks without any problems - here many thanks to CodeGym and their tasks, after which these tasks seemed quite simple. There were 3 tasks: on RegExp (Google helped, because I myself couldn’t stand them and didn’t remember them), on algorithms (quite simple, more like a thinker) and on writing / reading from a file (there are a lot of such in the CodeGym course). I was invited to computer testing. I prepared for testing on the quizful site . These tests helped a lot, some questions even intersected in the end. I passed the test successfully, they began to interview me. I will probably never forget this interview in my life. All that the person interviewing me wanted to hear from me was the basics of Java theory, such as:
  • how checked exceptions differ from unchecked;
  • what methods does the Object class have and why are they needed;
  • what collections are and why they are;
  • and a little about multithreading.
CodeGym is a great course, it will teach you how to solve problems and program, but the theory (for interviews) needs to be learned separately, which I was convinced of by swimming in these issues like a fish in an aquarium. They wanted to wrap me up. I understand him - I could not clearly answer almost anything, I tried to tell everything from the point of view of writing code, and he was interested in theory. But I knew for sure that I really wanted to get into this internship, and I knew that if I was given time, I would make up for it all and learn the unfortunate theory. I told him all this, and he went to meet me halfway - he offered to meet again in a week, but for now he gave a list of topics (approximately as I described above) and said where they can be learned - just an oracle tutorial, it contains all: http://docs.oracle.com/javase/tutorial/ In a week, I thoroughly studied this tutorial and went to a second interview on the eve of the day when they were waiting for me at a new job. Apparently, it was my determination that most of all hooked the person who interviewed me (I knew that if I entered this internship, the future depended only on me - in two months I would have figured out everything I needed). Be that as it may, I entered this internship and refused to go to work at the place where I was offered earlier. For 2 months, we were introduced to many Java EE topics, such as: Servlets, JSP, Hibernate JSF, Spring, and much more - after the internship, we were familiar (we had a rough idea) about the main Java EE technology stack. Also, during the internship, we wrote our own project, which at the end had to be successfully submitted for employment. I just remember my first feelings when I was at the first lecture. I looked at the task of this project (it was issued immediately at the very first lecture) and did not even understand where to start here and how to do it. I also remember what it took me to successfully do it. These two months, almost all the thoughts in my head were that successful employment and the fulfillment of a dream are in my hands and nothing more. No one else depended on whether I could do it. Only from me. I had already quit my job, I was sitting with almost no money, and it was really hard. I sat in the morning, sat in the afternoon, sat in the evening, but did not get tired of rejoicing - I don’t remember when else I devoted myself to something with such obsession. This time once again helped me realize how much I like programming and how much I would like to work in this area. At graduation, I presented my project. I defended it really well, apparently much better than expected, and as an exception I was hired not for the initial position, but immediately for the position of Middle Java Developer. It was December 9, 2014. I couldn't believe it, but the job offer was in front of me on my monitor. Software engineer. This happened. On December 15, I went to work. I have never had the thought "damn, I don't want to go to work." Every day, leaving the house in the morning, I know why I am going to work, what I will do, and how much I want it. This is extremely pleasing. It is worth it and worth the price you had to pay to achieve your dream. I wish all of you who really want to be a programmer to go forward in achieving your goal. It is more than real, it is very close, but you have to pay for it. Pay with your wasted time, nerves, because learning something from scratch is really not the easiest step. JavaGush helped me take these first steps with ease, and I didn't turn away from programming at the very beginning because of the apparent complexity and abundance of theory. Thus, I was able to bring my rather crazy idea of ​​​​a radical change in the field of professional activity (even in the absence of a technical education) to the end. And you definitely can. Thus, I was able to bring my rather crazy idea of ​​​​a radical change in the field of professional activity (even in the absence of a technical education) to the end. And you definitely can. Thus, I was able to bring my rather crazy idea of ​​​​a radical change in the field of professional activity (even in the absence of a technical education) to the end. And you definitely can.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION