What lies ahead of the custom development market
Currently the custom development is evolving along the path of productization: companies are trying to sell everything that is developed. And it’s logical in terms of cost, it’s easier to develop a solution based on previous experience. Customers are also interested in rapid implementation and tend to buy “semi-products” with additional customization regarding specifics of the company. Even enterprise portals are less and less often developed “once and for all”.
If you look at the global market, a lot of effort is now invested in the development of artificial intelligence and robotization. Today Machine learning and Big data are part of products at many companies. I think in future computer vision will be more actively developed. Even today the algorithms allow to process images seen by the monitor with the help of computer models, and this can be applied to a wide variety of applications. I can also mention the banking sector as the most advanced, I believe that all industries will be guided by it.
Pros and cons of open-source software
The main benefit is, of course, the absence of licensing, which lowers the threshold for a potential customer to enter the project, and in most cases the development itself is often cheaper. It means that a different approach to monetization is possible here, i.e. paid support. I know an example where several IT staff members from a Finnish organization solved their problems with one customized software solution so often that they have gained the experience and knowledge which proved to be enough to organize their own company to consult on that solution. The second option is implementing extra features that are not part of the core product. Red Hat company followed this path and created two Linux releases: open source (free) and Red Hat Enterprise Linux (paid), which has additional developments, including those on security and interfaces.
Today, programmers work in a global environment, and the developing products on open-source software helps everybody, and the user only needs to specify the name of the author. In some of the countries there are quite many “patent trolls” who abuse patent law for getting benefit. Often such companies take publicly available technology as the basis, without attribution, make minor changes and register it as their own solution. Then the “trolls” accuse the core solution users of copyright infringement and demand compensation.
Another disadvantage might be the issue of information security, because it is easy to get access to the source code, and if there were basic vulnerabilities, it would be easy to harm the system.
What technologies is helpful to learn
What helps me most is my knowledge of software development: it makes it so much easier to communicate in this professional environment. And it is not the programming language itself that matters, but the logic required for discussions with customers and communicating with personnel.
How to keep up with everything?
Surround yourself with the like-minded technical specialists. It is truly inevitable in my work. You always have to google something or ask if you don’t understand it, but in general, when you have a good base, understanding is much easier no matter what programming language is in question. And I continuously monitor our Confluence customer knowledge base. In general, I do not strive for micromanagement, because every project has line managers responsible for technologies.