Evolving a Professional Aptitude
Software engineers must adapt to corporate world
By Andrew Anguelo
Most engineers can relate to the challenge of designing and building quality software in a reasonable amount of time, whether they’re in industry or business. Industry software engineers program logic on chipsets in physical machinery and products, and create plant automation and systems applications. Business and finance software engineers create applications and systems for data processing and analysis. Both sectors of the software industry share fundamental tasks such as gathering requirements and carrying out systems design, development, and testing. However, creating software in the business and finance space needs special consideration.
Corporate environments are complex amalgamations of people and technology working to realize strategic initiatives and gain market hold against competitors. Initiatives are often executed under less than ideal conditions in a tactical race of sorts. Under such conditions, corporate software engineers frequently stray from the disciplines of their industrial counterparts, to the detriment of the software industry as a whole.
Today’s corporate software engineers need a revived focus and could learn much from other segments of our profession, and engineering in general.
The engineering profession
Traditional engineers working in mechanical, electronics, and civil fields must master the ability to decipher and develop good specifications or requirements from disparate bits of information. In many cases, they build the impossible with insufficient time and funding and under immense pressures.
Failure for these engineers will have physical consequences, and in some cases even cause loss of human life. They must quantify and qualify every aspect of their designs before construction begins, and place their reputations and licenses on the line with each project.
Despite these challenges, they accomplish their objectives by adhering to the rules of their profession, and relying on tried and tested processes and practices. These individuals are part of a respected profession that tightly honors and protects its virtues.
Software engineering in industry
Software engineers in industry more closely relate to the role of traditional engineering. Under like constraints of funding and time, they also achieve the impossible by qualifying and quantifying their work, and adhering to industry standards and practices.
And there is consequence to failure in this space. Imagine what our world would be like if industrial software engineers worked with the same mindset and standards of quality as their counterparts in the corporate world. Could we trust and rely on things like medical equipment, or automotive and aircraft computer systems?
Software engineering for business and finance
In sharp contrast, the corporate software engineer displays little discipline adhering to industry standards or proven processes and practices. Only a small percentage of companies quantify and qualify designs and resulting work. They typically measure success by how fast projects are completed and how well they cater to changing goals along the way. As a result, the general perception of software professionals varies greatly in the eyes of business stakeholders.
Software engineers and corporate executives in the business and finance space operate under the mindset that there is little to no consequence in poor workmanship and incomplete results. This mentality is far from the truth and represents an ongoing challenge. Many software engineers working in business and finance lack the cohesion and discipline found in other engineering fields, including industrial software engineering.
Defining the discipline for business
Regardless of how executives and project stakeholders see it, computer technology, software included, is an integral aspect of business. A company lacking in technology can’t compete in today’s dynamic and volatile markets. Data and process accuracy and fast execution of analysis are needed to maintain high standards of quality and customer service.
Federal mandates on technology effect the quality and workmanship of engineering in industries like healthcare and banking. This isn’t the case for other segments of the corporate software industry, however. Absent of regulation, business executives concentrate more on the core business and place little value on the importance of quality systems. It would be interesting to see what a study of corporate expenditures or losses attributed to poorly designed software systems would reveal.
Although the likelihood that a business or finance system could cause accidental death is very unlikely, there’s a very real probability that they will affect investors’ and people’s lives. A consequence does exist in the corporate space.
Establishing a conducive mindset
Business stakeholders and executives don’t understand the complexities behind designing, building, and maintaining software in a constantly changing environment. Seldom will project managers and stakeholders give software engineers adequate time to develop requirements and produce proper designs. More realistically, time and resource constraints are the expected norm.
Because of these well-known issues, engineers working in the business and finance industry need to view projects from a software professional’s standpoint and establish their own sense of consequence. Developing an advanced mindset by understanding, the long-term penalty of rigid ad hoc applications matures the corporate software engineer.
Successful long-term results are achieved by fast execution of architectures which implement abstraction, generalization, loose data affinity, and which avoid simple-minded tactics and programming shortcuts. Evolving a professional software engineering aptitude begins with the self-discipline to respect and hold true industry-accepted principles and practices, regardless of the maturity of the work environment and the lack of stakeholder understanding of poor software consequences. Like our counterparts in other segments of the software industry, engineers in the business and finance space must learn to view what they do as a profession with real consequences, not just a job with nothing at stake. CW (Jan. 22, 2009)
Andrew Anguelo has worked for an array of small and Fortune 500 companies during more than two decades in software engineering. Today he owns a number of diverse businesses and is an active software architect of business and finance systems.