JavaRush /Java Blog /Random EN /There is no need to fight evil in development, but you al...

There is no need to fight evil in development, but you also don’t need to make contact: the story of programmer Irina

Published in the Random EN group
Over the past 8 years, thousands of students have taken the JavaRush course. Today, more than 1.5 million users from 106 countries are registered on the project website. Not all graduates had time to talk about their successes: how they studied, passed interviews and started working as developers. But today’s students are interested in learning the stories of those who already work in IT. We took matters into our own hands and launched a new special series about developers from different countries and companies who were trained in JavaRush. Our second story is about Irina . At school and university, she loved technical sciences, knew a little programming, but chose to work in the field of contextual advertising. Nevertheless, Ira wanted to try her hand at development. One day, she received a newsletter about recruiting intern developers for one service. And although the girl did not pass the interview, this motivated her to start learning Java.“You don’t need to fight evil in development, but you don’t need to make contact either”: the story of programmer Irina - 1

“I definitely wanted to try my hand at development”

When, after the 9th grade, the choice of further direction of study arose (we had a division into technical, humanitarian, economic, medical), I chose between humanitarian and technical. The humanitarian direction seemed to me in the image of a journalist exposing evil for the sake of good throughout the world. About technical things, I thought this way: if I don’t fight evil, then at least I won’t have contact with it, that is, with them, with people. I followed the path of least resistance and chose the technical direction. After school, I entered a university to major in Informatics and Computer Engineering. Alas, the university did not provide any specific skills in any language. I learned something fragmentarily about C++, C#, JavaScript, and layout. In my third year, I accidentally became interested in contextual advertising and just as accidentally got a job at a fairly well-known company. As a result, I stayed in advertising for 2 years. The success was good, but I definitely wanted to try my hand at development. I also returned to programming without a well-thought-out plan: my work email received a newsletter about recruiting intern Java developers for a new service. I decided to go for an interview. Of course, my basic knowledge at that time was not enough for an offer, but this story prompted me to try to look for something about Java. I found the JavaRush website by accident on the Internet. At first I wasn’t hooked: it seemed frivolous because of all these pictures and robot stories, but I really liked the opportunity to practice and check assignments. I stayed and decided to try it, but then I got stuck.

“I failed my first few interviews.”

I studied without a strict schedule, in fits and starts: during breaks at work, sometimes at night. Around level 16-17, I started trying to look for a job (at this point I had been studying for about three months, with some breaks). If you don’t have work experience, they like to ask about algorithms, and I hardly knew them either. That's why I failed the first few interviews. I had to prepare extra, look for the most common questions and remember the answers to them. I urgently learned SQL, studied code versioning systems (Git in JavaRush is mentioned unreasonably far, level 30 only), SOLID, solved problems on quizful.net, memorized sorting algorithms. As a result, I was hired as a junior in a small company. My tasks at my first job were very trivial: developing new system functionality, adding to the current one, fixing bugs. We worked according to the waterfall methodology: the business sends a task, the analyst describes it in a little more detail, the developer implements it, the analyst tests it, and then the developer rolls it out into the product. We didn’t use any special technologies: we wrote everything in pure Java, using a monolith instead of microservices. To work with the database, we used our own closed-source framework. There were a lot of difficulties at the very beginning - from how to upload the project to the repository to how to write a request to the database so that it would not time out. I had to google a lot about working with JSON, SOAP, what Maven is and how to build a project with it. I didn’t give up JavaRush, I tried to study at least every other day, although a couple of times it happened that I gave up for a month. But the goal was to achieve the coveted 40 levels. At the same time, I took a course on the Spring framework from Otus. Spring opened up many new opportunities, and the number of offers on my resume increased tenfold. During quarantine, I changed my job and switched to a project with a microservice architecture. We are creating a service for searching, selling, purchasing and renting residential and commercial real estate, as well as processing and supporting mortgages. 80% of our services are written in Kotlin, another 20% in Java.

My plans for the near future:

  1. A deeper dive into architecture. I would like to study the design of backend architecture in detail.
  2. Learning C++. I think that this will definitely be useful for every programmer - to be able, if necessary, to write parts of the application that must work critically quickly. This will also be useful for any complex mathematical calculations.
  3. DevOps. In some companies, this is even a mandatory requirement for programmer skills. For anyone else, it will definitely be useful.
  4. I don’t regret at all that I chose a technical direction in the 9th grade and that two years ago I was not afraid to leave advertising and start programming. Development is a kind of magic, a way to make complex things simple for people, confusing things understandable. Now I'm trying to get my 12-year-old younger brother interested in programming. A year ago I gave him an Arduino construction kit and I’m thinking of buying him a book about creating Minecraft in Python. When I get a little older, I’ll show you JavaRush. I think he'll like it. One of the important things that JavaRush gave me was my realization that you really can’t be afraid to pay for good materials. It will pay off a hundredfold.

Tips for a beginner developer:

  • Continue programming. The whole work of a programmer consists of solving certain problems, finding certain errors and correcting them. Sometimes it can (and will!) seem unbearably difficult, boring, annoying, but the moment when the task is finally solved feels like a real breakthrough, a victory, almost a discovery. And so on in a circle. Anger - acceptance - long attempts and endless failures - victory. And waiting for the next breakthrough and victory is the thrill of being a programmer.“You don’t need to fight evil in development, but you don’t need to make contact either”: the story of programmer Irina - 2
  • Always and whenever possible, continue to study. Read articles, books, find and take courses in certain areas of development, be sure to try new technologies and apply them in your home projects. Communicate with people who are equally passionate about development, exchange experiences and ideas. At one time, it was communication with such ambitious guys that helped me not to wither away in that first company of mine, and not to be afraid and to move on.
  • Hence the third piece of advice - don’t be afraid to change something : work, framework, language (may JavaRush forgive me). All my main victories over myself were at the moment of changing jobs. Initially, it seems scary to go somewhere without fully mastering the technology or language, but this is very stimulating to develop, to study this unknown technology or language. A second wind kicks in, a special meaning appears to understand and study something.
  • It’s healthy to assess your strengths. Even if for some time you are able to combine work, self-study at home, some courses, college, maybe a family, then there is a high chance of running out of strength. Unfortunately, I know several guys who, after a long time of combining university, working for money and working as an intern developer, at some point got tired and quit programming. If we had taken extra time off, a sabbatical at the university, spent one day off on rest rather than studying, abandoned our courses for several weeks, perhaps everything would have turned out differently.
  • “You don’t need to fight evil in development, but you don’t need to make contact either”: the story of programmer Irina - 3
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION