💬 Из физиков в разработчики. Интервью с С# Middle Software Engineer

Библиотека программиста продолжает публикации диалогов с представителями IT-индустрии. В этом интервью поговорили с С#-разработчиком из Рязани Романом Китаром об удаленной работе во время пандемии, книгах, учебных проектах и IT-мероприятиях.

Библиотека программиста: Здравствуйте, Роман. Расскажите, где вы сейчас работаете и в чём сейчас заключается работа? Какой стек технологий используете?

Роман Китар: Здравствуйте. Работаю я в Рязанском офисе EPAM на иностранном проекте. Мы занимаемся разработкой медицинских систем для заказчика из США. Большего я, к сожалению, сказать не могу.

На проекте мы используем в основном C# для бэкэнда и JavaScript для фронтенда. Из технологий сейчас применяем ASP.NET, SignalR, Blazor и React.

Последствия пандемии

Б.П.: Как на вашу компанию и вас лично повлияла ситуация с коронавирусом?

Р.К.: Еще до объявления карантина по стране наш директор принял решение всем перейти на удаленную работу. В течение недели мы перевезли технику домой и начали работать. В начале было довольно трудно и непривычно согласовывать рабочие моменты в течение дня.

Команда работает по методологии SCRUM: у нас есть ежедневные митинги, ретро, IPM и так далее. Кроме того, мы релизимся каждую итерацию, что, конечно, было поначалу тяжело делать удалённо. Как нам, так и нашим коллегам из США. Но уже привыкли и работаем слаженно, хотя тоска по людям осталась. Мы всё ещё работаем из дома, и решения возвращаться в офис пока не было.

Первая программа

Б.П.: Расскажите, как вы начали программировать. Помните, что делала первая серьезная программа?

Р.К.: Если не считать обучения в вузе, то серьезно программировать я начал уже на курсах. Первой моей серьезной программой стал сторонний проект для друзей. Это было приложение на Android, отслеживающее вокруг себя bluetooth-маячки для активных игр на свежем воздухе.

Б.П.: Очень интересно! А в чём заключалась игра?

Р.К.: У каждой команды были планшеты, которые отслеживали рядом с собой bluetooth-маячки. Команды должны были как можно больше собрать маячков у своего флага. Можно было «украсть» маячки от флага соперников и принести к своему.

О языке C#

Б.П.: Судя по странице GitHub и предварительному знакомству с анкетой, вы в основном программируете на C#. Расскажите, чем вам нравится и не нравится этот язык.

Р.К.: С# – это строго типизированный и сравнительно молодой (представлен в 2000 г. – прим. редактора) язык, полностью поддерживающий парадигму ООП. Имеет технологии в абсолютно всех направлениях разработки, есть даже Unity для разработки игр. Огромным плюсом является то, что на платформе .NET единый поставщик – Microsoft. В одном флаконе вы получаете и IDE, и компилятор, и билдер. Если вы нацелены на Enterprise-разработку то, учить, собственно, нужно либо C#, либо Java.

Примечание
О последних новинках в языке C# читайте в нашей публикации Что нового будет в C# 9? Результаты исследования Proposals на GitHub.

Б.П.: Какие книги по C# вы бы посоветовали новичкам?

Р.К.: Для самых новичков из тех книг, что указаны по ссылке, справочник Албахари. Но это именно справочник и его нужно не читать, а иногда туда заглядывать. Для тех, кто только начинает изучать C#, я бы посоветовал либо «Полное руководство» Шилдта, либо Illustrated C#. Я учился по С# 5.0 Unleashed Барта де Смета. Эта книга не переведена на русский, хотя она очень глубоко и подробно разбирает язык до самых мелких подробностей. Эту книгу я бы советовал тем, кто уже имеет основу.

Про образование

Б.П.: Спасибо за рекомендации! В коротком описании для интервью вы писали, что в МФТИ учились разным языкам программирования. Но после университета работали управленцем на производстве и переводчиком на фрилансе. Почему не сразу пошли в IT?

Р.К.: Тогда у меня не было знакомых в этой отрасли, которые могли бы рассказать о работе и поделиться опытом, да и, честно говоря, IT мне тогда казалось скорее забавным подспорьем и хобби, чем родом деятельности. Теперь я конечно уже считаю иначе 🙂

Б.П.: То есть вы учились не по IT-специальности?

Р.К.: Я учился на факультете физической и квантовой электроники.

Б.П.: Почему тогда решили пойти на курсы и дальше учиться в IT? Сколько вам тогда было лет?

Р.К.: Мне тогда было 27 лет. Связано это с экономическим кризисом. Я просто решил попробовать сменить отрасль

Б.П.: Сколько времени уходило на учебу? Как проходило обучение?

На «внешних» курсах я делал задания без выходных три часа в день. Три лекции в неделю и домашние задания. Поступив на внутренние курсы я уже посвящал учебе шесть-семь часов в день, отдыхая по выходным. На внутренних курсах мы учились по программе в своем темпе, задания проверял наш ментор. Обучение в тренинг-центре по качеству материалов и уровню преподавательского состава было на высоком уровне, мне есть с чем сравнивать. Из минусов могу выделить то, что собеседование на курсы велось лишь по знанию теории. Это приводило к тому, что на курсы попадали ребята, которые не понимали, что делать с теорией на практике. Сейчас я уже сам нахожусь в составе RD-отдела, и со следующего набора мы проверяем не только теорию, но и навыки решения задач.

Трудоустройство

Б.П.: Сколько собеседований пришлось пройти до устройства на работу после обучения?

Р.К.: Сначала было собеседование на внешние курсы. После того, как я прошёл эти курсы, было собеседование и отбор на внутренние. А там всего одно собеседование на проект, на котором я сейчас работаю. Еще мне устроили пробное собеседование с будущими коллегами, уже работающими на проекте.

Б.П.: Какой вопрос с собеседования больше всего запомнился?

Р.К.: Выберу пару. Один был о том, как происходит принятие обработка и отправка HTTP-сообщений на примере Windows-сервера и IIS. Я отвечал, наверное, минут 20 и описал все от драйвера HTTP.sys и далее. Хотя было достаточно ответить в общем виде. Второй вопросы был про идемпотентные запросы в SQL. Пришлось вспомнить слово, которое я видел-то всего раза три, пока учился.

Об IT-мероприятиях

Б.П.: На сайте мы сейчас развиваем раздел мероприятий. Участвовали вы в конференциях или, например, сейчас – в онлайн-мероприятиях? Какое у вас мнение насчет российских IT-мероприятий?

Р.К.: В Рязани до карантина проводились конференции IT-субботник для ИТ-специалистов и IT-Days для студентов наших вузов. Также у нас по четвергам проходили .NUTS-митапы по новым технологиям в сфере .NET. Из российских мероприятий я был только на .NEXT, что-то видел в записи, но если судить в целом и не обращать внимание на то, что не все зовут «звёзд», уровень мероприятий высок. Уровень наших разработчиков (я имею ввиду СНГ вообще) весьма высок по сравнению с планетой (моя выборка неполная, но успел повидать код и Америки, и Европы), и доклады носят информативный, а не wow-характер.

Б.П.: Участвуете в какой-то активности вне рамок проекта?

Да, конечно. Лучший отдых – это смена деятельности. Я читал воркшоп по Blazor на CapWorks, участвую в митапах .NUTS, учу студентов, участвую в CoderGames и многое другое. Меня даже звали в программу eKids – школа программирования для детей сотрудников, – но не знаю, хватит ли времени.

О проектах и планах на будущее

Б.П.: Есть ли проекты, за которые вы испытываете гордость? Что-то, что может оценить аудитория Библиотеки программиста.

Р.К.: У меня есть проекты, за которые я испытываю гордость, но дать их посмотреть читателям я не могу. NDA, все-таки.

Б.П.: Очень жаль. Какие проекты вы бы могли посоветовать нашим читателям, начинающим программировать, чтобы прокачать свои навыки кодинга, независимо от языка?

Р.К.: Одна из лучших платформ, что я видел это CodeSignal. Множество кратких задач, новичок учится синтаксису и одновременно решает задачи на построение простейших алгоритмов.

Б.П.: Спасибо. Какие у вас планы на будущее?

Р.К.: Я сейчас работаю на проекте, читаю лекции в Рязанском университете, помогаю учить студентов во внутренней лаборатории компании и еще многое другое. Я хотел бы в будущем, кроме продолжения моей работы, организовать в Рязани с помощью вузов и IT-компаний локальный образовательный IT-кластер с летними лагерями, олимпиадами, курсами и т. д. Приятно, что в последние годы быть инженером снова становится модно.

Что касается профессионального развития: я бы хотел и дальше расти в стеке технологий .NET, так как эта платформа крайне перспективна во многих отношениях и используется в разных направлениях: от игр и ПО до «железок».

Б.П.: Спасибо за интервью! Могут ли читатели Библиотеки программиста сами задать вопросы? Не против ответить в комментариях?

Р.К.: Да, конечно! Если хотите, то можно писать в VK: https://vk.com/kitar

МЕРОПРИЯТИЯ

О чем бы вы хотили спросить Романа?

ВАКАНСИИ

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG