Get With The Program
December 12, 2011 Timothy Prickett Morgan
I spend a lot of time thinking about hardware and systems software because, quite frankly, that is what I get paid to do in addition to being something that I am personally interested in given the fact that systems quite literally run the world. But a system, that magical combination of processors, storage, and the code necessary to make it usable by business logic encoded in higher-level languages, is perfectly useless without applications.
It is not lost on any of you, I know full well, that the computer that this newsletter is dedicated to was launched as the Application System/400, perhaps the most aptly named machine in the history of corporate computing. Applications are what this box was always about, from day one. But fast forward more than two decades now, and the situation in IBM i shops is a bit more complex in terms of the diversity of systems and software layers running on and across those systems. But throughout all that time, despite all of the changes, one thing has remained constant: programmers are under the gun to create new applications to run old or emerging businesses while maintaining existing applications to run old businesses, and every year, just like your job, their jobs get harder.
According to Evans Data, which keeps track of the programming department like other IT consultancies watch certain bits of hardware and software, there are 16 million software developers worldwide and the installed base is expected to grow to over 20 million by 2015. By the way, the growth is coming in Russia, India, and China, and the installed base of programmers in India is expected to hit 3.5 million by 2015–surpassing the count in the United States. (These numbers are for “professional” developers, which means they get paid to sling their code, not for teenagers tooling around.)
“We’re seeing a strong growth wave in the developer population in Asia that will have some interesting impacts going forward,” explained Janel Garvin, CEO at Evans Data, when the annual Global Developer Population and Demographic Survey came out back at the end of September. “For one, the developer population in Asia is much younger than in the U.S. By 2015, the 5.1 million developers under 30 today will increase to over 5.5 million. Similar growth will occur in new technology adoption such as mobile, cloud, HTML5, and agile development as these growing markets come of age.”
Here’s another interesting statistic that shows some changes going on among developers. In a different survey from Evans Data earlier this year, the company polled developers in North America and found that Mac OS was the main workstation that developers did their coding on 7.6 percent of the programmer pool in the survey, passing Linux, at 5.6 percent of the developer community in the United States and Canada. While Windows was still in use by more than 80 percent of developers, clearly the desire to support applications that run across many different platforms–and notably iOS-based iPhones and iPads–has shifted developers toward Apple machines on their laps and desks. While iOS and Mac OS are not the same thing (not yet anyway), clearly the desire to code for one is making developers adopt Apple platforms, as is the “cool factor” that comes just from using an Apple machine.
If I told you a decade ago that this would happen, you would have thrown rotten apples at me and laughed.
Now here’s the funny bit: the developers are ahead of their own end users, with coders saying they target Linux as a platform to run their applications twice as much as they target Mac OS. (The survey did not talk about targeting iOS, and by that I mean the one that runs on Apple non-PC devices not what we here at The Four Hundred have sometimes called the operating system formerly known as OS/400.) Well, maybe that is not funny at all and makes perfect sense. And the lesson there is simple: If you want to know what kinds of applications you should be creating, go talk to your programmers. Don’t make decisions inside of a meeting room. And while you are at it, if you have teenagers, you might want to talk to them. (Or, if you have teenagers, maybe not, now that I think of it . . . . )
To try to get a sense of what is going on out there in the programmer cubicles of the world, IBM did a survey of programmers to see what they were thinking about the immediate future in terms of technologies and issues they were facing. The survey that IBM’s developerWorks community did canvassed 4,130 IT professionals, academics, and students in that community from 93 counties. The respondents were most heavily focused in these countries, and just the distribution tells you something important: China (24 percent), followed by the U.S. (19 percent), Brazil (12 percent), India (5 percent), and Russia (4 percent). These IT pros wear a lot of different hats, and they come from organizations of all sizes; 36 percent said they work for companies with more than 1,000 employees, with 25 percent having between 101 and 1000 employees, 18 percent having between 21 to 100 employees, and 16 percent having under 20 employees. Only 5 percent told us they do not work for a company. The respondents said they “primarily using Linux, Windows, and AIX for their work,” by which we presume IBM means that these were the dominant enterprise systems running in their organization.
As you can see from the resulting Tech Trends report from IBM that was generated from the survey data, the coder slingers that IBM talked to think that Java is by far the most relevant skill that employers are looking for, followed up by Linux and the .NET alternative to the Java stack from Microsoft. There are some weird overlaps in that IBM chart–J2EE is a very specific kind of Java and services-oriented architectures are based on a slew of technologies, not any one in particular. The other weird thing is that only 2,619 of the 4,130 people who took the IBM Tech Trends survey answered this very basic question.
If you want to look at the raw data yourself, Big Blue has made the entire data set available in SPSS format, complete with a downloadable trial copy of the SPSS Statistics Desktop 20 stats package, which you can get here. (I have never seen such a data giveaway before, and I commend IBM for sharing.) Interestingly, 70 percent of the developers polled said they planned to create applications for the Android mobile variant of Linux (controlled by Google) in the next 24 months, compared to only 49 percent for Apple’s iOS. (Like iOS, Android is available for smartphones and tablets, but probably will not make it to PCs.) Windows 7 scored a 35 percent as a mobile platform that developers were coding for (I would have thought this would have been Windows 8 in the survey, since this is the version of Windows that will run on ARM chips, not just X86 devices, but what do I know about writing IBM’s surveys?) BlackBerry OS only scored at 25 percent of developers, and Hewlett-Packard‘s webOS for Palm devices (just open sourced last Friday after HO could not find a buyer for it).
For all the yammering about cloud computing, IBM’s Tech Trends survey only found that a quarter of developers planned to create new applications for the cloud. But again, you have to be careful when you ask programmers questions. They are a bunch of smart-asses, typically, and many of them (like me) think the whole “cloud” terminology is stupid; this is just “computing” that has been virtualized and metered. If you code an application to a proper framework, then it is by definition portable. Pity there is not a cloud framework standard yet. (Don’t hold your breath for one, either. You’ll turn as blue as an IBM logo and drop dead.)
Just this week, Serena Software, which makes agile development and application release management software, is putting out the results of its own survey, which was done at Gartner‘s Application Architecture, Development and Integration (AADI) summit, and it doesn’t look like developers are all that worried about which compilers they are using, but the results they are trying to get by using various tools. And by the way, this is how it should be.
As in the IBM survey, only about a quarter of the programmers polled by Serena said they were moving apps to the cloud. They were far more interested in delivering applications faster, expanding the use of agile programming techniques, cutting the costs on application development, and standardizing the methodology by which they code applications. Notice in that sentence I never said Java and RPG was not excluded? Judging from these two years of survey results, which were done at the Gartner ADDI summits in 2010 and 2011, the heat is being turned up on developers to get code out faster.
So here’s the point: You need to worry about the same things, even if you are coding in RPG or Java on the IBM i platform. You need to worry about coding better and faster and adopting mobile devices as well as PCs and dumb tubes. Do it, or lose your job to some whippersnapper. Luckily for you, there are lots of app dev tool vendors in the IBM i space that can help you accomplish these goals.