Computer science people believe that "business stuff" is a cake walk for a computer science graduate.This is purely ignorance.That's why most of us neglect software engineering course in our curriculum.
There's a real need for the average software developer to understand and appreciate the economic context in which their company operates.Other wise we tend to operate in fog.We have to understand senior management's decisions which seems illogical to us.Based on my discussions with people in software industry I cannot assure that 100% of the software developers are happy with their work.So we cannot stay in our world of Java forever.We have to come out of this shell and have a global picture of ours in the company and the industry.
A few principles that can help put management decisions into a clearer context:-
(1)An investment is simply an investment:
Many professions require a certain amount of detachment from events.For ex:A professional has to be like a doctor explained by Dr. J.Asthana in MunnaBhai MBBS movie who treats a patient as a body with some abnormality thats it.Similarly investment.Some times the project we work will be changed drastically because of management decisions (will tell my own example when I meet you).At times we as developers are expected to do rework.So we should not get attached to the project or our code.This is business not a Phd thesis.
(2)Tomorrow’s dollar is worth (far) less than today’s:
Most business people think in terms of risk-adjusted present value. As a result, long-term initiatives with even moderately uncertain payoffs quickly lose their attractiveness. This is especially true when other investment opportunities exist
Its a criterion for project selection.It is based on calculating ROI(Return On Investment).
In order to understand the above concepts a software developer has to know marketing, financial, and legal aspects of the software industry.These are not the things which can be picked up easily on the job.One has to attend training sessions regarding pricing strategies, basic macroeconomic concepts, capital budgeting issues, and intellectual property.Once we get a clear picture of where we stand in the industry we can emerge as entrepreneurs with ideas that click in this industry like Google.We can be in a situation to provide employment for job seekers.
Source :- Editorial of IEEE software magazine written by Warren Harrison