Technologists should back expanded support for computer education in the latest budget request from the White House, says the president of the IEEE Computer Society.
Today, all computer and technology related fields suffer from the notorious skills gap – the inability of even moderately technical companies to find adequately trained workers for all their available jobs. In an era when well-paying work is difficult to find in many regions of the country, this gap is far more than an inconvenience, both for the workers and the employers.
The skills gap has the potential to become an even greater problem. Today we talk about the adoption of new technologies by the public as a significant barrier to development. If we cannot trust our technology systems as being safe, secure and reliable, it will severely slow the adoption of these systems and diminish the benefits which people can receive from technology.
In a recent joint statement, IEEE USA and IEEE Computer Society expressed strong support for President Obama’s budget request for computer education. For the technology professionals reading this blog, this request isn’t just a nice-to-have benefit. It’s a vital necessity to the health and well-being of the technology industries – as well as the future of America.
Effective computer science education will greatly improve the chances for young Americans to enter IT-related fields. It also will widen chances of getting a good job in any field where computers play a key role – which today is most fields. And even more significantly, it will allow future generations to function with skill in a technology-based world grounded in sound engineering and science skills.
But in order for technology education to be effective, it has to be systematized. It’s a boring but important word.
Today, the excitement of technology revolves around getting a quick solution which some might call a hacker mentality. In a world seeking quick results and immediate gratification, there is a tendency to leap from concept to code with no steps in between.
This approach gets the programmers to results fast, but it leaves the company and the industry without proof of concept, with no reproducibility and with code full of gaping holes that are open doors for hackers with evil intent. In addition, when those programmers walk out the door, the employer is left with no insight into the code, a problem severely felt today in industrial markets.
For technology industries to thrive and create a sustainable business base, we must be able to reproduce our work consistently. To do that, we must be able to teach it in a systematic way that doesn’t rely on a single creative genius or IT professional.
Our industry has standards and systems. I know because the IEEE Computer Society and the IEEE have been integral in writing more than 300 of them. One of the most basic and most ignored is the software development lifecycle processes as described in the IEEE Computer Society Software Engineering Body of Knowledge. It lays out the following software lifecycle:
- Implementation – coding
- Testing and integration
- Software project management
- Software configuration management
- Software quality assurance
- Software verification and validation
As more and more industries rely on computers, the effects of the programmers who leap from concept to code will place those companies in jeopardy of security risks, product failures and customer dissatisfaction. That’s why developing a standardized curriculum in which every student learns the basics of computer science education in a systematic way is essential.
I encourage all technology professionals to add your voice to the request that funding for computer science education not be a grab bag of experimentation, but a systematic approach to real progress in closing the skills gap and preparing all Americans for the next generation of technologies that we so proudly develop.
--Roger Fujii is President of the IEEE Computer Society, President of Fujii Systems, an IEEE Fellow, and a speaker at TechIgnite, a Rock Stars of Technology Event.