Backend and Golden Hammers

    Hello colleagues!

    Most recently, we announced a conference on Desktop UI & Business Application. In support, in order to look at the mood of the public, an article “ WPF Livelier than All Alive ” was published , which turned out to be debatable and made us look in a slightly different light at what and how we want to convey to the general public.

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



    Literally yesterday, the online conference dotNetConf 2015 ended , which, based on the messages, Microsoft was more likely to revive than to come up with again. Judging by the content, the conference is trying to cover all the main areas of language use, such as multi-platform, 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 and early May.

    About the golden mallets


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

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



    This statement fits perfectly in many areas of software development. You don’t have to go far for examples. It seems to me that the most popular topic regarding the backend is: “What is the best way to get and write data to the database?” After this, the discussion often slides into one of the disciplines of the Special Olympiad. For example, EntityFramework is now very popular, which is confidently crowding out, or may have already squeezed out NHibernate - an old-timer and a corporate development monster. I have nothing against NHibernate and EF, but when all the needs of a project come down to reading a couple of tables and calling a couple of procedures, using these tools is perplexing. After all, there is Link2db (ex. BLToolkit), Dapper and a bunch of other Micro ORMs, which can be easier to set up and use, everyone can find the right tool. Even the basic tools of the .NET Framework should not be discounted.

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

    This is just one example of why it is worth organizing and attending conferences - to find out what is happening around and learn about new tools for yourself, to learn about new approaches for yourself. No conference will teach you how to use the new technology, but it's hard to start learning something that you have no idea, right ?

    At the Desktop UI & Business Application conference Andrey Kolchanov, technical expert at the Flexberry platform, will talk about an 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 comes down to what is called a " newbie 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 to fame. The definition is hard enough, in my opinion, so I’ll go sequentially, 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 every day, type a dumb code for manually cloning objects, and many other things that lead to an economic result. In the end, the application will still be written and possibly even without a strong deadline, because programmers will print 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 recalled. Probably because I recall the coaching practice again, when everyone has ReSharper installed, but nobody, 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.

    Our ego is partly to blame if the team is constant 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 follows:



    The programmer quickly gathers the necessary skills to work in a particular team and a stop occurs, 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 beginners, when they come to the team they 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 notice a delicate moment with professionals in a narrow field, but unlike the “novice expert”, such a specialist is not unlike the higher efficiency of solving problems with awareness of the depth of the solution.

    Why do such "newcomers" appear? In my opinion, the reason is not in some special laziness, but in the lack of knowledge of where to get the vector of development, a certain vacuum of communication with colleagues in the industry. It is live communication with other living programmers, because in this case there is no idealization of the image and it is easier to discuss, as it seems to us, sometimes “elementary” issues related to development. It is lively interactive communication that can break the deadlock and help get rid of the Golden Hammer Syndrome.

    Despite all the introversion attributed to programmers, we remain a social kind and communication is vital for the exchange of knowledge and the birth of new knowledge at the junction of technology. With this joint, we chose the desktop and backend . 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 way and quickly / efficiently save / load from the data warehouse. Isn't that cute?


     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Register for the Desktop UI & Business Application conference !
    Until March 23, a special price is valid.
    Give yourself a vector of development!

     

    Also popular now: