JavaRush /Java Blog /Random EN /From housewife to programmers

From housewife to programmers

Published in the Random EN group
Good afternoon friends! I am very glad that my first publication interested you. This is the second part of my story. The first one can be found at the link .
From housewife to programmers - 1
Since I work as a Web programmer, all recommendations will be related to this area. I hope this article gives you food for thought and a boost of motivation!

How much did I study

Realizing that time is a limited resource, I did not look for a new job in sales, but decided to become the coolest housekeeper who teaches programming all day and cooks food for my wife. I came across the book “Python for Children” and decided that if children can do it, then why am I any worse? Of course, I didn’t think to go to hh.ru and see if anyone needed a Python programmer in my city. As it turns out, no. But I learned this after three months of cramming. And even later I learned that this language should absolutely not be studied first, because... it has dynamic typing and there are a lot of basics hidden inside that you definitely need to know! If suddenly someone decides to learn Python, I recommend the youtube channel ItPropaganda . Everything is presented here very thoughtfully and in detail. The lecturer had to be a teacher! At hh.ru I noticed that a lot of layout designers were needed, so I switched to the Web. It doesn’t matter which side I jump on, but I want to get on this train, I thought! This took the next three months. It was then that I realized that practice is the most useful thing in learning. New information flew out faster than a bullet. Therefore, after each new video or book, I tried to repeat it all and even write something down. The best teachers in layout for me were: She was the most useful. The practice is unrealistic. I don’t remember exactly, but I took the free interactive course for about two weeks. And then I bought a paid one, but only for the sake of Flex layout.
  • Foxford | WEB programming for schoolchildren 8-11.
It’s like with “Python”: if the children understand, then I will understand. Found it on the Internet.

How I got a job.

Six months of homeschooling passed and I decided it was time. I sent my resume to several companies for the position of junior software engineer and waited for a response. A couple of days later they answered me, and I was very worried. I passed the test (it was more psychological) and filled out a standard form in which I indicated my experience in various IT areas (level of technical English, knowledge of languages, ability to work with git, linux, etc.), in the desired salary column I indicated 5,000 rubles I didn’t care how much I would receive, I was ready to pay them myself, if only they would hire me. It turns out that this company practiced recruiting students, grooming them and keeping them on a permanent basis. During the interview, I remembered the phrase “until the age of 35, you must take, absorb, and then give.” I was hired for a probationary period of one month with a salary of 15,000 rubles. This month was the best in my life, I achieved my desired goal and found out that I would become a dad. On my first day at work, I learned that I needed to build my own computer, the operating system would be linux (do you know where the super button is in linux?), and my first project would be creating a microservice in java that would run on the Radius protocol . To say that I was shocked by EVERYTHING is an understatement. I threw myself glycine faster than Usain Bolt ran a hundred meters (kidding, of course).

What difficulties did you go through?

  • English

    Insufficient level of knowledge of English. When you start working as a programmer, you realize that there are practically no answers to your questions in Russian. The problem is that you don’t know exactly how to Google (but don’t worry, everything will come with experience). Yandex changed to Google.

    I made it a rule to listen to English while I walk down the street, namely “English by playlists” :
    This is tons of hours of practice, and you no longer need to look for any other sources for learning. I watched about 400 lessons in a year.

  • Frameworks

    If you don't have a lot of experience in programming, frameworks ( hibernate, spring ) are a rock on which you can break and lose faith in yourself. These new levels of abstraction, design patterns, beans, singletons, factories are so incomprehensible that you don’t even know where to start. I remember laughing so hard that the "Spring" framework was so complex that they came up with their own "Spring Boot" framework for it.

    I will try to give you a vector:

    1. If you don't know Java, then don't look at the following points, the basics are everything! I checked, it’s useless to go into the wilds, learn from JavaRush.
    2. Basics of Java web development. A course for a very talented guy, who is now 22-23 years old, is suitable for this. He is so cool that I specifically found him in contact, and even wanted to go to Kazan and take courses with him. link , also a link to github of all projects
    3. What is needed to work with a database, this friend explains wonderfully
    4. Well, something new is the let's code channel . Quality, presentation, relevance -everything is great! Talks about Spring Boot .
  • I don't recommend javabegin . When I needed to quickly learn Spring, I foolishly bought his course. The explanation is disgusting. It seemed to me that he didn’t know what he was talking about, he just found an English tutorial and made a video course.

  • Linux (operating system), Git (version control system).

    For me, working on the command line seemed like something supernatural. It turned out that in the world of programming web interfaces are not held in high esteem: true programmers must do everything through the terminal. Linux is a free and open source operating system, and the vast majority of programmers work on it (MacBook has the same commands). Git is the version control system for your program, the standard for all programmers.

    Here I can recommend this interactive site for learning git . The Google Chrome extension - Octotree is something like a total commander for GitHub . Well, install Linux for yourself : it’s really cool, I threw Windows in the trash!

Summary:

Programming is a huge world that gives an interesting life. Yes, it’s hard at first, yes it’s difficult, but that’s just the beginning. I stubbornly moved forward, and have been working as a full stack programmer for a year now, doubling my salary, learning languages ​​such as Java, Python, Kotlin, Typescript, JavaScript; frameworks such as Spring and React. Rewrote the old self-written repository of a large project in Redux, created a microservice in Spring Boot. Now I am running a project in Spring4, which is also in XML. And if I could do it, so can you. The main thing is to see a huge goal ahead and go towards it without fear of the unknown, and your efforts will definitely pay off. Well, if anyone is interested, write, I will continue my story. Topics could be:
  1. Design patterns (real examples when this or that pattern can be useful).
  2. Types of authentication, authorization.
  3. OAUTH2.0 on Spring Boot.
  4. Review of topjava (Spring5)
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION