How to leave science in IT and become a tester: the history of one career



Today we congratulate people who daily care that there is a little more order in the world - testers. On this day, the GeekUniversity from Mail.ru Group opens a faculty for those who want to join the ranks of fighters with the entropy of the universe. The course program is structured so that the profession “Software Tester” can be mastered from scratch, even if previously worked in a completely different field.



We also publish the story of GeekBrains student Maria Lupandina ( mahatimas ). Maria is a candidate of technical sciences with a degree in acoustics. Now she works as a software tester in a large engineering company that develops software for medical institutions.



In my article I want to show the possibility of a rather dramatic career change. Before becoming a tester, I did not have too much contact with information technology, with the exception of the points that were necessary for the previous work. But under the pressure of a number of factors, which are described in detail below, I decided to leave the scientific sphere in pure IT. Everything worked out, and now I can share my experience.



How it all began: technology plus science



After graduating from the university with a degree in biomedical engineering, I got a job as an industrial engineer at an industrial enterprise. This is quite an interesting job, my duties included measuring and controlling the parameters of the enterprise’s products, as well as raw materials at different stages of production.



I wanted to become a good specialist, so I gradually immersed myself in production technology and mastered related specialties. For example, when such a need arose, I studied the methodology for conducting chemical analyzes to control water quality, using state standards and industry regulations as sources. Later I taught this technique to other laboratory assistants.



At the same time, I was preparing a Ph.D. thesis, which I successfully defended. As a candidate, I managed to get a large grant from the Russian Foundation for Basic Research (RFBR). At the same time, I was invited to the university as a teacher at 0.3 bids. I carried out grant work, developed curricula and teaching materials in the disciplines for the university, published scientific articles, delivered lectures, conducted internships, and developed tests and tests for the e-education system. I liked teaching very much, but, unfortunately, the contract ended and my career as an employee of the university also did.



Why? On the one hand, I wanted to continue my journey into science, becoming, for example, an assistant professor. The problem is that the contract was urgent, and it was not possible to gain a foothold in the university - unfortunately, they did not offer a new contract.



Then I quit the enterprise, because I decided that something needs to be changed, I did not really want to spend my whole life working as a laboratory engineer. I simply had nowhere to grow professionally, there was no opportunity to develop. The enterprise is small, so there was no need to talk about a career ladder. To the lack of career prospects, we add a small salary, an inconvenient location of the enterprise itself and an increased risk of injury. We get a whole range of problems that just had to be cut, like a Gordian knot, that is, quit.



After the dismissal, she switched to free bread. So, I developed custom-made projects in radio engineering, electrical engineering, and acoustics. In particular, she designed parabolic microwave antennas, developed a muffled acoustic chamber for studying the parameters of microphones. There were many orders, but still I wanted something else. At one point, I wanted to try my hand as a programmer.



New studies and freelance



Somehow I came across an advertisement for GeekBrains courses and I decided to try it. First I took the course "Fundamentals of Programming". I wanted more, so I also took the courses "Web Development", and this was only the beginning: I mastered HTML / CSS, HTML5 / CSS3, JavaScript, and then began to learn Java in the courses " Java Programmer ". Education was a great challenge to their strengths - not because the course itself was difficult, but because it was often necessary to study with a child in her arms.



Why Java? Repeatedly I had to read and hear that this is a universal language that can be used, for example, in web development. Plus, I read that knowing Java, you can switch to any other language if such a need arises. This turned out to be true: I wrote code in C ++, and it worked, despite the fact that I did not dive too deep into the basics of syntax. Everything turned out also with Python, on it the small parser of the web page wrote.





Sometimes I had to work like this - put the child in an ergo-backpack, give a toy and hope that this is enough to fulfill the next order



As soon as I had a certain body of knowledge and programming experience, I began to execute freelance orders. So I wrote an application for accounting for personal finances, a text editor to order. As for the editor, it is simple, it has several basic functions for formatting text, but it copes with its task. In addition, I solved the tasks of word processing, plus I was engaged in the layout of web pages.



