JavaRush /Java Blog /Random EN /My Java way

My Java way

Published in the Random EN group

Dossier

  • Who: Rustem Sayfutdinov
  • Worked as: -
  • Place of residence: Kazan, Russia
  • Age at the start of Java training: 25
  • Original success story
My Java-daya way - 1

Prologue

It all started on January 23, 2003 . I came home after school and drama club and saw boxes on the floor. This was it - my first computer: AMD Athlon XP 1800+, 256 MB RAM, NVidia GeForce 2 64 MB and 40 GB HDD . From this important day a new story of my life begins. Then I was in ninth grade. What do you think was the first thing I used my computer for? Of course I started playing!!! And for about 4 years I fell out of real life. QUAKE, DOOM, Warcraft, Starcraft, Diablo, Command & Conquer: Generals, Civilization, Silent Hill, Deus Ex, Far Cry... There were many conflicts with my mother, who did not allow me to play for a long time and told me to do my homework. Switching to school and then college was not easy. After all, I had such a wonderful virtual world, where in order to achieve certain successes you need to perform predetermined actions, you could always launch a previous save and achieve what you wanted. Or maybe it’s in real life... In short, I spent a lot of time on games. But this also had a certain benefit: sometimes games would not start, would slow down, or would not install. At these moments there was a great desire to understand the problem. Then I installed, reinstalled, configured, and optimized everything I could. Starting from reworking hard drive partitions, changing the file system and reinstalling Windows, ending with tuning the registry and game configuration files. Thanks to the knowledge I gained, I became known among my friends as a “programmer.” Helped with their computers, reinstalling the OS, removing viruses, etc. One summer, after barely completing my first year at a technical university, I decided to start selling my skills. I jotted down an ad in Word with the title “ Computer Emergency Help ,” and posted them around the village where I live. There was enough for “ beer and chewing gum .” In my fifth year, instead of diligently writing my thesis, I got a job through an acquaintance as an admin in a small, crooked office. For the first time I learned about the Windows domain , working in networks, Kerio WinRoute Firewall .

Admin

After receiving a diploma in the specialty “ Computers, complexes, systems and networks ” in 2010 , I saw two paths for myself - a programmer or an administrator. Programming experience was limited to labs, coursework, and graduate work. I already knew then what arrays, loops, conditional statements and classes were. There were attempts to learn to code while still at school. But GTA successfully interrupted this desire. Although, it is worth noting that I coded with considerable pleasure. Helped my classmates with labs. But since I had more experience in admin matters, I chose this path. At one of my next jobs, I decided it was time to take up Linux . I sat at work in the evenings and experimented. The result was setting up a gateway to the Internet with a firewall, port forwarding, connecting to the Internet via Wi-Fi , connecting to a VPN . Not very cool, but it'll do for a start.
Thanks to this knowledge, in 2011 I got a job as head of the implementation and support department. I had 4 people subordinate to me. We were implementing a thick client in Java Swing in the stores and warehouses of a jewelry company. Now I understand what an interesting thing we were implementing! But then I was little interested in the subtleties of implementing this software.
I lived in Kazan, but for a long time I wanted to try to lead a more independent lifestyle and move to “ Nerezinovaya ”. At the end of 2012 , I succeeded without even changing jobs. I really liked it there! This is the metro! These gigantic streets with a fast flow of expensive cars! These huge streams of people are everywhere! I was proud that I was able to achieve this move.
After winding down the project, in mid-2013, I decided that it was time to move away from setting up computers, technical support and administration. I decided to go into either analytics or project management. A position was found where I could develop in these areas. And there I realized... What I never want to do in my life!
There was a moment when I, while rearranging the pages in the government contract report in the correct order, suddenly realized what was happening. Oh my God, I’m already a quarter of a century old!!! I'm poking around with pieces of paper, having previously intellectually copied and pasted the text in them from the same pieces of paper for the last reporting period!!! But before that, I was doing interesting things with servers, organizing work processes, helping people...
This was a turning point in my life. A kind of “professional crisis”. I'm tired of doing maintenance. I wanted to create and create something myself.

Java

I remembered that I was pretty good at coding in college. I remembered that programmers make good money. I remembered that there is a cool Java language , a thick client on which we implemented, and whose programs can be run under any OS. My search for materials on Java led me to Java Rush . This was around October 2013 . The way the information was presented and the huge number of examples really attracted me. I went to work, sat down at the computer, came home from work, and in the evening sat down at the computer again to study. Sometimes I sat until late at night. I passed the first 10 levels very easily , because... many concepts were familiar to me. To have more time to study, I stopped going to the gym, got some weights and worked out with them at home. Around December, I planned that I would start looking for a job no earlier than the end of March. But I started to pay extra attention to work. Yes, I already simply hated her. Sometimes I would brazenly do Java Rush tasks right on my work computer during working hours. The result did not take long to arrive - at the beginning of January 2014 they informed me that I was working for them only until the end of the month. It was a shock, of course. The knowledge that I would be left without a basic income while having to pay for housing was very worrying. I diligently took on articles like “ 100 Interview Questions for Java Juniors ” while continuing to study in Java Rush .

Interview and test task

I reached somewhere around level 17 when I went for the first interview. In one of the organizations they gave me a test task to write - an application that would determine whether it was possible to lay out all the dominoes in one line. If yes, then output this solution. Inspired, I sat down at the computer to write it and... I was horrified! In the hothouse conditions of Java Rush it was very comfortable to sit and write code. But here we had to come up with everything from scratch, from scratch, so to speak! This is where doubts and hesitations came. Do I even need to become a programmer? It was very difficult for me to write code! I didn’t really know anything about basic Java stuff, my knowledge was very superficial. And it was not clear how to solve this problem. But I was still able to find a solution algorithm on the Internet using graphs - it all boiled down to finding the Euler path ( this is from graph theory, editor's note ).
My colleague from my previous job helped me with Java all the time, the one who wrote the aforementioned thick client in Java. It was he who helped me solve the problem using the recursive method. I sent the task for review... 2 long weeks of waiting for a response...

First job

...But everything went well! They took me, I did it! On March 5, 2014 , I started working as a Java developer . Happiness knew no bounds, largely also because I ended up in a company that deals with electronic payments. And they treat the staff very well. Just look at their chic office and free coffee and tea - back then it was a novelty for me.
I sat down to sort out the project... And realized that I didn’t understand a thing! Servlets, filters, XML parsers, SQL queries, repository commits, HTTP get and post, unit tests... All this was new to me. Yes, I only recently learned how to use interfaces!
There were times when I looked at the code, climbed through the chains of method calls, went deeper and deeper, and realized that I forgot where I started! From time to time I had thoughts of just getting up and running away! And then spring allergies came along with problems in my personal life. The brain simply refused to perceive anything. In short, I did not pass the probationary period. It was hellishly stressful. I didn't do what I dreamed of. Self-esteem was greatly damaged. Even gray hair appeared.

Wanderings and ordeals

However, I decided to continue what I started. In July 2014, I was hired to work in my native Kazan, in an international organization. There I wrote Frontend in Swing . The program transferred data from one DBMS to another . Oh, and then I tormented the team lead and seniors with my poor knowledge of writing Java code ! However, this work allowed me to sharpen my skills, learn basic techniques and gain knowledge. For my part, I also made a couple of serious innovations. During this period, I was wildly overcome by doubts. I still found work difficult; I lacked perseverance and concentration. But I passed the probationary period, albeit with difficulty. But in February 2015 , during the most crisis, there was a wave of layoffs. They laid off me as the most inexperienced and lackluster, and my colleague as the oldest and already hesitant. Plus plus to the stress meter. I knew that I was still completely new to programming, and during a crisis, few people needed new people on staff. I only had 10 months of experience in my kitty . Not particularly successful either. In March, while I was searching, a very interesting event happened. They wrote to me on social networks and asked if I would like to go teach Java . This surprised me greatly. Later it turned out that the HR manager, quite by accident, literally pointed his finger in the sky at me. After all, even the words Java or programming were not listed in my profile. Nevertheless, since I love all kinds of adventures, I agreed to come for an interview, where I was asked to write a small program in a notebook. I did it, but I noted to myself the bias of this method of testing knowledge. I was offered a trial lesson. I prepared, wrote up my presentation, and delivered the lesson successfully. Upon completion, I was told that everything was fine, but the lessons needed to be redone for schoolchildren aged 12-18 . I did this, but as a result they chose a more experienced teacher, but they will contact me in the new academic year, in the fall. I wasn't particularly upset. In April, I got a job at the most famous and largest multidisciplinary IT office in Kazan, where I worked on various projects. I improved my skills in SQL , servlets, etc. Also, in August I took up the initiative of a colleague to start preparing for the OCA . At that moment I realized that I don’t know the basics of Java at all ! All these troubles with initializing constructors during inheritance, just a crazy switch, compile time and runtime. It turns out that I started studying all this just over a year after I started working as a programmer! Autumn 2015The organizers of the course contacted me and said that they are now preparing to launch a course for adults. It turned out that I would have to create all the educational material myself - theory, practical tasks in class, homework. This circumstance greatly reduced my enthusiasm. After all, I expected that I would simply pass the material from the manual through myself, and then present it in some form in class. However, I saw several benefits to this activity. Firstly, improving and consolidating your own knowledge. It’s not for nothing that they say: if you want to learn or understand something, explain it to someone else! Secondly, a reason to overcome the fear of public speaking. Thirdly, a good opportunity to train your memory. Fourthly, this will improve my financial situation, because... Juniors are paid little, but I’ve been wanting to change my car for a long time, because my Nexyusha is already completely rotten. And fifthly, it pleases your vanity when you realize that someone may need your knowledge and experience.
The courses started in November and it was one hell of a ride! Work in two places. It was necessary to find and prepare material, think through lesson topics, and homework assignments. This took up absolutely all my free time. By the way, I actively promoted JavaRush. As homework, I was given certain levels to complete on this wonderful site. Up to the 10th free level, of course.
But I further recommended purchasing a subscription. Because I think that Java Rush is great for getting used to examples. But the theory needs to be further developed. This first four-month course was spent in constant tension. But! I have significantly improved my knowledge of Java . Changed car. I stopped being afraid of unfamiliar audiences: as they wrote in books on rhetoric, I began to get high during the lesson, which cannot be said about the process of preparing for it. Yes, it was a very difficult period when I did not have time to communicate with friends. Well, I don’t think it’s worth mentioning the lack of personal life. I worked in the large Kazan company mentioned above for a year and a month. Everything was fine there in terms of professional growth until the team lead left. He guided me and gave me various interesting tasks, despite my frequent mistakes. With his departure, the link between management, developers and analysts was lost. In short, complete chaos began in the project. By the way, only towards the end of my work in this organization did I stop thinking about the correctness of my choice of the developer path. Before that they always accompanied me. With the awareness of each difficulty, delay in solving a problem, a bug in my fix of another bug. It was very pressing.
But I remember that I firmly decided at the beginning of my journey that I would make a decision about continuing or ending the developer’s path only after 5 years. Everything was going really hard for me. I constantly felt that people around me were much smarter than me, that I could not grasp things as quickly as they did. It was probably not worth it to plan all this.

Present tense

In June of this year, I got a job where I work to this day. We are working on a very interesting service for backing up cloud data from services like Google Disc, Dropbox, Office365 to Amazon servers . I would like to note that if it were not for the careful study of the topic of multithreading for conducting lessons, I would not have been able to pass an interview with this organization, because assignments were given specifically for this part. I decided to go back to preparing for OCA . At the end of winter I found excellent materials for this, but did not find time to prepare. And so, between the 2nd and 3rd stream of students, I had a free month to prepare. Of course, I didn’t have time before the course started. But he still achieved his goal - he passed the Oracle 1z0-808 exam with 81% correct answers and 65% passing. I wanted, of course, 85% . But drinking more than a liter of water beforehand, so that “the brain could think better,” forced me to finish half an hour earlier without the opportunity to double-check everything. However, I am still proud of this successful certification. At the end of January 2017 I plan to go and take the OCP test . Certification isn't much use if you think about it. For me personally, this is an opportunity to solidify the very basics. Because I sometimes need to answer tricky questions from students. PS I've been a developer for almost 2.5 years, but I don't consider myself a programmer as such. I know what a huge amount of information I need to pass through myself about (algorithms, DBMS , data structures, web technologies, patterns, front-end, frameworks, etc.). And I want to continue studying Java Rush for general development, fortunately, the subscription is unlimited. There's no end to the work! And most importantly, I like it. I want to know more, write code faster and better. My dream is to eventually develop into a team lead or an architect. But there is so much to do before that! All that remains is to manage your time correctly and procrastinate less.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION