How to sit in support for five years and become a Python tester in two weeks

Yes, yes, this will be another article on Python. The very language that is considered one of the most popular to learn and use. The article will be useful for those who are just thinking about learning Python or are taking their first steps. I will try to describe my experience in language learning, share my personal tricks, suggest useful and most effective resources, and outline what is useless to waste time.



image



Why I decided to learn Python



My name is Masha. I am 28 years old, 6 of which I spent in the regular service sector, and another 5 in the service sector with a technical bias (in simple words - support). Needless to say, how tired I am over the years from the monotony of tasks? And so, at one fine moment, I caught fire with the idea to radically change my life, for which the goal was set - to switch to testers using automation in Python.



It would be possible to procrastinate for a long time and force myself to move towards a change of activity in small steps, but I chose the tough option - to immediately try to find a job.



β€œYou don't have to be the same person you were a year ago, a month ago, or even a day ago. You are here to constantly create yourself. " (Richard Feynman, renowned physicist)


In addition to the very desire to change the field of activity, I still had some useful baggage, namely: a higher education in the specialty "Computer Science and Computer Engineering" and previous experience as a technical support engineer, where I also did not stand still and tried to develop. I had a standard set of knowledge on HTTP, SQL, XML, as well as a little experience with PHP, Kotlin in conjunction with Selenium Webdriver. In addition, I studied the theoretical foundations of testing and tried to apply them in my work, completing small additional tasks.



So, the goal is set: to learn Python as efficiently as possible in two weeks.



Where does everyone usually start?