I note that the study of programming has expanded my capabilities and horizons as a whole: I can not only write programs to order, but also do projects for myself. For example, I wrote a small but useful program that lets you know if someone is spoiling your Wikipedia articles. The program parses the page with the article, finds the date of the last change, and if the date does not coincide with the date when you last edited your article, you will receive a notification. I also wrote a program for automatically calculating the cost of such a specific product as labor. The graphical interface of the program is written using the JavaFX library. Of course, I used the tutorial, but I developed the algorithm myself, and for its implementation the principles of OOP and the mvc design pattern were used.



Freelance is good, but office is better



In general, I liked being a freelancer - you can earn money without leaving your home. But here the problem is the number of orders. If there are a lot of them, everything is fine with money, but there are urgent projects with which I had to sit until late in emergency mode. If there are few customers, then you feel the need for money. The main disadvantages of freelance are the irregular schedule and the unstable income level. All this, of course, affected the quality of life and the general psychological state.



An understanding has come that official employment is something that will help get rid of these problems. I began to look for vacancies on specialized sites, developed a good resume (for which thanks to the teachers - I often consulted with them about what should be indicated in the resume, and what is better to mention when talking personally with a potential employer). During the search, I performed test tasks, some were quite complicated. I added the results to the portfolio, which eventually became quite voluminous.



As a result, I managed to get a tester in a company that is developing medical information systems for document automation in medical institutions. Higher education in the field of “biomedical engineering” helped to find a job, plus knowledge and experience in software development. I was invited for an interview and in the end I got a job.



My main task now is to test the durability of applications written by our programmers. If the software did not pass the test, you need to modify it. In addition, I check messages from users of the system of my company. A whole department is working on solving various problems, and I am part of it. The software platform developed by our company is implemented in hospitals and polyclinics; if there are difficulties, users send a request to solve the problem. We analyze these requests. Sometimes I myself choose the task that I will work with, and sometimes I advise about the choice of tasks with more experienced colleagues.



After the task is fixed, work begins. In order to solve the problem, I find out the origin of the error (after all, there is always the possibility that the reason is the human factor). Having clarified all the details with the customer, I am forming a technical task for the programmer. After the component or module is ready, I test them and implement them in the customer’s system.



Unfortunately, most of the tests have to be carried out manually, since the introduction of automation is a complex business process that requires serious justification and careful preparation. Nevertheless, I got acquainted with some automation tools. For example, a Junit library for testing an API block. There is also a twin framework from ebayopensource, which allows you to write scripts that simulate user actions, very similar to Selenium, which is used on the web. Plus mastered the Cucumber framework.



My income in a new place has doubled compared with freelance - true, in large part due to the fact that I work full time. By the way, according to statistics from hh.ru and other resources, the size of a developer’s salary in Taganrog is 40-70 thousand rubles. In general, this data is true.



The workplace is equipped with everything necessary, the office is spacious, many windows, always fresh air. Plus there is a kitchen, coffee maker, and, of course, cookies! The team is also cool, there are no negative aspects in this regard. Good work, colleagues, what else does a testing programmer need to be happy?



Separately, I note that the company’s office is located in Taganrog, this is my hometown. There are many IT companies, so there is where to turn around. If you wish, you can move to Rostov - there are more opportunities there, but so far I do not plan to move.



What's next?



For now, I like what I have. But I’m not going to stop - and therefore I continue to study. In stock - course on “JavaScript. Level 2 ”, as soon as there is more free time, I will definitely start to master it. I regularly repeat the already completed materials, plus I watch lectures and webinars. In addition to this, I participate in a mentoring program at GeekBrains. So, for students who have successfully completed courses and during homework assignments, the opportunity is available to be a mentor for other students. Mentor answers questions, helps with homework. For me, this is also a repetition and consolidation of the material. In my free time, when I can, I solve puzzles from resources such as hackerrank.com , codeabbey.com , sql-ex.ru .



I am also learning the Android development course, which is taught by ITMO teachers. These courses are free, if you wish, you can pass a paid exam. I note that the ITMO team holds the world championship in programming competitions.



Some tips for those interested in programming



Already having some experience in development, I want to advise those who plan to go to IT not to rush into the pool with their heads. To become a good specialist, you need to burn your own business. And for this you should choose the direction that you really like. Fortunately, this is not complicated - now there are a lot of reviews and descriptions on any field of development, language or framework on the Internet.



Well, it’s worth being prepared for the ongoing learning process. The programmer should not stop - it is like death, however, in our case, not physical, but professional. If you are ready for this, then go ahead, why not?



All Articles