How I retrained from a tester to a .NET developer

    Dmitry Mishin from Ryazan began his career in IT as a tester, but from the university he wanted to become a developer. For two years he was looking for bugs at work, and in his spare time he independently studied .NET.

    Now Dmitry works as a Senior .NET-programmer. He told how he managed to switch from testing to development.

    How I became a tester

    I graduated from the university with a degree in Designing Electronic Computing Equipment in 2005. In the last courses I realized that I would not work by profession - my studies for five years could not inspire. Then I decided to develop towards IT.

    Usually students look at work, studying in the last courses - I did the same. In his fifth year, he joined VDI, the largest IT company in Ryazan, which merged with EPAM a year later. They had free developer courses, but at that moment the set there was closed. But a testing group was formed. In 2005, almost no one heard about testers - for sure in Ryazan. And still, I decided to join the group. I decided that I would start with testing, and then I’ll figure out how to go into development.

    After the courses, I worked as a tester for two years, but still could not feel in my place. I think a lot depends on the internal disposition. There are people who are more diligent, attentive and scrupulous in nature than I are by nature - these make excellent testers.

    I knew that EPAM has its own developer courses. Mostly, senior students of technical universities were recruited into groups. I went to the management and asked for training - I was so bored with what I was doing then. I was offered two directions to choose from - Java or .NET. I chose the second because I was already starting to learn C # and .NET myself.

    Where to start learning .NET

    For the next four months, I studied from morning to evening. Despite the fact that it was more than ten years ago, I can give beginners a few tips from my experience, relevant today.

    • Set priorities

    Studying, if you try to combine it with work, can drag on indefinitely. If you seriously want to immerse yourself in a new specialization, you must either quit your job or arrange with your superiors for a long vacation. I finished the courses in four months only because I was released from the project and allowed to spend all my time on studying.

    • Not sure where to start learning .NET, take courses

    Choose those where, in addition to theory, practical tasks and their detailed analysis are provided. Online courses on .NET can be found at Pluralsight, Udemy, Codeschool, Lynda, Microsoft Virtual Academy.

    If you live in a city where there is an EPAM training center , you can take part in free .NET courses . They, of course, have become more advanced compared to those that I studied. The program changes every year and is closely related to production.

    • read books

    I advise you to start with these:

    Andrew Troelsen “C # and the .NET platform”
    Jeffrey Richter “CLR via C #”

    • Deal with the documentation

    Take a close look at MSDN, C # Language Specification, SQL Server Books Online. Knowledge of the documentation will help in further work.

    • Upgrade English

    Most courses, books, technical documentation are written in English. If you own it at a good level, learning will be easier.

    How to develop a beginner

    Immediately after the courses, I started working as a junior developer on a financial project. I remember my first impressions - the shock of the volume of production code and a complete misunderstanding of how to approach it. At that moment I realized that I would have to study for a long time.

    Here's what I advise programmers who, like I then, just started working on the project:

    • Keep reading books

    As you progress through the training, pay attention to these:

    Jon Skeet “C # in Depth”
    Joseph Albahari “C # in a Nutshell”
    Robert Martin “Clean Code”
    Steve McConnell “Perfect Code”

    • Explore open source projects

    On github, you can find a huge number of C # and .NET projects that you can study. This will help to better understand someone else's code and teach you to navigate in projects with a lot of code. It is also very useful to join such a project and contribute to your free time.

    • Connect with more experienced developers

    Feel free to ask questions and seek advice from senior colleagues. When discussing a task with experienced programmers, each time you expand your professional horizons.

    First, they will give you the simplest tasks - fix bugs, change the UI, implement simple business logic. Be prepared for this and do not immediately try to ask for something more interesting. The more you are involved in the process, the faster you will be given more complex tasks. Over time, a holistic picture of the project will build up in your head and you will realize that the whole bulk of the code can be reduced to elementary structures.

    It took me a year to come to this and grow into a middle-aged developer. A few years later I became a signor. By that time, I was more concerned with infrastructure tasks: access to data, security, and key business logic algorithms.

    • Be open to new things

    The path of a programmer is continuous development, and I try to follow this principle. Today, for example, full-stack developers are in great demand. On the current project, I have to work with HTML, CSS, JavaScript, Typescript, React, Redux.

    Tester's skills also help in the work. I am more responsible and attentive to my code, I always independently test what I wrote. So those two years in the QA department were not a waste of time.

    I have been working in IT for 13 years, but have not experienced the inspiration in the spirit of “now I finally became a real programmer”. There are still tasks that cause shock and misunderstanding. You need to think about them, try to approach from different angles. And this cycle “from impossible tasks to insight” does not end there. I am sure that every developer is familiar with this.

    Also popular now: