Software engineering is an essential discipline when designing and implementing high-performance data enterprises. Although software engineers are not certified or sanctioned by any standards body, software engineers with experience in the Intelligence Community increase the chances of success. Eft Crop
Software Engineering Defined
Software engineering is applying a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software and the study of these approaches; that is, the application of engineering to software. (Source Wikipedia)
Knowledge of programming is the main prerequisite to becoming a software engineer, but it is not sufficient. Many software engineers have degrees in Computer Science or Mathematics and physics due to the lack of software engineering programs in higher education. An organized mind and an interest in problem-solving are also prerequisites.
However, as data networks become more complex and indispensable in large organizations, higher education has started to change with new software engineering degrees, especially post-graduate education.
Software Engineering as a Discipline
Software engineering contains several separate yet interrelated disciplines.
* Software requirements
* Software design
* Software development
* Software testing
* Software maintenance
* Software configuration management
* Software engineering management, see also project management
* Software development process
* Software engineering tools and Computer-Aided Software Engineering
* Software quality
* Social Software Engineering
Each sub-discipline has its own performance requirements and processes for success.
Jobs in Software Engineering – A Strong Market
Because software engineering is broad and growing more complex because of the introduction of new technologies and applications, the potential for job growth is significant even in a down economy.
According to the Federal Government studies, the demand for qualified software engineers is significant and will continue to grow,
Computer software engineers are one of the occupations projected to grow the fastest and add the newest jobs over the 2006-16 decade.
Excellent job prospects are expected for applicants with at least a bachelor’s degree in computer engineering or computer science and practical work experience.
Computer software engineers must continually strive to acquire new skills in conjunction with the rapid changes in computer technology.
Because computer networks and computing hardware and software are growing in power and complexity, the demand for qualified Software engineers is high. In addition, as the United States continues to be an information-driven society, new, high-paying jobs with quality benefit packages are available in the economy.
This is particularly true as the economy emerges from its depressed state.
The employment of computer software engineers is projected to increase by 38 percent over the 2006 to 2016 period, which is much faster than the average for all occupations. As a result, this occupation will generate about 324,000 new jobs over the projections decade, one of the largest employment increases of any occupation.
Significant drivers of growth in the demand for software engineers include the adoption of new technologies for information efficiency in a competitive environment. This is particularly true as information networks grow in sophistication and interconnect.
In addition, information security concerns and cyber threats have given rise to new software requirements.
Concerns over “cybersecurity” will result in businesses and governments continuing to invest heavily in software that protects their networks and vital electronic infrastructure from attack. Cyber Security has become a major concern for the US, Department of Defense, and the Intelligence Community.
Very few organizations are willing to trust the security of their networks to low-cost, offshore software engineering firms.
Finally, low-cost offshore outsourcing is not a real threat in economic and competitive terms because software engineering requires innovation and intense research and development expenditures. (Source: Bureau of Labor Statistics)
One area with a tremendous appetite for software engineers is the Federal Government. The Federal Government continues to grow and, with the present trend in Government spending, greater demand for IT and Cyber Security engineering specialists will also generate job demand.
Ensuring Quality Standards – A Problem
While there is tremendous demand for engineering professionals, software engineers’ systems and networks are often the heart of any large business or government enterprise. Quality and efficiency cannot be sacrificed by substandard performance.
Many who call themselves “Software Engineers” are not fully qualified and often produce low-quality work output.
Many professions enforce quality standards through professional certification boards. Still, professional certification of software engineers is confusing and, while many view it as a tool to improve professional practice, others consider it an unnecessary encumbrance.
In the United States, most certification programs in the IT industry are oriented toward specific technologies and are managed by the vendors of these technologies.
No matter which way the debate goes, full accreditation will not serve as a quality standard backstop for software engineers in the foreseeable future, so other, on the job standards must be used to ensure engineering quality.
Documented past performance that is favorable or a history of software development in a demanding industry has become a major factor in determining future success.
Software Engineering and the Intelligence Community – Real-Time Certification
With the absence of any standard certification programs, employers and government service contractors must exercise great care when utilizing software engineers. to design or restore critical network or enterprise software.
Because networks and the software that run them are becoming more critical to business operations and more complex, the chances of an inexperienced or unqualified software engineer irrevocably damaging all or part of the network have increased.
One major error by an unqualified engineer could ruin an entire networking enterprise and bring down an organization. This is particularly true for large governments. Agencies tasked with the collection and processing of sensitive data.
Of all Federal Government agencies, a case can be made that the Intelligence Community [http://www.intelligence.gov/1-members.shtml] is the most demanding and discriminating when it comes to software engineering. This level of excellence requirement is because of the size of the data networks involved and the mission requirements to ensure national security.
In addition to the mission-critical demands of each agency and its clients for real-time data, continuous, massive amounts of sensitive data are collected on a 24×7 basis.
This data must be processed, analyzed, protected, and disseminated efficiently that protects national security interests. Data protection and cybersecurity are new challenges to the software engineer and place additional performance demands.
A design flaw in the architecture of a network could be fatal for the entire collection system, and the introduction of a virus or other cyber breach could crash the entire system.
Because of the classified/sensitive nature of the data collected in the Intelligence Community, high-level security clearances are also required, which places further burdens on the integrity of the individual.
Servicing the needs of the Intelligence Community is a demanding task, but the experience will test the skills, work ethic, and judgment of even the most seasoned software engineer. Thus engineers with IC experience command a premium wage and benefits based upon proving themselves capable,
When a formal certification is not available, broad and extensive software engineering experience in the Intelligence Community on a job candidate’s resume is often a valuable real-time substitute.
Jon M. Stout is Chief Executive Officer of Aspiration Software LLC. Aspiration Software LLC is an Information Technology/Cyber Security services provider focused on the Intelligence Community (IC). For more information about Software Engineering.