As a child of the nineties, I started by asking a search engine. After scrolling through the ad block (I'll come back to it a little later), I began to study numerous articles with collections of resources for learning Python. Each article consists of at least 10-15 "selected and best" resources that you should definitely use. Many articles simply list the masterpieces of the Python classics and read them for years later.



I honestly tried to master some of the "best" books for Python newbies, but after a dozen pages I was getting downright bored. The information did not want to fit into my head at all. I confess that none of the books I have begun have been read to the end.



My advice is not to waste time studying books at the beginning. The huge amount of information presented in them is not assimilated without practice. It is convenient to use such online resources as python.org , pythonworld.ru and the like as reference books , where you can find the necessary information in a structured form with examples of use.



Good practices



My next step was to study online courses. From the many offers for free online courses and resources, I have picked a few that I want to share with you. There will be not a dozen of them, as usual, but only three. These are the resources that I personally tried on myself and which gave the most effective result. They can be mastered in just two weeks, passing one by one or in parallel.



  • praktikum.yandex.ru/data-analyst praktikum.yandex.ru/backend-developer – , .



    , , . , .



    , . , .



    . . , .
  • checkio.org – . . -.



    , Β« - Β». , chekio.org , , , .
  • hackerrank.com – . – !


When taking these courses, I recommend not to skip assignments, even if the task seems elementary or something similar has been studied previously. Repetition is the mother of learning, and if you have the same bad memory as mine, it will allow you to remember the moments that you did not learn the first time. Also, in different courses the same topic may be covered in different ways. For example, one author described the use of one half of the string methods and matched appropriate assignments, and another course goes into more detail about other string methods.



The best way



So, having spent a lot of time on different courses, I made a simple but important conclusion for myself. If you want to learn Python - find a use for it, write code every day. If your job has anything to do with data processing or IT, try to find a routine task that can be solved using Python. Even if the script takes much longer than the actual execution of the action, it will already be a big win. As they jokingly say, if an action takes more than 1.5 seconds of your time, write a script for it.



image



For example, at work I periodically came across a task in which I need to fill in a couple of fields in a web form. With a small amount of data, each time it seemed easier to do it by hand than to start automating this process. But when the total number of filled fields exceeded dozens, I decided to write a script in Python that would take data from a csv file and, using Selenium methods, fill out a web form for me. I succeeded in this, which was pleasantly noted by my superiors.



I will give the second example from my personal life. Besides the programming language, I need to maintain a level of English. My personal problem is that I don't remember words well. Just like I opened and closed the refrigerator and immediately forgot its contents, so did I - I met a word, looked up its meaning in the dictionary and forgot the translation after a minute.



I decided to combine my two disadvantages - poor memorization of English words and imperfect knowledge of Python - and get a plus from them. A script was written that displays random words from a previously prepared list and checks the translation I entered.



My recommendation is to choose a task from work or personal life for yourself right now, which can be automated through Python, and immediately after finishing reading the article, start implementing it. By the way, the presence of such own developments in the portfolio is very much appreciated by the employer when evaluating candidates.



A second great way to learn as effectively as possible is to use Python at work. Whether it is taking initiative in the current job and taking on new tasks, changing a position or even looking for a new one.



What seemed less effective



As much as I hate to admit it, learning Python from books is not a good idea. I love reading, there are many advantages to it, but for the initial stage of language learning it is not effective. Usually, books give a large amount of knowledge without putting it into practice. You can read hundreds of pages with descriptions of types, code examples, best practices, but without writing the code yourself, it doesn't make sense. For example, can a person, having just read the anatomical reference book, immediately become a doctor and perform at least a simple surgical operation?



After reading books, I got an idea in our digital age to use visual methods of consuming information, for which I climbed on YouTube to find a video or video channel that was most useful for learning Python. Unfortunately, I never found the perfect channel or series of videos. If you look for a specific topic or answer to a question, you can find something useful, but watching the training videos one by one eventually again led to the problem of a huge amount of information that is not applied in practice. When watching a video, it becomes too lazy to repeat what you already see on the screen. And after fighting laziness, you definitely need to relax and include some video on an abstract topic. That's it, the learning process slipped into relaxation. However, if you know some great YouTube videos about Python, please share links.



The next method, which I tried and considered a waste of time, is a trial lesson in the form of a webinar from a well-known online school. The announcement promised that in just three lessons I can write my own messenger. For an hour and a half of the first lesson, so much water poured out on me that I almost drowned. I learned about all the advantages of an online school, the convenience of payment by installments, listened to the happy stories of the course graduates and a standard text-introduction about why Python is so good. We have not started programming or parsing useful information. It was a shame to lose so much time, so I did not even consider further offers from online schools.



My opinion on paid courses



When you start looking for information on Python, advertising offers for taking paid courses constantly flash in various places. Their cost varies from several thousand to several tens of thousands of rubles. A promise is made that upon completing the course, you will immediately become an advanced Python programmer, find a dream job with a high salary, and in general everything in life will change for the better.



Why didn't I include paid courses as a good or bad practice? Because I didn't use them. He who seeks will always find, but for the first time, only what can be found for free is enough. As for paid online courses, most of them offer learning what is already available for free.



I do not consider advanced online courses at the initial stage - there may well be worthy candidates among them who will help not only acquire knowledge, but also certificates that are valued in the IT environment. The presence of achievements in any case shows interest in the topic and the ability to self-study. I suggest in the comments to share links to your personally recommended courses for the next level after the initial one.



I did not consider paid face-to-face courses, although I assume that they can be very useful. Years later, recalling the experience of a general education school and institute, I understand that face-to-face studies are perhaps the most effective form of education. But in adulthood, other factors come to the fore. My personal reason is that I could not allocate free time in my schedule to regularly attend face-to-face classes.



Learning should be fun



This is the main advice I would like to give. Only this will help me not to lose my passion, thanks to which I managed to achieve the maximum result in learning Python from scratch in two weeks.



Now, even having got a new job related to the automation of the testing process, I do not stop there and continue to dive into Python, step by step, with each new task.



Nevertheless, for future pythonists, in conclusion, I will share some practical advice, because the theory studied above is almost useless without its application in practice.



  • β„–1



    , -. ( sitengine.ru//smart-question-ru.html) . , , – .
  • β„–2



    . , Python . , . , - .
  • β„–3



    , . , .
  • β„–4



    . , , , . : , . , , (if) (for, while).
  • β„–5



    , . . . , . , , , , .


Hope this article helps save time and other resources for newbies like me in the past.



All Articles