Why Should Managers Become Better Acquainted With Programming Issues, Web Source Code, and Technology?
There has been a controversial debate over getting managers to become better acquainted with the area of information technology; particularly acquiring sufficient knowledge of programming and understanding of web source code. Information is an indispensable key to a Business success and Information Technology (IT) facilitates its manipulation. It is the programs that drive technology; a web page that presents the Business to everyone and in the heart of every business there are managers who are responsible for performance, setting a discipline, and getting the job done. Today’s in-depth involvement of technology in the marketplace has created a strong correlation between IT and managers. Over time the bond between a manager and IT is becoming stronger, signaling the need for more interaction and understanding on the part of managers.
A new demand requires a manager to know more than ever about IT and actively to participate in the IT decision-making team. One major request for managers is to have incremental updates and learning on: programming issues, what shows on the web, what is behind the web (source code), what is placed on the server (database), as well as their interactions. In a dynamic market where changes are made in nanoseconds, it is rewarding for a multi-talented manager to deal with change and add pragmatic programming and web technology to their skills. The benefit of understanding the programming aspect and web technology will allow a manager to play a larger role in communicating and delegating responsibility with confidence and competence thus leading to cost reduction and better short and long term risk management.
Keywords
Technology, Managers, Programming, Web, Source Code, Manager Update, Crisis and Chaos, Virus, Y2K, E-Business, Software Engineering, Risk Management
Why is it crucial for a manager to keep up to date with programming issues and web technology? One may disagree with the proposal to engage managers in programming issues and claim it is not part of a manager’s job description since programming is associated with complex theories, mathematics, and gibberish code. However, this is not the case. For a moment, consider your own business and ask how many complex mathematical formulas and theoretical concepts are involved in creating a webpage (front end) or in a web server program (back end)? The answer is not many, and if there are obstacles, the problems can be easily worked around by some explanation. Let us not forget that the theme of this article is not for a manager to become a programmer and get involved in details of syntax and semantic jargon of each programming language construct, but instead to become aware of the changes made to programming and be able to identify simple programming concepts such as input/output, decision-making, repetition, and file handling.
In 1992, Robert Benjamin forecasted the state of IT in the year of 1990 stating that all aspects of software will improve steadily, and the demand for software will be so great as to appear infinite (Benjamin,1992). Now, more than ten years later, we are presently experiencing the aftermath of these critical IT issues (predictions).
Programming skills will lead to better skill in analysis, decision-making, the ability to be responsive and better risk management in areas such as security and privacy. This is not to offend anyone and question a managers’ knowledge of programming if they had it in grade school. Rather, this is a suggestion for managers to be updated; a reminder to put the knowledge of programming into practice and to identify these simple concepts as you are dealing with the technology. Also, to some extent, a manager may be able to visualize a concept as to how it is used or should be used. According to the U.S. Bureau of Labor Statistics, there are roughly 100 million information workers in the U.S. More interestingly, is their estimation that by 2005 in the U.S. alone, there will be 55 million end-user developers in addition to 2.75 million professional software developers. From the above estimations, one can conclude that one out of five people in the U.S. population (295 million) has to deal with programming issues and write some sort of program. Sutcliffe and Mehandjiev describe that End-user development is about taking control - not only of personalizing computer applications (end-user computing) and writing programs, but of designing new computer-based applications without ever seeing the underlying program code (Sutcliffe, 2004). What would be the roll of the managers in this? Most senior managers and executives don’t understand software because they haven’t had the experience of direct involvement in a software development project, however when they went through the replication they were able to gain a sense and feeling of the stage of how a software product is created and how it interacts. It is fun and interesting to see executives code. (Armour, 2004).
A program is a set of instructions telling the computer what to do. Programming is straightforward with three foundations: Sequence, Decision-making, and Repetition, all known as control flow. Each instruction in a control flow interacts with the memory bank for storing, recalling, and modifying one value at a time. The simplicity of program’s control flow can be explained by comparing it to the flow of water cascading down step by step like a waterfall. A waterfall that starts at the top and flows directly to the bottom is sequential control flow, where there is only one path. If the water flow reaches a point where it can go either one way or the other, this point represents a decision. If the water flows back to a point of origin and cycles, this is repetition. Before each cycle begins, there is a decision on whether to repeat the cycle or to exit. At each step of the flow there is interaction with the memory and, possibly, with the user.
With this limited programming knowledge which includes: putting instructions into order, input/output, making decisions, repetition, and file handling you will be able to accomplish what you need to do and better communicate (Ebrahimi, 2003).
Programming and Language Problems
Interestingly enough, the programming foundations used in the market today are the same as they were fifty years ago. In fact, the programming languages of today are also the same, with the exception of some new names and minor changes. Programming and programming languages have fallen behind the technology they have created. As the old saying goes “a jar maker drinks from a broken jar”. The textual representation of control flow makes it hard to follow the course of a program and understand what is happening. A program in execution does not necessarily follow the order of the program written by a programmer. Similarly, arcane notations used for language constructs are contributing to programming errors themselves. Some new language constructs are more confusing, unfriendly compared to their predecessors and these new constructs are justified based on personal preference. The bottom-line is that not much has changed with regard to programming and its languages. Is this good or bad news? For those who believe in technology and change, it is bad news. The criticism here is not to point fingers at anyone, but to encourage managers to take advantage of the situation and deal with it. These problems still persist and there is hope that a big change will eventually come (Ebrahimi, 1992).
Technology Crisis and Lessons Learned
One lesson from history is to learn from it and not to repeat the same mistake.
Software Engineering
After the introduction of Integrated Circuits (IC’s), programmers became free from dealing with the small size memory due to transistors. Programmers were then able to write many large programs without much restriction. With this overabundance of programming, the situation went out of hand and caused chaos. As a result, there was a call for a NATO conference in Europe in 1968 at which the term Software Engineering was coined. Several resolutions were brought up to deal with the software crisis. On the positive side, the Software Crisis led to the deployment of Software Engineering paradigms.
Y2K Compliance
Just a few years ago, everyone can recall that we dealt with another chaos that put many managers under tremendous stress and caused many to be fired. The worldwide problem known as Y2K was both a programming problem and a managerial problem; we could not represent the year 2000 with 00 since 1900 was represented that way. What were we to do? Should we write a new program to change all the data from two digits to four or should we set a flag for the new data, etc. There was another problem with Y2K; the year 2000 was a kind leap year that was divisible by 400 (not every 4 years is a leap year, e.g. 1900). Y2K made programmers with no managerial training run the show, take over managerial duties. Programmers instructed managers on what to do all the way, all in a compressed period of time, causing a drawback to the authority of managers.
Now is not the time to refresh our mind as to whose fault Y2K was or why managers waited so long until the problem occurred. No one really knows exactly how much we spent to deal with this crisis, either directly or indirectly. In addition, the Y2K problem and its aftermath with the mind-blowing cost of trillions of dollars, caused managers to rethink and set survival strategies for the future. We are still paying bills for it. What will be the next technology crisis? Should we wait for problems to occur and then tackle them? Whose fault was it not to address the Y2K issue at an earlier stage? Surprisingly, over a trillion dollars have been spent by businesses on Y2K compliance, liabilities, and lost productivity due to computer crashes. Even if Y2K wasn’t preventable, involvement of executives and managers at an earlier stage would have reduced the overall cost of Y2K. (Braithwaite, 2000).
Web Chaos, Spam, Spim, Spit
We are experiencing a time where web pages are the platform for the e-market. Every business strives to become web-oriented. What is going to happen if everyone is web-oriented and has a link to each other? Let us examine the worst-case scenario where X e-business is connected to many other M businesses and all the M businesses are connected to the X business (many-to-many relationship). In addition, each of these businesses is linked to many spots of their own. Can you imagine when one system sends one request after another to other systems? There will be a point when too many requests to a system cannot be handled. If we are not experiencing these difficulties yet, let us simulate and examine a possible scenario that can occur with web growth. It is a kind of fantasy to think that your system is immune and that you have done everything possible to avoid problems. But what happens if others do not do their jobs? It is like defensive driving where laws and regulations need to be agreed upon. Therefore, since this web telephony by making phone calls using the internet instead of traditional phone lines chaos will hinder everyone, there is a need to analyze the situation and set regulations to prevent web disaster from happening. Now let us look at the negative side of e-marketing when you are facing with spam (unwanted mail, advertisement and messages). It is a program that generates enormous volumes of traffic and often hides its original source and similarly unwanted instance messaging can be generated (SPIM) and Spit- Spam over Internet. Obviously these Internet abuse ( Spam, Spim and Spit) leads to waste of business time, waste of space in memory, more importantly aggravating the users and creating emotional distress (Vinton, 2005).
Virus Catastrophe, Phishing, and Trojan Horses
How would you react as a manager if your employee tells you, “MY MOUSE HAS A VIRUS!”? At first you look at the person and politely ask, “Are you for real? A mouse cannot get a virus.” You may look at the mouse on the desk, click it or roll it to see if the ball is stuck. One common problem with the mouse in the good old days was the malfunctioning of the driver program due to interference of some other programs. Yes, a virus can also corrupt your mouse. Hold on to your response until your mouse becomes intelligent and sophisticated with its own programming. A virus catastrophe requires a manager to understand what a virus is and how to handle it. A virus is also a program that can infect other programs or data stored in a file and can knock down your IT (Cohen, 1994). Just one virus “LOVE BUG” inflicting an estimate of 10 billion dollar damage in matter of few days. Look how a malicious program can act as real web site and collect the information such as passwords. An ordinary computer user can not distinguish between the fake web site and real web site. Similarly through Trojan horse, which has been placed in the user’s computer, the password of other systems can be accessed. A little understanding of programming can enable managers to take proper protection measures for programs and data, such as writing to files for back up and reading from files for recovery. Managers should observe the size of programs and data as simple awareness. There is no doubt that a manager’s knowledge of programming will lead to better decision-making that will prevent errors. In case errors occur, managers will be able to understand the error and its reports, and be able to communicate with programmers in order to resolve failure and defects, such as viruses (Highland, 1997).
A manager deals with people, quality, and planning. The decisions managers make with regard to information technology play a crucial role in the day-to-day affairs and also have a consequential impact on the business. It is not enough for a manager to be an end user; managers should actively participate in the IT decision-making team as to how IT is configured and customized to its urgent business needs. This requires managers to have knowledge of programming foundations, which is common to each application. A manager should be able to identify these concepts and be able to elaborate and ask for explanations in time of change or need. With a little routine update, this task becomes hassle-free; it is like reading any other journal. Interestingly, you will be able to understand common programming codes of your own business as well as those of others. Nowadays, you can almost see the code of every business website by right-clicking your mouse and selecting View Source.
With the increasing demand of the e-market, trust is with a manager who understands the technology, and is able to deal with the possibility of chaos and uncertainty without interrupting business progress. There will be a time that programming issues will become a crisis which itself has the seeds of success for some as well as roots of failure for others. The manager will need skills to be able to avoid the crisis, prepare to manage the crisis, recognize the crisis, contain the crisis, resolve the crisis, and profit from the crisis. (Augustine, 1995). A manager who is able to handle a simple programming task can better identify the real cause of problems rather than speculating. What would be the benefit and impact of knowledge of programming in conjunction with technology for a manager? A conclusion can be drawn that motivating managers to understand and to participate in programming issues will result in most, if not all, of the following: higher quality of performance, better time management, reductions in cost and risk, improved morale, greater respect, and, finally, becoming a marketable manager.
References
Armour, P. (2004). When Executives Code, Communications of ACM, 47,1, 19-22.
Augustine, N. (1995). Managing the crisis you tried to prevent, Harvard Business Review, 73, 147-159.
Benjamin, R. & Blunt, J. (1992). Critical IT Issues: The next ten years, Sloan Management Review; Summer, 33, 4.
Braithwaite, T. (2000). Y2K Lessons Learned: A Guide to Better Information Technology Management. John Wiley, New York
Cerf, V (2005). Spam, Spim, and Spit, Communication of ACM, 48, 4, 39-43
Cohen F. (1994). A Short Course on Computer Viruses, John Wiley, New York.
Ebrahimi, A. (2003). C++ Programming Easy Ways (Volume I & II). American Press, Boston
Ebrahimi, A. (1992). VPCL: A Visual Language for Teaching and Learning Programming Journal of Visual Languages and Computing, 3, 299-317
Highland, H. (1997). Procedures
To Reduce The Computer Virus Threat
Computers and Security, 16(5), 439-449.
Sutcliffe, A. Mehandjiev, N. (2004). End-user development:
Introduction, Communications of the ACM, 47, 9, 31-32.