📜 ⬆️ ⬇️

Backend and Golden Hammers

Hello colleagues!

Most recently, we announced a conference on the Desktop UI & Business Application. In support, in order to look at the mood of the public, an article “ WPF is very much alive ” was published, which turned out to be controversial and made us look at what was to be conveyed to the general public in a slightly different light.

As the comments showed, WPF is not the only one that lives desktop development. There are Qt ports for .NET , there is WinRT , if there are experts on these technologies in the neighborhood epsilon from the default city who want to speak out - we have a tribune! To do this, everything is designed to show the various options for your projects.
')


Just yesterday, the dotNetConf 2015 online conference ended , which, based on the reports, Microsoft revived rather than reinvented. The conference, judging by the content, tries to cover all the main areas of language use, these are multiplatform, web, desktop, application delivery, integration with Xamarin, the future of .NET, .NET Core, Roslyn Analyzer and other topics. In my opinion, this is a dress rehearsal before the // build conference, which will be held in late April-early May.

Pro Gold Hammers


In addition to WPF for enterprise developers, there are many more topics to talk about, and the lion's share of conversations always comes up against the backend . There are a lot of different design templates for corporate applications, and most of them are devoted to backend. Martin Fowler dedicated this book , which, as far as I could see during the trainings, is a desktop one for many developers and team leads. From the templates described there, grow specific tools that allow you to solve problems in the most efficient way.

And here is often the trap, which is called the “Golden Hammer”, which Abraham Maslow formulated as follows: if you only have a hammer from the tools, then any problem you see as a nail.



This statement is best suited to many areas of software development. There is no need to go far for examples. As it seems to me, the most popular topic regarding the backend is: “How is it better to get and write data to the database?” After this, the discussion often rolls over to one of the disciplines of the Special Olympiad . For example, EntityFramework is now very popular, which is confidently crowding, or it may already be, pressed by NHibernate - the old-timer and the monster of corporate development. I have nothing against NHibernate and EF, but when all the needs of the project are reduced to reading a pair of tables and calling a couple of procedures, the use of these tools is puzzling. After all, there is Link2db (ex. BLToolkit), Dapper and a bunch of other Micro ORMs that can be easier to set up and use, anyone can find the right tool for themselves. Even the basic tools. NET Framework should not be written off.

Someone might say that a case is not suitable for corporate development, because by corporate development we mean often large applications that operate with many entities at a time. It can be argued that the architecture built on microservices does not disappear anywhere, but is gaining momentum. Yes, it is more difficult to administer them, but the advantages for some domains outweigh. Therefore, Micro ORM will not go anywhere.

This is just one of the examples why it is worth organizing and attending conferences - learn what is happening around and learn about new tools for yourself, learn about new approaches for yourself. No conference can teach you how to use a new technology, but it’s hard to start learning something you don’t have a clue about, right ?

At the Desktop UI & Business Application conference, Andrei Kolchanov, a technical expert at the Flexberry platform, will talk about the alternative ORM and compare usage and performance in the main usage scenarios.

Learning curve


I also have examples regarding testing, the implementation of some analytical templates, but in the end it all comes down to what is called a “ novice expert ”. And this is not at all the same when a person becomes an expert, but the definition of “beginner” is used in the key of fame. The definition is hard enough, in my opinion, so I’ll come back consistently, a little from afar, as in that article.

When you work on one project for a long time, or using the same set of tools, the quantity does not necessarily translate into quality. You can perform the same operations from day to day, stuff a stupid code for cloning objects manually and many other things that lead to an economic result. As a result, the application will still be written and perhaps even without a strong disruption of the deadlines, because programmers will type blindly as the best stenographers. But this is an extensive growth of skills, without depth, without filling with quality. For some reason, even Luddites are remembered. Probably because I remember the coaching practice again, when everyone has ReSharper installed, but no one, for example, uses Alt + Insert to create template files, as well as other features. But the experience of use can be more than 2 years. Why is this happening?

Our ego is partly to blame if the team is permanent and closed, and you become a star in it, and a brain that does not like to do something new. The learning curve can be represented as:



The programmer quickly gains the necessary skills to work in a particular team and there is a stopper, since the competitive moment has passed and there is no need to strain more for the project and the team. Roles may already be distributed. The same situation is repeated for many newcomers, when they join the team and quickly pull themselves up to the general level, and that’s all, there is no progress. Of course, this is not true for everyone, but the situation is typical.



Here you can see a subtle point with professionals in a narrow field, but unlike the “novice expert,” such a specialist has not, as an example, a higher efficiency in solving problems with an awareness of the depth of the solution.

Why do such "newbies" appear? In my opinion, the reason is not in some particular laziness, but in ignorance of where to take the vector of development, some vacuum in communication with industry colleagues. It is live communication with other living programmers, because in this case the idealization of the image does not occur and it is easier to discuss how it seems to us that sometimes “elementary” issues related to development. It is lively interactive communication that can break the deadlock, help get rid of the "golden hammer" syndrome.

Despite all the introversion attributed to programmers, we remain a social species and communication is vital for the exchange of knowledge and the birth of new knowledge at the intersection of technology. We chose the desktop and backend this way . Therefore, even if your “sense of beauty” = “functionality”, as in the screenshot, the conference will be useful. You can learn more about how to collect and combine even more data in a convenient form and quickly and efficiently save / load from data storage. Is not it lovely?
























Register for a conference dedicated to Desktop UI & Business Application !
Until March 23 there is a special price. Give yourself a vector of development!

Source: https://habr.com/ru/post/253587/


All Articles