- PVSM.RU - https://www.pvsm.ru -

Как я переучился из тестировщика в .NET-разработчика

Дмитрий Мишин из Рязани начинал свой путь в IT на позиции тестировщика, но еще с университета хотел стать разработчиком. Два года он искал баги на работе, а в свободное время самостоятельно изучал .NET.

Сейчас Дмитрий работает Senior .NET-программистом. Он рассказал, как у него получилось перейти из тестирования в разработку.

Как я переучился из тестировщика в .NET-разработчика - 1

Как я стал тестировщиком

Я закончил университет по специальности “Проектирование электронно-вычислительной аппаратуры” в 2005 году. На последних курсах понял, что работать по профессии не буду – учеба за пять лет так и не смогла вдохновить. Тогда я и решил развиваться в сторону IT.

Обычно студенты присматриваются к работе, учась на последних курсах – я поступил так же. На пятом курсе пришел в VDI – самую крупную IT-компанию в Рязани, которая год спустя объединилась с EPAM. У них были бесплатные курсы разработчиков, но в тот момент набор туда был закрыт. Зато формировалась группа по тестированию. В 2005 году почти никто не слышал о тестировщиках – в Рязани уж точно. И всё равно я решил записаться в группу. Решил, что начну с тестирования, а потом придумаю, как перейти в разработку.

После курсов я проработал тестировщиком два года, но так и не смог почувствовать себя на своем месте. Думаю, тут многое зависит от внутренней предрасположенности. Есть люди, которые по характеру более усидчивы, внимательны и скрупулезны, чем я, – из таких получаются отличные тестировщики.

Я знал, что в EPAM есть собственные курсы разработчиков. В основном в группы набирали старшекурсников технических вузов. Я пошел к руководству и попросился на обучение – до такой степени мне наскучило то, чем я тогда занимался. Мне предложили два направления на выбор – Java или .NET. Я выбрал второе, потому что уже начинал самостоятельно изучать С# и .NET.

С чего начать изучать .NET

Следующие четыре месяца я учился с утра до вечера. Несмотря на то, что это было больше десяти лет назад, я могу дать новичкам несколько советов из своего опыта, актуальных и сегодня.

  • Определитесь с приоритетами

Учеба, если пытаться совместить ее с работой, может затянуться на неопределенное время. Если вы всерьез хотите погрузиться в новую специализацию, нужно либо оставить работу, либо договориться с начальством о длительном отпуске. Я закончил курсы за четыре месяца только потому, что меня освободили от проекта и разрешили все время тратить на учебу.

  • Не знаете, с чего начать изучать .NET, – пройдите курсы

Выбирайте те, где помимо теории предусмотрены практические задания и их детальный разбор. Онлайн-курсы по .NET можно найти на Pluralsight, Udemy, Codeschool, Lynda, Microsoft Virtual Academy.

Если вы живете в городе, где есть учебный центр EPAM [1], можно попасть на бесплатные курсы по .NET [2]. Они, конечно, стали более продвинутыми по сравнению с теми, на которых учился я. Программа меняется каждый год и тесно связана с производством.

  • Читайте книги

Советую начать с этих:

Эндрю Троелсен «C# и платформа .NET» [3]
Джеффри Рихтер «CLR via C#» [4]

  • Разберитесь с документацией

Внимательно изучите MSDN, C# Language Specification, SQL Server Books Online. Знание документации поможет в дальнейшей работе.

  • Прокачивайте английский

Большинство курсов, книг, технической документации написано на английском языке. Если будете владеть им на хорошем уровне, учиться будет проще.

Как развиваться новичку

Сразу после курсов я начал работать джуниор-разработчиком на финансовом проекте. Помню свое первые впечатления – шок от объема production-кода и полное непонимание, как к нему подступиться. В тот момент я осознал, что учиться придется еще долго.

Вот что я советую делать программистам, которые, как и я тогда, только начали работать на проекте:

  • Продолжайте читать книги


Когда продвинетесь в обучении, обратите внимание на эти:

Jon Skeet «C# in Depth» [5]
Joseph Albahari «C# in a Nutshell» [6]
Роберт Мартин «Чистый код» [7]
Стив Макконнелл «Совершенный код» [8]

  • Изучайте open-source проекты


На github можно найти огромное количество проектов на C# и .NET [9], которые можно изучать. Это поможет лучше разбираться в чужом коде и научит ориентироваться в проектах с большим количеством кода. А еще очень полезно присоединиться к такому проекту и вносить свой вклад в свободное время.

  • Общайтесь с более опытными разработчиками


Не стесняйтесь задавать вопросы и спрашивать совета у старших коллег. Обсуждая какую-либо задачу с опытными программистами, вы каждый раз расширяете свой профессиональный кругозор.

Сначала вам будут давать самые простые задачи – пофиксить баги, изменить UI, реализовать несложную бизнес-логику. Будьте к этому готовы и не пытайтесь сразу просить чего-то более интересного. Чем больше вы будете вовлечены в процесс, тем быстрее вам начнут давать более сложные задачи. Со временем в голове выстроится целостная картина проекта и вы поймете, что всю громаду кода можно свести к элементарным структурам.

Мне понадобился год, чтобы прийти к этому и вырасти до миддл-разработчика. Еще через несколько лет я стал синьором. К тому времени я больше занимался инфраструктурными задачами: доступом к данным, секьюрити, ключевыми алгоритмами бизнес-логики.

  • Будьте открытыми новому


Путь программиста – это постоянное развитие, и я стараюсь следовать этому принципу. Сегодня, например, большим спросом пользуются full-stack разработчики. На текущем проекте мне приходится работать с HTML, CSS, JavaScript, Typescript, React, Redux.

Навыки тестировщика также помогают в работе. Я более ответственно и внимательно отношусь к своему коду, всегда самостоятельно тестирую то, что написал. Так что те два года в QA-отделе не были потерей времени.

Я уже 13 лет работаю в IT, но так и не испытал озарения в духе “вот теперь я наконец-то стал настоящим программистом”. До сих пор есть задачи, которые вызывают шок и непонимание. Над ними нужно думать, пытаться подойти с разных сторон. И этот цикл “от неподъемных задач – к озарению” не заканчивается. Уверен, что каждому разработчику это знакомо.

Автор: Алина Львова

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/testirovanie/277445

Ссылки в тексте:

[1] учебный центр EPAM: https://habrahabr.ru/company/epam_systems/blog/343370/

[2] бесплатные курсы по .NET: https://www.training.ru/

[3] Эндрю Троелсен «C# и платформа .NET»: https://www.ozon.ru/context/detail/id/137598683/?gclid=Cj0KCQjw1-fVBRC3ARIsAIifYOOXTohT0lPrrXw9Ti6HQLW1KCsAqshXF55BpxVxxmtYsnKpQxlg-TQaAmmrEALw_wcB

[4] Джеффри Рихтер «CLR via C#»: https://www.ozon.ru/context/detail/id/21236101/

[5] Jon Skeet «C# in Depth»: https://www.ozon.ru/context/detail/id/27933250/

[6] Joseph Albahari «C# in a Nutshell»: https://www.amazon.com/C-6-0-Nutshell-Definitive-Reference/dp/1491927062

[7] Роберт Мартин «Чистый код»: https://www.ozon.ru/context/detail/id/142429922/

[8] Стив Макконнелл «Совершенный код»: https://www.ozon.ru/context/detail/id/138437220/

[9] огромное количество проектов на C# и .NET: https://github.com/trending/c%23

[10] Источник: https://habrahabr.ru/post/353192/?utm_source=habrahabr&utm_medium=rss&utm_campaign=353192