JavaRush /Java Blog /Random EN /How I became a programmer, or “Through thorns to the star...
provisota
Level 33
Одесса

How I became a programmer, or “Through thorns to the stars” =)

Published in the Random EN group
How I became a programmer, or “Through thorns to the stars” =) How I became a programmer, or “Through thorns to the stars” =) - 1 Hello Javarashovets!) I want to share my story with you, because I feel a moral obligation to the wonderful people who created this resource, as well as to the community that it gave birth to. I would like to thank the creators at least somehow, and cheer up the Javarashites who have not yet achieved their cherished goal, and reinforce them with a good portion of motivation) I imagined many times how I would write this article, what words I would use, and now, it finally happened, and how In principle, I expected all the words to disappear somewhere, so please do not judge strictly for the style of presentation) In general, about the main thing, I’ve been working as a programmer for two weeks now, and this is largely thanks to Javarash) But everything is in order, I’ll tell you first a little bit about yourself. I am 37 years old, married, two children, a girl – 6 years old, and a boy – 3 years old. =) For the last 15 years I have worked as an industrial climber (high-altitude climber), a job, as you understand, related to programming a little less than nothing. But, in general, the work is not bad, fresh air, keeps you in “shape”, quite a lot of free time, you are your own boss, and for the money, in principle, quite good (in season), BUT:
  • It has a pronounced seasonality, i.e. 3 – 4 months a year there is practically NO work.
  • NO prospects. Having worked in this field for 15 years, I realized that in the next 5–10 years it is very unlikely that anything will change, at least for the better.
  • The children began to grow up, and there was clearly not enough money...
  • It started to get boring)… 15 years is still a very long time, during which any work will probably start to get boring…
And so, about two years ago, or to be more precise, somewhere in May 2013, after thinking and weighing all the pros and cons, I came to the conclusion that it was time to change something... namely, it was time to change my job... Well, it took a long time to think about which one I didn’t have to change it, but it would be for a job that is devoid of the shortcomings of the previous one:
  • Work all year round.
  • Good growth prospects.
  • Significantly higher salary (if not immediately, then in the near future)
  • An interesting job for which I have an inclination.
I had a penchant for programming, although in practice this was only expressed in the fact that even at school I wrote a little in BASIC, even less in assembler (on the ZX - Spectrum, aka Sinclair was once such a cult computer, you can say, the people of my generations must remember), and I could also easily install / reinstall Windows, firewood, well, in general, you can say “advanced user” =) And I was always good with English too, you could even say that it was my hobby... Cons which took place at the “high-rise” also had positive aspects, namely, all my free time, which I had in abundance in the spring and especially in the winter (in the off-season), I could usefully spend on learning programming. Well, that means programming... and what exactly? Programming is a flexible concept, I googled which languages ​​are the most popular, promising and highly paid today... and my choice fell on her majesty Java =) Since I started from scratch, I tried to find an appropriate source of knowledge, my first book on Java was “ Programming in Java for Children, Parents, Grandfathers and Grandmothers" by Yakov Fain, which captivated me primarily with its title =) I can’t say whether I recommend this book to beginners or not, maybe there are better books for beginners, I already understand that now as far as “kindergarten” is concerned, but at that time I found it interesting to read, and quite understandable, and the practical examples given there, which I carefully worked through, gave me the necessary minimum of practical skills for further advancement. I finished reading the book, I need to move on, I decided to look for normal courses, full-time courses were a little expensive for me, and I wasn’t sure that they were worth it, and here, I remembered that when I was working on the book, I think I’m somewhere on the hub I read an article about JAVARUSH online courses, free at that time =) Well, in general, things went well)… after reading and working through the book, I snapped off the first 10-12 levels like seeds, it was even too easy, but still interesting, then it became more difficult and even more interesting, but I tried to solve ALL the tasks in a row, and without solving all the tasks, do not move on to the next level, and then on Javarash they introduced tuition fees above level 10... for the first two or three months I paid monthly, but then on New Year They announced a promotion, 50% discount, instead of $200 you could buy unlimited for $100, I admit honestly that at that time I certainly had $100, but it couldn’t be called superfluous... because... I didn’t work all winter, my wife didn’t work then either, and “every penny counted,” because the money accumulated during the season needed to be stretched out until March - April, when I would start working again... But I felt that this $100 could be the most successful and profitable investment of my entire life. I have a brother, about 10 years ago he and his family moved to Germany for permanent residence. I also had this opportunity, but I didn’t take advantage of it, because... I love my city Odessa, my friends, my way of life, and I was not ready to give up all this, and I also believed that here I could adequately provide for myself and my family, and in general, I’m probably just an optimist in life. And although everything is pretty good with his finances there, I tried never to ask him for help unless absolutely necessary, but I knew that if I had to, he would not refuse me, especially since $100 is a ridiculous amount for him. I contacted him, and he happily transferred Zeppa $100 to PayPal, for which of course I thank him very much. And I calmly, thoughtfully, without haste, which is always present if you pay monthly, continued to “gnaw the granite of science” =) I went through the levels in the same “manner”, strictly sequentially, i.e. I read the lecture, and while my understanding was fresh, I solved the problems for it, and did not move on to the next lecture until all the previous problems were solved, with very rare exceptions. So I got to level 20 with 3 – 5 unsolved problems. If you have problems solving problems, of course, communication on the forum helps a lot, and at the same time, helping other forum users, you yourself improve your skills! About half a year later, towards the end of 2013, I decided that it was time to try my luck and try myself at an interview, I googled resume examples on the Internet, several resume examples were sent to me by friends from Javarash, I also wrote to Zepp, he gave me several tips, as well as several resume templates. I wrote my resume, sent it to Sepp for evaluation, and he liked it. Next, I posted my resume on several of the most popular job search sites, then compiled a list of e-mails of the HR departments of the largest IT companies in Odessa, which have vacancies for Java Developer (not only juniors), I got a list of about 20 companies. Just in case, I put half of it aside right away for later, in case I screwed up everywhere so that there would be a backup option, and half of it I sent out my resume and began to wait for invitations to interviews =) I won’t say that they directly bombarded me with invitations, but in the end, within a month – for one and a half years I went to 3 – 5 interviews, some more or less successful, some not so much, somewhere competing applicants were ahead of me, and there were also two or three test tasks, which I also completed with varying success, as well as one interview in spoken English, which I passed successfully, but before that. The interview didn’t happen because... how another contender beat me to it. I also almost got into the so-called “benchmark” at Luxsoft, passed the tests, the interview, but at the last moment, when I read the contract, I changed my mind and refused, it seemed to me that the conditions they were offering were too bad. In short, they teach you for three months, and pay you a stipend of $300, upon completion of training, if they like you, they offer you a job as a junior, for $500, after 9 months, they may raise your salary, BUT the main thing, BUT, as it became clear from the agreement, was that from the moment of signing it, if you do not attend courses, for example, or after the courses you want to change your place of work within a year or two, then you will be obligated to pay them compensation for your training in the amount of $2,500. I found such conditions unacceptable and refused. I also refused another vacancy because... It seemed to me that I would have no prospects at that job. But the main thing is that I gained very valuable experience in interviews, and after each interview I had a much better idea of ​​what awaited me at the next one, what kind of questions they would ask me, and what answers they would expect from me... well, it’s not like they ask me at all interviews the same questions, but many questions are asked almost always, and after each interview I made myself a small list of questions in which I “swimmed”, and then found clear answers to them. In general, going to interviews is really very useful, regardless of the results... Around the same time (autumn - winter 2013), Diana wrote to me in a personal message and asked if I would like to participate in the “Real Project”, I said that in general - then I don’t mind... And somewhere a month later Hubert wrote with a more specific proposal to participate in the project that had already begun two or three weeks ago. They probably offered it to me simply because at that time I was among the leaders in terms of solved problems. To be honest, after Hubert listed to me the technologies used in it (Spring, Hibernate, GWT, MySQL, Maven, Git), it became a little weird, because... For the most part, I heard these words just for the first time, and maybe I heard something somewhere once with the “edge” of my ear, but only with the edge of my ear... Well, I thought that I had nothing to lose anyway, time for There is participation, in any case it will be a useful experience, and I agreed. I admit, at the beginning it was really HARD, but after a week - a week and a half - two, I read books and articles on the net, got used to it a little and delved into the work of the existing code so much that I could write something myself and make my first commit. I was VERY lucky with the guys on the project, I think, there were four of us in total: Timur, Zhenya, Seryoga, and me. We supervised our project and Timur worked mostly on the back-end, Zhenya on the front-end, Seryozha on the database, I did a little on the front-end, a little on the back-end, but probably mostly on the front-end. After two or three months, we became the first team to successfully complete a real “Real Project”, which all Javarash residents now use - this is the “Ratings” project =) Well, to say that the “Real Project” gave me a lot is to say nothing! ) In addition to the obvious benefits (a huge amount of new valuable knowledge), much more important is the understanding that even for a “Java programmer”, knowing only Java is far from the only necessary skill, although it is fundamental. Java is like the ABC of programming, but in addition to the alphabet, you also need to know the rules of spelling, grammar, syntax, the ability to construct sentences correctly, have a rich vocabulary, well, in general, I think the analogy is clear. Also in programming, you need knowledge and ability to use many frameworks, patterns and development tools, as well as the ability to look for solutions to emerging problems and answers to your questions. After the real project, I became interested in more advanced technologies, and deepened my understanding of those already known to me... My interests went beyond pure Java Core. And in my resume, a new, solid item appeared in the “Work Experience” column, with a description of the cool and fashionable technologies that were used in the project =) But the project was completed, and I quietly began a new “working season” in high-rise... there was much less free time, and the issue of changing professions faded into the background, but still, I devoted almost all of my free time (in the evenings after work and on weekends) to programming, wrote all sorts of “mini-projects” for myself, sometimes solved problems in Javarash, I monitored vacancies, and at the end of autumn I also signed up for free courses at the DataArt IT office. Well, the courses themselves turned out to be bullshit, mostly review ones, so they went through the motions, I learned almost nothing useful there, but within the framework of these courses, students were asked to break into teams and write a “Project” =) The project consisted of writing an online testing system , with user registration, the user part (taking questionnaires), and the admin area (creating questionnaires and managing accounts). I ended up in one of four such teams, and it later turned out that I wrote the project practically myself. =) And in about a month (while working on a high-rise building at the same time) I myself wrote a quite passable, as it seems to me, web application based on almost the same technologies and patterns that we used in the Real project with the guys in Javarash, well, plus more jsp, and Spring Security, and something else =) If anyone is very interested, I can throw a link to an open repository with the project’s source code... Also, somewhere in December, I was invited to an interview from one office, as it later turned out to be Kiev. The interview took place via Skype. And after that there was an interview with one of the managers of a large company - an Odessa client of this Kyiv IT office. They told me when they made a decision they would call... well, as usual, I thought then, if they didn’t hire me right away, then there is little hope... but still, about a month later, after the New Year, I wrote to this HR manager and asked about my candidacy, oddly enough, she replied that the vacancy was still open and the decision had not been made yet... well, that means there is still hope. And now, almost another month later, somewhere at the end of January, she called me with the question “am I still looking for a job,” to which I “relentlessly” replied “yes, I’m still looking for it,” then she told me that I was her I already found it, because... I suit them!))) The feeling is certainly indescribable, when you are told this over the phone, your wings just grow =) to understand this you just need to experience it yourself, which is what I wish for you in the near future) Well, then a manager from Kiev came here, we met with him, got to know each other, I learned more about project that I have to work on. In short, this Kiev company is developing a large ERP application for its corporate client in Odessa and has been developing it for a very long time, as I understand it, in total, 3 - 4 years already =) it has already been written by many, but there are still countless bugs in it. In addition, the application has a lot of specific nuances, and communication with the client is constantly required, and constantly sending people here from Kiev is very hemorrhoids, and sitting on the phones for days is also not an option, and they decided that they needed a person here, locally, in Odessa . And now I have to finish this application. The application is written in GWT + ExtGWT + Spring + Hibernate + MySQL, and a bunch of supporting minor libraries. It just so happens that this is exactly the technology stack in which I developed and have more or less tolerable experience. The downside is that the project is old, and it uses old versions of libraries and outdated design approaches, and they are so outdated that they are practically not subject to updating... or rewriting half the code... it also turned out that I will be finishing it MYSELF =) this is of course a little awkward the job I was counting on, I assumed that like any junior, a more experienced team leader would be assigned to me, who would somehow guide me, review my code, and with whom I could consult in case of difficulties =) But fate decreed otherwise ... I was entrusted with a job designed for an experienced and independent developer, and this has both pros and cons. Well, since I thought about this, it would be a good idea to immediately ask for an increase in salary =) and raised the original figure by $200. This did not cause any indignation on their part. Well, I won’t give specific numbers, but I will say that the salary significantly exceeded my expectations. And besides, there is only one (not three, as usual everywhere) month of the probationary period. And now two weeks have passed, at first glance, of course, it’s scary to look at such a huge project, but now I know that the first impression is often deceiving, and at first it’s always hard, but as they say, “it’s not the gods who burn pots” and “water wears away stones.” "=) And so, little by little, I began to delve into the code and now I know that everything will work out... True, they didn’t want me to formalize it, they said that I would formalize the SPD, but this, as I heard, is common practice for programmers. I also want to note that working as a programmer is also still not a resort, it is also, first of all, a job for which you need to get up in the morning and return from it in the evening, but this job is much better than many others, for a number of reasons already listed above, and interest, money, and prospects, she has it all. And it’s especially nice when you know that you were able to achieve this yourself, with your mind, with your work, with your perseverance, that you were able to set a serious goal for yourself and achieve it. I was able to change my life, so that in many ways you are the master of your own destiny. The only thing I’m afraid of now is my laziness, that having achieved this result I’ll become lazy and stop growing professionally, but I really hope that this won’t happen =) In conclusion, I’ll continue the tradition and briefly list the technologies that were and still are for me key in training and now in work) it is VERY desirable, even perhaps REQUIRED, knowledge of databases, SQL (MySQL), jdbc, Hibernate, Jpa, network technologies html, jsp, servlets, xml, Tomcat, knowledge of basic JavaSE patterns is a MUST called GOF patterns), it will also be a HUGE plus to have at least a superficial understanding of Spring, SpringMVC, also preferably the Maven project builder, log4j logging, JUnit unit testing, working with version control systems, Git for example, sometimes they also ask or give test ones tasks on web services (SOAP, REST) ​​... but along with all this, knowledge of Java core should be, if not impeccable, then at least very confident. And still, knowledge of all these technologies (even if mostly superficial) does not guarantee that at the interview you will not be asked something that you are almost hearing about for the first time), but here too, depending on your luck... maybe just Java core is being pushed and that's it) Once again I want to thank the creators of this wonderful resource, in particular Sepp, Hubert and Diana! And I wish you, a Dzhavarashovite, perseverance and patience on the path you have chosen, as grandfather Lenin said: “You go along the path of the village, comrades!” =) and don’t indulge your own laziness, and the main thing is “NEVER GIVE UP” and the one who walks will master the road! Sorry for too many letters) then at least very confident. And still, knowledge of all these technologies (even if mostly superficial) does not guarantee that at the interview you will not be asked something that you are almost hearing about for the first time), but here too, depending on your luck... maybe just Java core is being pushed and that's it) Once again I want to thank the creators of this wonderful resource, in particular Sepp, Hubert and Diana! And I wish you, a Dzhavarashovite, perseverance and patience on the path you have chosen, as grandfather Lenin said: “You go along the path of the village, comrades!” =) and don’t indulge your own laziness, and the main thing is “NEVER GIVE UP” and the one who walks will master the road! Sorry for too many letters) then at least very confident. And still, knowledge of all these technologies (even if mostly superficial) does not guarantee that at the interview you will not be asked something that you are almost hearing about for the first time), but here too, depending on your luck... maybe just Java core is being pushed and that's it) Once again I want to thank the creators of this wonderful resource, in particular Sepp, Hubert and Diana! And I wish you, a Dzhavarashovite, perseverance and patience on the path you have chosen, as grandfather Lenin said: “You go along the path of the village, comrades!” =) and don’t indulge your own laziness, and the main thing is “NEVER GIVE UP” and the one who walks will master the road! Sorry for too many letters) Continuation
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION