JavaRush /Java Blog /Random EN /A story for those over 30

A story for those over 30

Published in the Random EN group
And so, I got my hands on it and found time for me to share my little story.

Prologue.

Let's start with the fact that I'm 30, my main education is a higher education in chemistry (I won't go into details), I worked at a factory for almost 8 years. The work was actually quite interesting, but, looking at my colleagues, I understood that I didn’t want to retire and work for *twenty years here, this is not how I want to spend my life. I also want to add that I have a family, two children (the eldest is 6, the youngest is one year old) and, according to the classics, a mortgage. Finally, I decided to try to go to another place, to another plant, where the pay is higher and there is career growth. I had already put down roots at the factory, it was hard to leave, but I decided to do so. The trip to St. Petersburg lasted a month. I officially worked there for a week, realized that in our country the situation with factories was, for the most part, sad, and returned to my hometown. I didn’t want to go back, it seemed to me that this was a step back. That’s when I decided that if I change my life, then change it radically! For about a week I thought about which programming language to choose, and, in fact, the choice fell on Java . After that I started looking for courses. In fact, there are a lot of good courses, some of them even at a reasonable price, but I had a problem: I had a lot of desire and time for studying, but the financial cushion was for a maximum of 3-4 months. All the courses that I liked lasted for six months or more with two classes per week (most often). And then a friend recommended JavaRush to me , saying that she heard that it was a very good resource. I saw that everything I needed was here:
  • subscription with materials and tasks.
  • no time restrictions: I could study exactly as much as my schedule allowed (and it was free) and my desire (and, as I wrote above, there was plenty of it).

Part 1: In search of knowledge.

On November 26, 2019, I subscribed and started classes. I’ll say right away that sometimes there were days when I spent up to 14 hours studying, reading all related links, looking for more beautiful solutions (without looking in Help). Only when I thought that my solution was optimal, I looked at Help and very often was surprised that it could have been solved more beautifully and more concisely. At the end of January, upon reaching level 17, I decided to start going to social services, training my skills and seeing what was generally required in the market. In fact, no one really answered me, but there was one office that took me on a conditionally free internship: the first month was free, the second and third - with a small stipend). Next there was supposed to be social security based on the results of three months, and after successful completion - employment.

Part 2: We rush into battle.

The internship consisted of writing a plugin for Chrome with a back-end in Java to automate routine tasks of one internal department of the company. I had an excellent mentor with a lot of knowledge, I think this is also important. Actually, in order not to go into the weeds, I will immediately write which stack was used, and at the end of the article I will give several links that turned out to be very useful for me.

Stack:

Java 11 (the project was completely written from scratch), Spring (Boot, Security, OAuth2); MongoDB was used as a base; To cover autotests I used Assertj, Mockito, Spring-boot-starter-test, and worked using the fairly popular GitHub Flow (article in Russian , in the original ). Here and further I will try to provide links to the original and the translation. It is advisable, of course, to read the original, but if this is not possible, then read the translation. This is the time to recommend learning English. I have an A2 level, but I try to read articles in English (of course, not without using a translator). This was precisely the greatest difficulty at first on the internship project, because there it was necessary to work with a third-party CRM, which had all the documentation in English. Also, when working with Spring, it is better to read the original documentation, it is very good and detailed, you don’t even need any Russian-language guides, and in general almost all the documentation is in English (a little from Captain Obvious). The mentor also said to write all code comments and API documentation in English, so I repeat once again: learn English! Even if you don’t intend to work with foreign customers or travel abroad, this skill will simply greatly simplify your learning and development.

Part 3: Denouement.

This part will be much shorter :) At the end of the internship, I passed social security and got a job, and continued to work on this project. As part of the internship, the first stage was supposed to be implemented, and there were, one might say, three of them in total. Due to the start of the pandemic, many commercial projects disappeared, and I implemented all the stages and ideas/wants that I could have had for this project. There were other tasks, but that, as they say, is another story.

Part 4: Happy End, although it’s far from End ;)

In mid-July they called me and asked if I was looking for a job. The resume was hanging on hh, although it had not been updated for a long time. I decided to try myself, went through 3 stages: a test task, a technical interview, an interview with management, they sent me an offer and... It was an offer that I could not refuse. By the way, be sure to read the article about what types of companies there are , and try to choose the most suitable one for yourself. I understand, of course, that in the first couple you will try to get where they take you, but still. My first job was outstaff, and now it’s a grocery job (at the time of this writing, I’m only working on my second day). They also hired a junior for the position, but I’m not at all upset, because there is room to grow both in knowledge and money.

Epilogue.

So, friends, don’t be discouraged, the main thing is to decide and not deviate from your path. In my case, I had a great responsibility to my family and a desire to change something in my life, to do what I really liked. What’s especially great about this area is that you can climb the career ladder regardless of whether there is a higher vacancy in the company, whether a retiree who has worked for *twenty years has left, and whether you have a hairy arm enough to climb it vacant place. In our field, everything is in our hands!

Articles I would like to share:

  • Understanding of architecture ( in Russian and in the original ). I personally read this article 4 times when we were just developing the architecture of the future application. I’m writing in the plural, since everything was checked and sent for repeated edits by the mentor (he did a code review). The first time I didn’t understand much, then I read it 3 months later, and then I already understood why it was so. Then I read it 2 more times, so to speak, to consolidate and fully assimilate all the information.
  • Interactive training in working with Git .
  • I advise everyone to learn how to work with streams. This is a really cool thing: you can often replace a huge amount of writing with a small stream. To remind me about working with streams, I always had this article open .
  • There is detailed documentation for working with Spring, so I won’t give a link to it, but for some reason I didn’t immediately come across a man named Evgeny Borisov, aka Spring the Ripper . Here is a very cool presentation and analysis of how bins work, etc. I really regret that I didn’t come across it right away, a lot of things would have been clearer at the initial stage. I especially recommend not just listening, but writing code at the same time and putting everything, so to speak, into muscle memory.
  • Well, since I worked with a non-relational database, and most companies (especially large ones) work with SQL, in my free time I tried to solve at least a couple of problems on building SQL queries. There are a lot of different sites for this, but I liked this one , with problems and a textbook for studying.
  • I would also recommend reading about writing tests (Assertj, Mockito), but I don’t remember any good articles, just documentation.
  • And when developing an application (but this is not really for beginners), try to use design patterns . At least familiarize yourself diagonally with known patterns, it will be useful at the initial stage.
Once again I wish everyone good luck in this matter! If you have any questions, ask, I will answer if possible.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION