Личный опыт: из тестировщика в .NET-разработчики

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

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


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

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

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

молодой человек держит ноутбук в одной руке как начать программировать на C#

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

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

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

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

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

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

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

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

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

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

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

руки сложены в замок и лежат на книге как начать программировать на C#
  • Разберитесь с документацией

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

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

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

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

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

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

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


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

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

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


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

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


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

люди обсуждают работу как начать программировать на C#

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

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

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


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

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

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

Фотографии: Unsplash

Комментарии