January 2017. Zelenograd. After passing the exams, everyone goes to their parents. Rest ahead. I, too, in a good mood after passing the final exam, sat down at the computer and opened the browser. I went to the site where vacancies are published. I entered my specialty... The next year I did not take classes and frantically took a course on JavaRush. In my specialty ( production of printed circuit boards and circuits ) there were very few vacancies and almost all of them were in Zelenograd and the salary was frankly not encouraging. And I didn’t want to return to Surgut, where there is a fierce thunderstorm in winter, and mosquitoes and wind in the summer. I bought it every month because I feel better about the deadline. The first ten levels went pretty quickly. Each subsequent section was more difficult. Sometimes I lay there and thought that it would be nice to work as a loader in the USA, but who would let me go there. Having reached level 26 ( summer 2017 ) and having read stories about people getting jobs at level 22, I enthusiastically went for an interview ( in fact, it took me a long time to gather my courage ). A cold shower awaited me there. Nothing about OOP or collections or multithreading. They gave me a task (to check if there is a cycle in the graph). For some reason, when he heard the word, the Count remembered Dracula and Van Helsing. Then I remembered the graph from discrete mathematics and cold sweat broke out on my forehead. I had no idea how to do this using a programming language. How to represent a graph and its adjacency matrix. However, the interviewer apparently decided that I didn’t have enough torment, and after I mumbled that I didn’t know how to find a cycle, he gave me a dynamic programming task (I now know what it’s called ). Something about changing coins. Naturally, having not heard anything sane from me, he advised me to remember the basics of computer science and said goodbye to me ( thank him very much ). Deciding that I had wandered into some Google branch by mistake, I went for two more interviews. However, they also gave problems on algorithms and data structures. The tasks were simpler, but I spent a lot of time on them and did them wrong. Having received two refusals, it was important not to get depressed. So I came home and started scouring the Internet to see if there were courses on how to solve such interview problems. On some forum, a user with an anime girl in her avatar advised me of a site that starts with leet and ends with code and wished me success. Javarush tasks are not aimed at making you a cool Olympiad programmer. They introduce you to the language and give you a good background in using Java. I took courses on Javarush and at the same time studied on a website with puzzles. Ultimately, having reached level 35 and having solved over 150 problems on the resource, I signed up for an internship at Bell Integrator. There I was introduced to Spring. We wrote a simple crud. We checked the database and I received an offer of 30,000 per month! A serious achievement for a student (I’m still a student, since I somehow closed on C grades ). However, at the same time, I was offered a job at Technoserv ( offers poured in like from a cornucopia, as many as two in a week ). At the interview, the tasks were no longer asked at all ( this is some kind of mockery! I prepared for them for six months ). And in May 2018, I started working as a junior developer. Many thanks to Javarush for, I’m not afraid of pathos, changing my life. Without this resource, I would now be delivering food in yellow or green uniforms. And thanks to that guy with the anime girl in his avatar too. Now my salary has been increased and I have pretty good prospects for the future . A quick summary. In addition to Javarush, solve problems using specialized resources (dynamic programming problems, graphs, trees, sorting, search, recursion, hash tables, lists, double pointers, strings, etc.). Write a simple crud in Spring with a database (Postgres is the de facto standard). If you can attach jwt authorization, then there will be no price for you. From books I recommend cracking coding interview, clean code (this is really necessary) and Shield. Don't be afraid of interviews. If you don’t know something, just learn it and a little more next time. Good luck everyone!!!
GO TO FULL VERSION