Logo
Articles Compilers Libraries Books MiniBooklets Assembly C++ Rust Go Linux CPU Others Videos
Advertisement

Article by Ayman Alheraki on January 11 2026 10:32 AM

A Technical Disaster or a Well-Considered Decision

A Technical Disaster or a Well-Considered Decision?

Imagine investing millions of dollars in building a skyscraper, only to discover that its foundation is weak! This is precisely what happens when the wrong technology is chosen for a large-scale software project. In today's fast-paced digital business world where technology is the backbone of every operation, decisions related to choosing software technologies can have severe consequences if not made with extreme care.

Every business owner, technical manager, or government official responsible for selecting the appropriate technology for a specific type of software must be accountable and responsible for making the right decision. The outcome of this decision can sometimes be catastrophic, resulting in a huge financial waste with results that do not match even 10% of the costs incurred. All of this is due to a poorly considered decision, which can be attributed to several reasons, the most important of which are:

  • Insufficient knowledge of the decision-maker: Lack of knowledge about technology selection and failure to consult with qualified individuals who can provide advice based on their expertise rather than personal preferences and biases.

  • Reliance on the existing programming team: This is a major mistake because the programming team will undoubtedly lean towards the technology they know and are proficient in, which may not be the most suitable.

  • Relying on popular technologies: While this is a good approach, it may not always be appropriate.

The steps necessary to study and make such a decision depend on several factors, including:

  • The size of the organization and the number of software users.

  • The size of the infrastructure, servers, peripheral devices, and security systems.

  • The need for online service accessibility from outside the organization.

  • The capacity and cost of internal and external communications.

  • The capabilities and security of the databases associated with these programs.

  • The existence of a specialized cybersecurity team that understands their work well.

  • Choosing the technology that provides the highest efficiency and speed for the required software tasks, leveraging all the capabilities of the existing infrastructure within the organization.

Tips and Insights from Extensive Experience:

  • Read, ask, and consult with trustworthy and knowledgeable experts if you don't know. Don't pretend to know just because of your position.

  • If you have successfully selected the technology through your knowledge or by consulting with trustworthy experts in this field, consider the good you have brought to yourself and the organization that entrusted you with this work.

  • Don't be fooled by impressive resumes with unrealistic information. Inquire about previous achievements and analyze these achievements with trustworthy and experienced employees who are committed to the long-term success of the work.

  • Choose popular technologies supported by large, global companies that are not at risk of failure, ensuring continued support for the technology.

  • Choose what suits the organization and maximizes the benefits of the available infrastructure.

  • The primary reliance for programmers should be on permanent employees who are expected to remain in the organization for long periods. Any external contracts should be for consultations and to provide advanced support and add to the skills of existing developers, allowing them to reach the highest possible technical level during the consultation period, thereby eliminating the need for new contracts and saving the organization money.

  • Some modern technologies require a large number of employees to design a program, resulting in a long development time and significant financial waste. This makes the programs highly dependent on their designers, and if they leave or part of the team leaves, some parts of the service may fail.

Tips for Choosing the Most Suitable Technology for Your Organization:

  • Choose the technology that achieves the highest speed in completion for users and reviewers.

  • Separate external online services from internal services and servers. This is one of the simplest cybersecurity measures.

  • Avoid having databases outside the organization and distribute them within the organization in at least two separate locations, with the same databases existing in both locations. This ensures that if one location fails, the other continues to work.

  • Having regular backups in a remote location with the presence of database experts from the organization's employees is of the utmost importance.

  • Some popular technologies may be excellent and powerful for small projects but may not be suitable for medium and large projects.

  • Web technologies were primarily designed for the web, i.e., for external access. However, their widespread use for both internal and external operations is a common mistake. Organizations should design desktop applications for internal work on the infrastructure and create web pages with the necessary services for external communication, separate from the internal structure and important and private databases of the organization's work, with internal connections between servers at the highest security levels.

In conclusion, the text emphasizes the importance of making informed decisions about technology choices in software projects to avoid costly mistakes. By following the provided guidelines and seeking expert advice, organizations can ensure that their software projects are successful and meet their business objectives.

 

 

Advertisements

Responsive Counter
General Counter
1276630
Daily Counter
1870