Career software developers will increasingly become platform builders rather than application builders.
That was the message from Sun engineer Todd Fast, speaking at the JavaOne conference in San Francisco last week. He focused on the burgeoning Web development space. He argued that with applications having a shorter lifespan and non-professionals getting into the application development space, software engineers were looking elsewhere for work.
During the presentation, entitled "Applications for the Masses by the Masses: Why Engineers Are an Endangered Species," Fast presented these three primary propositions: Software engineers will be an endangered species. High-school and college students will take over the jobs of software engineers. These engineers will not mind, because there still will be plenty of work.
The fact that students will take the reins of software development is "kind of scary," Fast said. But taking a lighthearted approach to his presentation, Fast said developers are not like other people and that has an impact. Developers have above average intelligence, do not dress well, and like weird things like Monty Python.
"We're at the edges of the population curve as software engineers," Fast said.
He cited the impact of social networking applications and Web 2.0 and how these trends are drawing more non-trained persons into software development. Social network applications are becoming the dominant way in which certain age groups interact.
Casual developers, those who do not identify themselves as engineers, can use templates in PHP (Hypertext Preprocessor) and play around in MySpace, blogs, and RSS feeds.
"This is just kind of normal thing for them," Fast said. But these casual developers now are entering the workforce and also are building out the next-generation Web.
Meanwhile, applications are being built out of existing applications, and the need for software developers cannot keep up with the increasing demand.
"There aren't enough of us to actually produce the cool stuff that people want," said Fast.
The traditional perspective of an application is a program that solves other people's use cases and is big, difficult to write, and takes time. Only highly skilled experts can create them. Java, for its part, is rich platform geared toward solving difficult problems, but it also is very complex, Fast said. But today, Web applications are being built to solve short-lived needs. There has been an explosive growth in non-traditional Web applications, such as widgets, social applications, mashups, and situational applications.
"The definition of applications is changing, the common perception of applications is changing," said Fast.
A sea change is occurring in how applications are being built. Facebook and social platforms are major drivers of application development, and these applications are not necessarily done using Enterprise JavaBeans, IDEs, and version control. Instead, developers can write PHP scripts in notepad, said Fast.
Professional developers, meanwhile, will build foundational platforms. "We'll be building the platforms that enable anyone to build applications on top, to increase the richness of the Web," said Fast. Engineers will work lower in the software development stacks.
In the new application development realm, situational, disposable applications are becoming prominent. The concept of Development 2.0 is emerging with higher levels of developer abstraction, such as Yahoo Pipes.
"As we see abstractions go up, we see more people able to participate, able to create applications," Fast said. Tools are being developed for casual developers.
Attendees at Fast's presentation tended to agree with Fast's premise that the role of the professional developer is shifting.
"It's a very interesting concept. I don't think it's coming as fast as he is pointing out, but it's probably coming," said Ceco Ivanov, software engineer at Genova Diagnostics, a medical lab. The shift will happen in the next 10 to 15 years, not two years, Ivanov said. But the trend is good in that it enables people to collaborate, he said.
Agility requires empowerment of end-users, another developer said.
"Essentially, writing code is very complex, and even in the corporate world, you need to empower the end-users to piece together their own applications because you need to be agile," said Tim Martel, a developer at Pegasystems, which develops Web-based business process management systems.
Fast also said the metric for applications is becoming how many people use an application as opposed to how time it took to build. The Zombies game application in Facebook, for example, was used by 250,000 people every day last October, said Fast. This application was written by one programmer who did it for fun, Fast said.
The Slide widget application, meanwhile, has 5 million users. "Nothing I built ever had 5 million users," Fast said.