Middle / senior: how to escape from the swamp?

    Three years on one project - there is no place to develop physically. Every day there is less and less enthusiasm, and only one type of the studied one up and down the code leads to hibernation. Familiar? Congratulations, you are "burned out."

    In my opinion, stagnation is the worst thing that can happen to an IT person. But for myself, I seem to have found some conditions that do not define a clear direction, but describe the surrounding atmosphere, contributing to my professional growth. In search of a suitable option, I changed more than one employer. Even in the army under the contract managed to serve.
    Based on the experience, I formulated five principles that you will find under the cut. Perhaps they will suit you too?

    image

    - Tell me, please, where should I go from here?
    - Where do you want to go? - answered the cat.
    “I don't care,” said Alice.
    “Then it's all the same where to go,” the Cat remarked.
    “Just to get somewhere,” Alice explained.
    “You’ll go somewhere,” said the Cat. - It is only necessary to go long enough.

    (C) Lewis Carroll, Alice in Wonderland.

    Instead of a preface, I’ll note that there’s no point in talking about development if there are no conscious goals for the future. It does not necessarily have to be a clear plan for 3-5 years with indication of positions and salaries, as they like to ask at interviews. But you need to understand what you really want, and taking the next step, imagine how it relates to a global goal.

    image

    For example, I think that it is necessary to cover the maximum number of different technological directions in order to ensure growth for yourself. At the same time, it is necessary not just to read a couple of books, but to delve deeply into real business problems. In the future, will require some development in administrative terms. It seems to me that it will not bypass any established specialist, so I am already now fulfilling some of the functions of the lead. And all these diverse tasks quite fit into my view of the future.

    Principle 1. The personal development of a specialist seeks beyond the maturity level of a company.

    More perfect processes - faster growth. On the other hand, the more experience and knowledge, the more difficult it is to get along in an organization where processes are not built at all.

    I started working as a student. After reading the book by Roman Savin "Testing Dot Com, or the Handbook on the Abuse of Bugs in Internet Startups", I went to test, not really imagining the development process. This was the first experience on a real project. But, as I understood later, it was difficult there not only because of the lack of baggage of knowledge, but also because of the banal organizational "swamp". In that company, even the test documentation was not - everyone did not care what was happening.

    Subsequently, looking for a new place, I chose companies with streamlined processes. This motivates, makes "pumped" in the right direction.

    True, the processes of processes are different. Around the middle of my career I was bitten by some kind of fly and, having already had a decent experience in testing automation, I decided to drop everything and went under contract to the ranks of our gallant armed forces. In the army with the well-trained “processes” I didn’t get along well - I survived only two years. If from there it was possible to quit in accordance with the Labor Code of the Russian Federation, having worked for two weeks, I would have done so in the first month. Despite the quite successful “career” (they wanted to see me in all the headquarters), I understood that this did not suit me.

    After the army, I had to go from the very beginning - to get involved in an organization with simple processes in order to tighten up knowledge, and then look for someone with more advanced ones.
    Of course, not only processes are important, but also the team. Practically everywhere you can learn something, but it's good when there is someone to reach out for in a team, when there is help from more experienced colleagues in solving new technical problems.

    Principle 2. It is possible and necessary to master adjacent fields of knowledge. This allows you to rise to a different level of abstraction, re-realize the already known, to discover new areas of interest.

    As a student, I started with manual testing. When I got into the second job, with a more advanced approach to testing, I learned a lot about test design, how web applications are built (at that time, all my projects were on the web). There we wrote an online store for a printing factory in Kentucky - our software validated client orders before being sent to the factory. Having “worked hard” on this, I realized that I have the strength to master automation. Subsequently, even the master’s degree wrote on the topic “Automation of testing a C # web project using selenium webdriver”. It was one of the first works related specifically to testing, so the defense went off with a bang.

    Having mastered automation, I along with several colleagues turned out to be in the QA Automation department. And, by a funny coincidence, I was left there alone - somehow, to get out and carry on myself the entire testing automation alone.

    Honestly, there was not much knowledge then. I didn’t even really know about CI / CD, although among the tasks was the Travis setting. All this had to read, ask or search for answers on the forums. But it was another expansion of my horizons, and I liked it. In the end, I still managed to get Travis CI.

    Speech here, by the way, is optional about technologies. Now, for example, I took some administrative functions in order to test myself in this field (a kind of “attachment to the position” is the lead for testing within the company, that is, between all projects). I had previously thought of moving to the “administrative” side - I planned to go to the leads, and later, perhaps, take up my product. But then I remembered what automation is and how interesting it is (as I said, after the army it took some time), so the administrative path at the moment has ceased to involve it. However, why not try if there is such an opportunity? So now I keep track of work on all projects of the employer, supervise the development of the testing department, give estimates for new projects.
    All this broadens the mind, gives new opportunities for development.

    Principle 3. In the professional development of technology and tools play an important role. But the liquidity of a specialist in the labor market as a whole is more important to me.

    After the army, I ended up in a company that uses, let's say, an unconventional approach to test automation. Earlier, I was used to using some popular frameworks and tools that are used in almost every company. But my new employer used a tool written by his own developers. And this very specific automation was reduced to the fact that we simply described test cases in tables.

    After the army it was not bad - there was an opportunity to gradually get into the picture. But if I had stayed in these conditions for about five years, I would have been very good at drafting tables, but I would hardly have been a liquid specialist in the labor market. It did not suit me, despite the money, trips and other bonuses. I felt that after some time I would remain a “dummy” and, developing in the proposed direction, I would be interested only in this company.

    I wanted to immerse myself in business logic more, especially since all projects have different designs. And I went in the direction of a more traditional approach. Changing the employer, I looked, with what exactly the company works, on what projects, what directions is interested. And in the end I went to the organization, whose tasks pump me as a more flexible and more in-demand specialist in test automation in the industry (this could be seen at least in the requirements in open vacancies). I could be sure that in the future I will be able to find work on the same profile.

    At first, I was engaged in the automation of backend testing, in particular, the REST API. I came across testing REST API not for the first time, but previously I did it manually, and there was no automation experience even within my home projects. This was another challenge for me - I had to join a new task, learn a new tool specific to me (Robot Framework - the tests in it run somewhat differently than on the usual Cucumber for me). This project had to work very closely with the database, so I simultaneously pulled up SQL.

    For about a year, I tried out the API testing automation and decided to change direction a little. Now I am working on automating mobile application testing. I get test cases from manual testers at the entrance and automate them in our infrastructure. I support the performance of existing tests and configure continuous integration.
    A separate area of ​​my work is UI testing. Here something is constantly changing, a lot of dependencies on other components emerge, and the main task is to make the tests stable, including through the mocking of external systems. All this is interesting and in demand.

    Principle 4. Development under the employer's wing should have a certain degree of freedom.
    I have a rather multifaceted experience, which allowed me to confirm the truism of IT in my own skin: if you don’t develop, stand still in knowledge, consider that you are already behind.


    Most of all I felt it, just returning from the army. Two years seriously hit by my knowledge. It seems that my value as a specialist slowly swam away with everyone: “I wish you health!”. Very much had to be remembered, and even more to catch up. During my absence, many new directions appeared, in particular, mobile testing automation began to develop, which generally passed by me.

    Understanding this, I was looking for opportunities to catch up with this “outgoing train” of the industry. Simply make up for real projects. True, the first job after the army just did not allow it. But the current employer gave the green light to the experiments. For example, in my area of ​​competence is the study and integration of new interesting tools that help make testing automation in my area more flexible and transparent. Of course, everything needs a leadership sanction, but I have a certain freedom in choosing a direction.

    The above speech is about freedom in the narrow sense. But for me, freedom in a broader sense turned out to be important - the ability to switch between technological stacks.

    Work stasis happens to all. You understand that the project, with all its initial attractiveness, begins to pall, - you “get fed up” with tools and technologies, many moments become clear and uninteresting. And in general, the task no longer carries the complexity, it does not have to strain your brains. Perhaps this is a bell, hinting that it's time to change something.

    And it’s good if the employer responds flexibly to this. At my current job, the manager calls up on a regular basis, finds out whether we like the project and whether we enjoy working. And when at some point I felt that I was tired of the task, as I mentioned above, I was offered another - just with a different stack of technologies. So I got into mobile test automation, at the start without even knowing how to run a test. For me it was a whole story, a real test. The solution of such problems brings me great pleasure. There is no trace of the feeling of stagnation.

    And I realized that one of the aspects of self-realization within the company for me is the presence of several living projects, as well as the possibility of transition between them (well, of course, not every week, but at least once a year).

    Principle 5. The format of work plays a smaller role in self-realization than I previously thought. Remote work and development do not contradict each other.

    You can often hear the opinion that some kind of self-realization is available only in the office. For different reasons. And I was partly in agreement with this, because I consider myself a socially dependent person, I like to communicate with living people. So when I was offered to leave for a remote place, I first feared that I would be stuck alone. But at that time I already had a positive experience of a remote part-time job, and I decided to try.

    At the moment I have been working remotely for a year and a half. And frankly, I do not see much difference. In large companies, too, quite often your team is located in another city or country. And the mechanics are the same: phoned on Skype, correspondence in Slack. In terms of work and my aspirations in the field of professional growth, nothing has changed.

    The only thing - for me, even more so than for office workers, is the danger of professional burnout. Remote format - flexible in terms of time and place of work. And this is both a plus and a minus. At first it was difficult for me to divide the house and work: you are like a house, the working day is over; it would seem: "Ruslan, go rest!". But no. I was drawn to finish the task. Before the transition to the remote, I heard about this, but could not believe that you are so drawn into the work. Only when confronted with this problem on my own skin, I realized that it was necessary to look for a kind of virtual face that could not be crossed. Otherwise, you just start to burn at work. You no longer need any development. But this is not a matter of format, but only an aspect of self-discipline. I figured it out pretty quickly.

    The listed principles do not answer the question “what should I study now?” Or “where to go to work further?”. But for me, as a specialist, they define certain parameters of personal comfort, reflecting the idea that the very posing of the question “what I need to learn so that there is development” is wrong. It is much more correct to think about what conditions in general should be created (or found) in order to support the realization of their goals and potential.




    Article author: Ruslan Abdulin

    PS We publish our articles on several sites of the Runet. Subscribe to our pages on the VK , FB or Telegram channel to find out about all our publications and other news from Maxilect.

    Also popular now: