.NET гуру Дино Эспозито: «Не будь пассажиром поезда, идущего под откос»

в 16:20, , рубрики: .net, asp.net core, Blazor, html, http, javascript, microsoft, mvc, Programming ASP.NET Core, TypeScript, Блог компании EPAM

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

image

Дино, не так давно у тебя вышла новая книга «Programming ASP.NET Core». Расскажи, почему нам стоит ее прочитать?
Я буду краток: это еще одна типичная книга о технологиях. Но каждый вопрос в ней рассматривается в контексте реального мира, проблемы не оторваны от реальности. Я всё пишу так, потому что слепо следовать идеалам – не мой рецепт. Неважно, кто их диктует: Microsoft, коллеги из коммьюнити или кто угодно другой. Я все перепроверяю. Может, это потому, что я старый и мудрый скептик (смеется).
image

Так что все, что я написал в этой книге, все технические тонкости и термины, были проверены. Я не использовал Core, но я писал демо-версии, я пытался стать человеком из production. Мне кажется, у меня получилось: каждый совет в книге – это мой опыта и он помогает решать проблемы, с которыми могут столкнуться реальные люди.

У тебя немало книг (около 15), а еще технические статьи. Как с таким подходом ты все успеваешь?

Мне, кстати, часто приходилось отвечать на этот вопрос. Люди не верят, что я успеваю еще и работать, думают, это мое прикрытие. И это в какой-то степени правда. Потому что я не работаю в офисе. Я не разработчик и не архитектор, я консультант. Соответственно, я не занят полный рабочий день. И это мой осознанный выбор. Я никогда не хотел так глубоко погружаться в эти процессы.

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

Ты упомянул, что ты консультант. Твое имя ассоциируется со многими компаниями и проектами. Как ты сотрудничаешь с JetBrains и Microsoft?
Ну, в Microsoft я больше не работаю…

Почему?
Потому что Microsoft отдал на аутсорсинг вещи, которые делал я. У меня был с ними контракт, я получал зарплату. Но прошло уже около пяти лет с тех пор, как мы работали вместе в последний раз.

И это меня не расстраивает, если вдруг так показалось. Дело в том, что за последние 10-15 лет многое изменилось. Поначалу тебе необходимы контакты в компании, нужны связи, ты ищешь людей, которым мог бы написать, чтобы в чем-то разобраться или получить доступ к каким-то демкам. А сегодня многие вещи открыты, код открыт, и у тебя больше нет необходимости в знакомствах, если ты сам что-то понимаешь в теме.

Я сейчас скажу странную вещь, но я никогда не был в Редмонде или Сиэттле, никогда не был в офисе Microsoft в Штатах. Я даже никогда не был на MVP саммите Microsoft. По большей потому, что у меня слишком много дел. Но сейчас я бы съездил на саммит, чтобы, фигурально выражаясь, наесться как следует, а потом сбросить эти лишние килограммы (смеется).

С JetBrains другая история. У нас заключён контракт. Но, по сути, я работаю по требованию. У них есть штатные сотрудники, которые находятся в офисе с 9 до 5. Они пишут статьи, выступают на конференциях. Я также пишу статьи, иногда снимаю видео, провожу вебинары. Но – по запросу.

То есть не в полную силу?
Это может показаться странным или необычным, ведь это не то, о чем принято говорить в интервью… Но годы берут свое. И это человеческая природа, тут ничего не поделаешь. Когда ты пересекаешь отметку в сорок с хвостиком, твой мозг начинает лениться. Креативность куда-то уходит, ты больше не схватываешь все на лету, чтобы разобраться в чем-то, нужно потратить больше времени. Есть, конечно, и хорошие новости: ты можешь компенсировать эти недостатки за счет опыта, ты видишь общую картину, ты хороший рассказчик. Но создавать что-то с нуля – нет, не после 40. Посмотри, например, на великих ученых. Лучшие из открытий были сделаны, когда им было около 30.

Сейчас, в этот период моей жизни, мне гораздо проще и эффективнее помогать кому-то найти лучшее решение, рекомендовать что-то, нежели создавать что-то самому.
image

У тебя много работ в сфере архитектуры. Как, на твой взгляд, выглядит классное современное веб-приложение? И что произойдет с ними через 5-10 лет?
О, еще недавно мне было бы сложно ответить, но теперь я знаю ответ. В этом году Microsoft анонсировала внутренний проект «Blazor». Даже описание звучало многообещающе. Это привычный html и C#, который компилируется в web-assembly и работает в любом браузере. Суть в том, что это C# код в браузере. Мне кажется, это Silverlight или то, как он должен был выглядеть.

Если говорить о том, чего еще не существует и что будет на пике популярности в течение пяти лет, то я назову именно это направление. Это код, который может компилироваться и транспалироваться. Может, конечно, есть лучший способ транспалировать JavaScript в HTML или TypeScript в JavaScript. Но транспалирование C# и html в WebAssembly в Blazor… Это звучит куда лучше и по-настоящему инновационно.

Как обстоят дела с безопасностью?
И тут я снова вернусь к Blazor, ведь ты легко можешь найти способ внести туда дату и посчитать ее. Я думаю, это важнее для UI, но здорово, что в плане безопасности это тот же Microsoft Angular. Angular React и сегодня отлично справляется и у них множество серверов, которые используют протокол HTTP, и могут продолжать использоваться и дальше уже не с HTML или TypeScript. В этом смысле, они сохранят все тот же подход в Blazor, что и в MVC.
В моих мечтах все это однажды становится реальностью. И ты пишешь приложения для Windows в вебе. На любой из платформ.
image

Отличные перспективы. А что сейчас? Как должно выглядеть классное современное веб-приложение?
Сейчас бэкенд зависит от твоих целей. Я видел множество компаний, которые использовали Angular, и сколько раз я не спрашивал, почему, ответ ни разу меня не удовлетворил. Я уверен, что они могут обойтись без Angular. И они должны, ведь Angular заставляет тебя постоянно изучать его заново, он непрерывно меняется. Чтобы работать с ним, у тебя должны быть очень специфические скиллы разработчика. И, напротив, если я запущу MVC, я могу писать на Java, на стеке Java или стеке Microsoft, даже на PHP. То есть, если я работаю на Angular, я знаю только его. Я боюсь, что с ним мы все пассажиры поезда, который идет под откос. И точно уйдет через 2 или 3 года. Нужно успеть взять билет на другой поезд.

Автор статьи: Ксения Рабчинская

Автор: Volgafe87

Источник

* - обязательные к заполнению поля