3 mistakes at the beginning of training and how to avoid them

When you join a new field, mistakes are inevitable. It is not always something dramatic: it is enough to set the wrong priorities in training, not quite understand the essence of automation or fall too much in love with the help of neural networks. But what is the threat and how to study wisely?

Hi! I'm Dima Sinitsyn, the lead of the testing team and a mentor on the course “Java Test Automation Tool”. I noticed that students often make the same mistakes that are easy to avoid. I talk about this in the article.

Missing Basics

At the start of their studies, students go through the most important sprints – sprints on the basics of the Java language. Their main purpose is to lay the foundation for subsequent learning. But many students do not attach much importance to these sprints and decide not to delve deeply into the material.

What does this lead to? For example, you can reach the middle (or even the end) of the training and not fully understand how code is written, what methods and classes are, what variables are.

This, in turn, leads to uncertainty, chaotic search for a ready-made solution (without understanding how it works) on the Internet and among fellow students. And also to a large amount of wasted time and loss of motivation for learning.

You can often hear from such students: “I’m just not cut out for it, it’s not my thing.” Although in reality, you just need to devote as much time as possible to the basics. It is important to learn not only how to write code, but also how to read and understand the basic language constructs.

Some tips:

  • Take notes from your lessons. After each lesson, write down in your own words your understanding of the lesson. What was the lesson about? Why is it necessary? Write down examples of use. This will help you better understand the material.

  • Analyze the code from the lesson until you fully understand it. Here is an example of parsing the code to output the sum of numbers:

    ```java
      int firstNumber = 1; // Объявляется переменная firstNumber типа int (целое число) и ей сразу присваивается значние 1
      int secondNumber = 2; // Объявляется переменная secondNumber типа int (целое число) и ей сразу присваивается значние 2
      int result = firstNumber + secondNumber; // Объявляется переменная result типа int (целое число) и ей присваиватся результат сложения значений переменных firstNumber и secondNumber (1 + 2)
      System.out.println(result); // Выводим в консоль значение переменной result, напечатается число 3
    ```
  • Don't just train on the machine. For example, in the service CodeWars You can practice on very simple examples of writing a method, declaring variables, and so on.

  • Of course, ask questions in the chat with the mentor! Mentors provide detailed answers and explain how a solution can be formulated.

Not just automation, but test automation

Many students miss a very important point during their studies, namely that we are not just writing code (just so that it exists), but solving an important problem – helping to automate the manual passing of test scenarios. But if these test scenarios are not there, then the work is done blindly.

You should always look at the project from the tester's point of view before you start writing code: “How will I test this system? What test cases will I have? Where will I get the test data? Will my scripts accurately test the system?”

Once you have assessed the project as a tester, be sure to write test cases. Yes, it will take some time, but you will get a clear understanding of what exactly you need to do. After the test cases are written, go through each step and think about how to implement it in the code and what is needed for this.

Test cases + action plan for transferring them into code = quality project

Example of reasoning: “The first step is to send a POST request with authorization data. To do this, I need: a) User data, b) Code for sending the request.

I will generate the user data before the test starts, which means I need a method with preconditions and a method for generating the login and password in the test. This method is not directly related to the test, which means I need to put it in a separate class, I will call it Utils.

I will make the code for sending the request using the RestAssured framework. Since it is also not directly related to the test, I will also put it in a separate class.”

ChatGPT, help

ChatGPT has won the love of IT professionals since its release. It helps to increase productivity, reduce the time it takes to find an error, and much more. Many students also use ChatGPT in their work to search for information. But there is a dark side, namely requests to write ready-made solutions for educational projects and tasks. What's wrong with that?

1. You are missing out on the opportunity to learn how to formulate solutions on your own. Any skill takes practice. It may take a hundred poorer decisions to make one good decision.

When you go through this process on your own, you train, learn from your own mistakes. This is what will give you progression in skills. A ready-made solution from a neural network will not give you anything except the solution itself.

2. ChatGPT's solution can be overly complex and confusing. To solve a simple problem, a bot can come up with a complex and non-optimal solution that will confuse you when you analyze it. And if you are not confident in your knowledge, then chaos is guaranteed.

3. The bot may give an incorrect and non-working solution in advance. I personally observed such a situation when ChatGPT returned uncompiled Java code in response to a student's request. If you have experience and knowledge, you can easily fix such a solution, but what happens if you have no experience and knowledge or little of it? The answer: chaos and panic.

There is nothing wrong with using neural networks for work or training, but it is important to use such tools correctly. The short-term benefit and result from a neural network is offset by the long-term lack of your own skills. In addition, composing requests to a bot can be as labor-intensive as writing code manually.


To sum up all of the above, the correct approach to learning on courses is not much different from the correct approach to learning at school or university.

Try to rely primarily on your own strength. Yes, it may take more time and effort. Yes, you may not complete the course on the first try, but in the end, the knowledge you receive will be 100% assimilated.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *