The lack of computer science graduates in the U.S. will affect employers’ ability to hire qualified developers of any language.
I’ve been visiting a lot of IBM i customers this week, one of whom happens to be the college where I learned how to program RPG and Control Language plus a little rudimentary AS/400 operations training. I figured I’d drop in and see what they’re teaching. After all, the place was and still is special to me. I enrolled after my old man sold me on the idea that “if you know how to program on an AS/400, you’ll probably always have a decent job. Eventually, guys like me are going to want to retire, and we’ll need people to do what we do.”
To my surprise, the college had wheeled its IBM Power Systems gear out the door about six months ago and dropped their RPG programming courses due to low demand. It’s understandable. They just can’t offer courses if nobody wants to pay to take them. And the college didn’t drop only RPG. They don’t teach computer programming anymore at all. I was taken aback because, when I went there, they pumped out a graduating class of RPG-literate people four times a year. That stung because I know a lot of us went on to have good careers in the IBM i world, or at least many of us had steady gigs. Once again, the “RPG developer shortage” rears its head. Or that’s what I thought at first.
The RPG developer shortage argument has multiple sides.
First, you have some employers who say that they can’t find RPG programmers to replace the RPG programmers who are retiring or thinking about doing so in five to ten years. Of course, that’s not representative of all employers, but you do hear this a lot in the wild. I take some exception to this argument for a couple of reasons. If you look at how most of us learned RPG, it was likely on the job. Many of us learned it without a degree in computer science either. Many accountants and payroll clerks learned AS/400 operations just because they sat closest to the box and drew the shortest straw to be the person who changed the backup tapes every morning. As for finding someone who can hit the ground running who knows RPG, in my opinion if you find a good [insert language here] developer, then you’re done searching. A good developer can read and write in any language if given a little time and slack. IBM i isn’t this monolithic technological marvel that you need to be trained and certified on in order to make it work.
Of course, some areas are harder than others, and the system has grown over the years in terms of technical capabilities, but at its root, it is a business operating system designed for business people. The more you keep your system up to date and modernized means the better you’ll be able to take advantage of things a modern developer will feel more comfortable with. Free-form RPG looks a lot more like Python than fixed-form RPG.
There are a good few tools to help modernize your code. That’s the modest investment people should be making rather than paying an RPG head hunter and looking for the elusive specialized candidate who knows how those magical indicators work on a chain operation. Modernize your RPG code (and database) and you’ll have faster time to value for any developer you hire. I’ve mentioned a few of these things already in an article called “The IBM i Skills Shortage Myth.” I went back to re-read it, and I still stand by what I wrote. The crux of that argument is it’s not an IBM i or an RPG skills shortage, but an “RPG II/III fixed-format legacy cycle” skills shortage. We need to change our perspective on what skills we need to hire.
Second, and very much related, we have the recent graduate employee candidates, who have some rudimentary IBM i skills but face an uphill battle because they say employers want 10+ years of experience, fluency in both fixed-form and free-form RPG, and a number of other skills new graduates just won’t have. I recently reviewed a job advertisement for a “junior” programmer that required a couple years Java and RPG but wherein one of the goals was to write, and I quote, “flawless code.” An unreasonable expectation for any developer once you add any real-world problems like scope creep or an application development manager who perpetually changes his or her mind on which font is (and I quote again from memory from my younger developer days) “user-appropriate to the eyes.” Graduates of IT programs face an interesting problem. IT is a moving target with regard to skill requirements. It probably always will be because that’s the nature of the field. The ideal IT worker is a person who is open-minded, curious, and adaptable to change. The tools we learn on will dull. Good IT workers find new tools, and better ones build new tools. Those are the types of people we need to hire. Setting unrealistic expectations casts a very narrow net.
Finally, you have colleges that claim there’s no demand from employers for new RPG programmers…or programmers in general. I can give you the names of some large universities that have essentially dismantled their computer science programs due to students’ lack of demand for an IT curriculum. It’s not just RPG or a legacy skill set. It’s computer science. This is remarkable, considering there were only 59,581 U.S. computer science graduates in 2015, according to the National Center for Education Statistics. Last year, there were only 42,969 according to www.code.org, which also stated that in there were 527,169 and 607,708 open IT positions in 2015 and 2016, respectively. Considering only 40 percent of K-12 schools actually teach basic computer programming, it’s no wonder that kids aren’t getting the bug to go into information technology. Computer Science Education Week, which is a program advocating teaching computer programming in K-12 schools, offers some other sobering statistics:
- 71 percent of all new jobs in science, technology, engineering, and mathematics (STEM) are in computing, yet only 8 percent of all STEM graduates are in computer science.
- Lifetime earnings of a high school graduate ($0.58M) vs. a college graduate ($1.19M) vs. a computer science graduate ($1.67M) means computer science graduates earn 40 percent more than the average college graduate.
- Computing jobs are the #1 source of new wages in the United States.
- Only 10 states have created K-12 computing standards.
- In only 34 states (plus DC), computer programming counts toward high school math or science graduation requirements. This is up from only 12 states in 2013 but still has a long way to go.
Obviously, there are jobs out there. Why aren’t there graduates? There’s no demand for college students to take classes. There should be, considering there are jobs waiting for them. It’s a nonsensical cycle. It’s not that kids aren’t interested in computer programming either, as Computer Science Education Week says that students enjoy computer programming and engineering above all other subjects other than the arts. I’m not sure who’s to blame, but I’m eyeing up high school guidance counselors as being a little gun shy to promote information technology as a career after the dot-com bubble burst about 15 years ago. I’m not going to blast guidance counselors just yet. I’m a little biased, as mine literally told me he had no idea what I should do because he perceived I had an attitude problem. My positive outlook took that as “blaze your own path,” and I eventually went into IT. Go figure.
If you look at some of the state-by-state statistics on www.code.org, you’ll see the number of open jobs in computing vs. the number of of computer science graduates, along with the policies of K-12 school programs. For instance, West Virginia has 954 open positions in computing (3.2 times the state average demand rate) but graduated only 158 computer science students. However, it does now require all high schools to teach computer science and has state-wide standards for K-12. I want to highlight West Virginia specifically because I read about a West Virginian seventeen-year-old named Robbie Barrat who, after an argument about the capabilities of artificial intelligence (AI) in his high school programming club, built a rapping artificial intelligence program using Kanye West lyrics. The darn thing even rhymes! This is the kind of ingenuity from our youth that needs to be empowered, encouraged, and invested in. We’re envisioning cognitive computing as the future of our industry. At IBM, the Power Systems business unit was recently rebranded Cognitive Systems (although the actual machines will remain branded Power Systems). That change alone is more than just another CAMSS-like buzzword, which was as a marketing tool much less than the sum of its very real and necessary components. Cognitive is the future of computing based on the practical application possibilities of the technology, but we won’t realize this future if we do not encourage more of our children to tear apart an old iPad to see what’s inside or set up a Minecraft server and allow them to read and write Python in the context of a game they love. Those curiosities are the seeds that will grow those kids into the next generation of STEM graduates.
This is where I see the real root of this disconnect, and it goes far deeper than RPG.
We’re familiar with the concern about the lack of RPG programmers because RPG is what runs many, if not most, IBM i shops. Based on some of the aforementioned statistics, it wouldn’t surprise me if employers seeking programmers who write in other languages are also finding a very slim pool of talent. According to www.dice.com, Java programmers are the hardest to find; on any given day, about 16,000 positions are open for them. It’s the most-requested skill. That’s pretty unreal for a modern language that runs on everything. Robert Half Technology calls finding a good Java developer a “massive headache for chief information officers and project managers.”
So maybe the root problem isn’t a lack of RPG programmers. Maybe the problem is a lack of developers either in the workforce or about to enter the workforce due to an education system that needs far more encouragement to expose people to computer programming at a young age. We need our public K-12 schools to view computer science in the same light as math, biology, chemistry, and physics. We need a resurgence of interest in computer literacy, a generation of kids who aren’t satisfied with just reaping the benefits of technology but are the engineers and developers of the future who want to build something better.
It’s important. Someday, like my dad, we’ll want to retire and we’ll need someone to do what we do too.