.NET guru Dino Esposito: “Don't be a passenger of a derailed train”
Dino came to Minsk only once, and we managed to communicate with him between the lectures he gave for .Net-chikov. We decided not to be commonplace and talked with Dino not only about work, but also about books, about the future and about what kind of life becomes after 40.
Dino, not so long ago you published a new book Programming ASP.NET Core . Tell us why we should read it?
I'll be brief: this is another typical technology book. But each question in it is considered in the context of the real world, the problems are not divorced from reality. I write everything this way, because blindly following ideals is not my recipe. No matter who dictates them: Microsoft, colleagues from the community or anyone else. I check everything. Maybe it's because I'm an old and wise skeptic (laughs).
So everything that I wrote in this book, all the technical subtleties and terms, were checked. I did not use Core, but I wrote demo versions, I tried to become a person from production. I think I succeeded: every advice in the book is my experience and it helps to solve problems that real people may encounter.
You have a lot of books (about 15), and more technical articles. How do you do everything with such an approach?
By the way, I often had to answer this question. People do not believe that I still have time to work, they think this is my cover. And this is to some extent true. Because I do not work in the office. I am not a developer or an architect, I am a consultant. Accordingly, I am not busy full time. And this is my conscious choice. I never wanted to dive so deeply into these processes.
Now, if I had a second life, I would definitely work full-time. But I, like everyone, only have one, and therefore I write and enjoy it.
You mentioned that you are a consultant. Your name is associated with many companies and projects. How do you collaborate with JetBrains and Microsoft?
Well, I don’t work at Microsoft anymore ...
Because Microsoft has outsourced the things I have done. I had a contract with them, I received a salary. But it has been about five years since we last worked together.
And it does not upset me, if suddenly it seemed so. The fact is that over the past 10-15 years, much has changed. At first, you need contacts in the company, connections are needed, you are looking for people to whom you could write, in order to figure out something or get access to some kind of demos. And today, many things are open, the code is open, and you no longer need dating, if you yourself understand something in the subject.
I'll say a strange thing right now, but I have never been to Redmond or Seattle, I have never been to Microsoft's office in the States. I have never even been to the Microsoft MVP Summit. Mostly because I have too many things to do. But now I would go to the summit, to, figuratively speaking, eat properly, and then lose those extra pounds (laughs).
JetBrains is another story. We have a contract. But, in fact, I work on demand. They have staff members who are in the office from 9 to 5. They write articles, speak at conferences. I also write articles, sometimes shoot videos, conduct webinars. But - on request.
That is not in full force?
This may seem strange or unusual, because this is not what is customary to say in an interview ... But the years take their toll. And this is human nature, nothing can be done about it. When you cross the mark at forty-something, your brain begins to be lazy. Creativity goes somewhere, you no longer grasp everything on the fly, you need to spend more time to sort out something. There is, of course, good news: you can compensate for these shortcomings through experience, you see the big picture, you are a good storyteller. But to create something from scratch - no, not after 40. Look, for example, at the great scientists. The best discoveries were made when they were about 30.
Now, in this period of my life, it is much easier and more effective for me to help someone find a better solution, to recommend something, rather than create something myself.
You have a lot of work in the field of architecture. What do you think a cool modern web application looks like? And what will happen to them in 5-10 years?
Oh, more recently I would have found it difficult to answer, but now I know the answer. This year, Microsoft announced the Blazor internal project. Even the description sounded promising. This is the usual html and C #, which is compiled into a web-assembly and works in any browser. The bottom line is that this is C # code in the browser. I think this is Silverlight or how it should look like.
What about security?
If we are still talking about Blazor, you can find a way to transfer data to Blazor and manipulate it. I guess this is more related to data for UI. Essentially, this is, in a sense, Microsoft’s Angular.
Angular, React and today work great; they have many HTTP servers, and can process requests instead of rendering HTML and TypeScript. In this sense, they will retain the same approach as for Blazor and MVC, compiling into WebAssembly, so that the presentation layer of your application (written in Blazor) produces only HTML display, and all scrupulous logic is executed on the server side.
In my dreams, all this once becomes a reality. And you write Windows applications on the web. On any of the platforms.
Excellent prospects. What now? What should a cool modern web application look like?
Now the backend depends on your goals. I have seen many companies that used Angular, and how many times I have not asked why, the answer never satisfied me. I am sure that they can do without Angular. And they should, because Angular makes you constantly study it again, it is constantly changing. To work with him, you must have very specific developer skills. Conversely, if I run MVC, I can write in Java, on the Java stack, or on the Microsoft stack, even in PHP. That is, if I work at Angular, I only know him. I am afraid that with him we are all passengers of a train that goes downhill. And it will definitely leave in 2 or 3 years. You need to have time to take a ticket for another train.
Article author: Ksenia Rabchinskaya