Hello, everyone! Let me share a few words about how I decided to enter the IT field. In doing so, I hope to boost the motivation and self-confidence of anyone contemplating or already trying to walk this path. I have to say that each individual must make a firm personal decision as to whether this is a good fit. Because along the way to this goal, you will face a host of obstacles and say something like this to yourself: "Maybe this isn't for me" or "I'm probably too dumb." You must come to terms with this and accept it. It will be difficult, but if you overcome, the gains are tangible. I'm currently 27 years old (at the time when this story was published in February 2018 — editor’s note). I've begun university studies several times =) The first time was they were still conducting entrance exams (the last year before full-scale implementation of external independent testing (EIT)). Despite the fact that I passed my high school exams with flying colors, the gap between my high school curriculum and what was required at the university affected me (the EIT tests are nothing compared to the old exams). I attended preparatory courses. I finished them and enrolled. Although my department was good, somehow it didn't bring me any pleasure. I didn't want to bind my life to nuts, gears, and drawings. I left in my first year and, under a contract, re-enrolled where I wanted to. I considered the prospects of my future profession when choosing my field of study. The university provided beautiful descriptions of what I would have after graduation. And inspired by my bright future, I cracked open the books. Now it's time for a meme: "Never have I been so wrong." I was taught a bunch of unnecessary bullsh#t that was around a century ago. Some subjects, such as C++ and databases, were certainly interesting. But I wasn't able to learn them properly, because I had to earn money for housing and food. I must say it was not the best situation.
The Hobbit: An Unexpected Journey
My studies proceeded in this manner and I realized that, basically, I had no direction. During this time, I changed jobs many times. I was a waiter, promoter, merchandiser, sales agent, etc. I gained skill in another highly specialized profession, very interesting and highly paid, but almost entirely without demand in our countries. So everything was spinning, and at some point, I realized that I was starting to surrender a little.
When you rush about at work all day, and you're a full-time university student dashing to campus to try to finish a lab or project, and then in the evening you come home and try to learn something else, you begin to realize that it's not sustainable and you have to think of a different plan.
As it happened, there were people around me who either were already working in IT or had tried to become programmers. Looking at them, I saw that they were interested in their work. Their results reflected this passion. Of course, the main factor for me was my partner, who has supported me always and in all things. Honestly, I don't know what would have become of me without her. She was good at the hard sciences and gravitated towards programming. She suggested that I give it a try. I must say that I never had an interest in it before and thought it wasn't my thing at all. But I started to try.
Naturally, there was initially complete confusion in my head, and I found it difficult to force myself to keep going. I tried learning C ++, but learing this using textbooks was hard. My motivation dropped to zero. So I took breaks. Later, my girlfriend somehow got into courses offered by a company looking to hire some people after teaching them how to program in Java programming. We went for an interview together. On that occasion, I didn't pass. Insufficient time to prepare was a factor once again. I went back to work again, periodically returning to my studies.
There was another round of recruitment for the courses and this time I was accepted (by the way, this is exactly how I decided to study Java). Again, it was hellishly hard. Combining work and university studies was hard enough, but when studying for these courses was added, I hardly managed to accomplish anything. Plus, we started having family problems. I had to quit my education.
Time passed. I finished my bachelor's degree and finally realized that I would graduate from the university with wonderful prospects of becoming a specialist in everything and in nothing at all. I moved to a correspondence-based master's program. I can honestly say that I didn't lose anything. In my opinion, our higher education gives you nothing but the ability to bob and weave along with a sense of disappointment that you're wasting a lot of time that you could be using doing something useful.
Work became a little easier. I began to have some free time. But I could already see that I needed to lay the foundation for a decent future. My current job didn't give me anything but fried nerves. I resumed my Java studies. I tried to do this using the book by Kathy Sierra and Bert Bates. Like last time, it was a struggle for me to learn something this way. I wanted some sort of structure and comprehensive approach, but what I got was jumping from one topic to another.
That's when my friend told me that he was also trying his hand at programming and had started studying using JavaRush (JavaRush is the Russian-language version of CodeGym — editor’s note). I have to say, I was very skeptical at first. A game that teachs someone how to program? It looked like a way to be swindled. After all, real programmers learn from books and nothing else.
But after a miserable period of poking through textbooks, I decided to follow the advice and try CodeGym. And I must say, that's when it began. This is what I was looking for. A comprehensive approach and structure. All the assigned tasks included practice. Everything that I learned, I immediately applied, so it stuck in my head. I wrote code at work. I got a thrill with each task I solved since that unlocked the door to the next level. Each article motivated me. When videos appeared in the learning process, I liked to brew myself some green tea, grab a Snickers, and take a break to watch. It helped me clear my head and simultaneously boosted my motivation.
Of course, there were difficult moments. Not only had my job at the time lost its fun, but it was also absolutely nauseating. The managers constantly demanded us to work like galley slaves, constantly tried to reduce our salaries, and fried our nerves. I had to bob and weave to earn a living. What's more, I was depressed by the feeling that I was treading water while everyone was getting ahead (and this was the worst part).
Naturally, this affected my family life. My better half, who was already working as a developer at the time, was worried about all this. And, of course, this stress went into the mix. In my studies, I also sometimes came across tasks that made me feel inadequate and out of my depth. But each time I forced myself to endure and finished the work.
I reached Level 25 on this Java course. My friend who had recommended these courses was already employed and suggested that I start writing my own projects. At the time, we faced financial difficulties and, as it happened, my latest monthly subscription had just ended. I decided to follow his advice (by the way, I do have some regrets that I wasn't able to finish the training).
I began to study the Spring framework. Now I can hardly imagine Java development without it. I delved deeper into HTML and CSS. And I actually began to scratch out a small web application.
My first application didn't do anything useful except help me master new technologies. It essentially assembled some object from a list of various components and quality levels. Super simple. But it was what let me assimilate the fundamentals and gave me confidence that I could already put my skills into practice.
Along the way, I began to monitor the job market. There were lots of jobs, and yet there were none. Basically, the IT sector in my city is huge and Java developers are always in demand. But most of the available jobs were for mid-level programmers and higher. The rare openings for a junior developer required either at least a year of experience or the ability to work with a bunch of technologies that I didn't know. This was because the market was oversaturated with inexperienced developers and, as a result, the skill threshold for entering increased constantly. Still, in Lviv (a city in Western Ukraine, Europe — editor’s note), you could sometimes see job openings that only required Java Core.
Despite this, I began to send out resumes, while simultaneously coding my own projects and studying new technologies available to beginners on dou.ua. I created a LinkedIn account and indicated a few skills on my profile. Naturally, there were no responses. What company needs a novice who would have to be trained, requiring investments of time, money, and human resources? None. But I didn't give up. I stubbornly sent out my resume, even to places looking for a mid-level programmer.
Time passed. And of course, I despaired. Nothing seemed to be succeeding. But then I received an invitation to perform a test task (by the way, it came from a company with a mid-level opening). When I opened it, I experienced fear and happiness simultaneously. I saw that the task was entirely within my capabilities. I had to write an application that lets the user create an object with an identifier, name and numerical value. I had to use Spring (Boot, IoC, REST, MVC, Security), Hibernate, MySQL, and JUnit. Thymeleaf was suggested for the user interface. At the time, I was more or less knew only Spring IoC, MVC, and MySQL.
Five days were allotted for everything. I threw myself into learning. I didn't sleep much. On top of it all, we were supposed to fly to visit relatives in the middle of this period. I tried my best and I could hardly think when the last day came due to sleep deprivation. I submitted the task. After a short wait, I received a reply that they had checked my task and they would make note of me. Of course, this was the standard polite response. I knew perfectly well that it was unlikely I could complete the task well on my first attempt. But it was something. This opportunity let me learn a lot that was new. Even though I didn't receive an offer, I was still grateful for the opportunity to test myself.
The Lord of the Rings
I continued to study. I enrolled in the programming course held each autumn by a well-known company in our city. With my existing knowledge, I easily passed the screening test. The purpose of the course was to introduce students to languages and development tools. Plus, those who wanted to could form groups to which a supervisor was assigned. They were given a particular project to implement. In theory, this made it possible to be noticed and get a job. Here I learned not only is knowledge of technology important, so is teamwork. During the course, I saw what I lacked and a little bit before it ended, I started working on an application that very vaguely resembled a simplified Pinterest.
Along the way, I asked a friend to mentor me. Time passed, and I saw that I was doing more work and better work. With each new step, I felt that I was on the right path. I really liked what I was doing. I lovingly polished every detail of my application. This was especially true of the frontend. It took me longer to develop than the backend. Because you can't guess with proportions and everything looked like crap.
A little more time passed and I saw that they were again recruiting for the courses I had previously enrolled in twice. I decided to submit my resume again. Everything was beautifully written and formatted (in English, of course). In response, I was again invited for an interview. When I received the invitation, the interview was a week away. During this time, I devoured websites that suggested answers to questions they might ask.
What followed seemed to confirm my feelings. I got into the courses. The learning process required participants to attend lectures and do homework. All participants were divided into teams and given a practice project that formed the basis for the entire educational experience. When my team received its practice project, we all thought we wouldn't be able to pull it off. Our supervisors admitted that the topic was exceptional and, by all standards, one of the most difficult ever assigned. There were a lot of technologies that we hadn't studied. Still, we decided that we ought to try and, in any event, it would be a very good experience. Here I must say that I was very lucky to get the team I got. Everyone on the team understood the importance of the training and wanted to get a job. I believe that's the only reason we were able to cope with the project. Every time we had a snag, we all came together and broke through the logjam.
It was a real pleasure to work under those circumstances. Of course, all the while I was greatly agitated. I even remember leaving for vacation with my family and friends during the May holidays, thinking that this would be a nice distraction. But no such luck :) Everything left my mind except what I needed to. It was impossible to forget even for a minute. But even this was for the better :)
And here this story comes to an end. As we wrapped up our work on the project, I was invited to an interview before the end of the training. Despite my great excitement, I passed the interview and received my first offer. I think it goes without saying that my joy knew no bounds. Finally, I had reached my goal and advanced to a new level. I've now been working for eight months. Every day I'm convinced I'm where I should be, and I love what I do. Naturally, I'm further motivated by the fact that my work is well paid and my company takes pains to provide comfortable working conditions for me. In our country, there are few places where this can be seen.
Of course, even now there are challenges and sometimes I have to sacrifice sleep and work late into the night. For better or worse, I love it. Plus, it never goes unnoticed by management. For the past seven years, I have really enjoyed what I've been doing. Naturally, this had a positive effect on all aspects of my life. As a result, I can say that, notwithstanding all the difficulties and obstacles, anyone can achieve what he or she wants. You need only to not deviate from your chosen path, make every effort, and never give up when setbacks occur. Sorry for getting so carried away. I hope this helps someone in difficult times. It helped me. All the best and thanks to the team that created this Java course. You really helped me :)