Is there a future for software application development?

This is a guest post for the Computer Weekly Developer Network written by Mark Warren of Perforce Software.


Warren is Perforce’s EMEA marketing director by name, but is true coding man of means with over 25 years experience in software development tools and configuration management.

Perforce is a commercial, proprietary revision control system.

When did all this ‘computing’ start anyway?

If we accept that the modern age of computers started somewhere around the time of the mid-1940s, then IT is now well into its late-middle-age (60 being the new 40 and all that). Today’s school pupils and students are at least the great-grandchildren of those early pioneers.

Continuing the social demographic theme, computing has had its ‘baby boom’. The 90’s and 2000’s saw the massive rise of the coding population that led to the creation of services that are now part of the fabric of our lives, such as Google, Facebook, Skype etc.

… a rising sense of unease

But since that boom, there’s been a rising sense of unease around where the next big step forward in the industry is going to come from. Students have been avoiding computer science courses and getting into the ‘fun stuff’: games developer courses are proliferating as an example.

Even those students are in for a surprise when they enter games production studios, where they are suddenly exposed the effort and pain that every game development team goes through as they work through a crunch to hit a release milestone. I’m not suggesting these games developers aren’t doing good work – some of the most creative coding has gone into generating ever more realistic physics, video effects and squeezing every last ounce of power out of the hardware.

The (next) big coding questions are…

However, back to core computing skills: regardless of how they are being used, they haven’t really been getting the attention they deserve. Who is excited about building the next great compiler (and who cares about compilers any more when they think they can run the world with a scripting languages)?

I mean let’s really ask — who’s going to build the next fast, secure network protocol? Who’s going to design the next low-power, high-performance chip?

There have been a number of projects around the world to try to get people coding and to get them interested early. The last decade in the UK has seen the dreaded “ICT” courses in secondary education that did little other than teach how to create a Word document. Thankfully, that is now transitioning to a “real” ICT course that will teach coding even for under-7s.

There are other signs of hope. There have been multiple projects like the “Hour of Code” ( initiatives in the US, UK and increasingly across the world.

New “coding clubs” are springing up often based around social groups like the Scouts. The recent launch of the new Raspberry Pi Zero is an amazing tool for these new coders. A whole computer for 5 USD or less than “a fiver” (as we say in England). It was even given away on the cover of a magazine! Computing resources and tools are more accessible than ever.

Skills (really) matter

That’s great news, and I don’t want to underplay the importance of getting kids excited about the subject as early as possible. But it’s important to also consider what happens once they are ready to move on from that introductory level. If they want to move into an IT job or start their own software companies, they’re going to need a new set of skills.

Will they understand the increasing need for security and privacy? Will they be able to design and code for scale and accessibility? Will they learn the important skills of planning their work and protecting it using version management? Even more fundamentally, will they be able to work collaboratively with other people either in person or remotely if they’ve spent their formative years concentrating on building single-person games on their Pi or tablet?

I’ve just been listening to a recent Perforce DevTalk about how they’re using Pair Programming in their development teams. It’s a fascinating presentation and it’s interesting to consider all the subtle aspects this approach involves in terms of being open to feedback, proactively asking for help, being flexible and much more. It really needs a mature and open attitude.

Interestingly, perhaps sport could be a part of the answer: getting individuals to work as a team, understand how to communicate and realise they’ve got to step away from the keyboard occasionally (though getting kids interested in sport in school and keeping that enthusiasm is as much a challenge as getting them interested in computer sciences).

Another tactic might encourage more corporations to reach out to schools, further education and small startups to offer mentoring and internships, to help prepare students for the real world.

Dreaming of the next golden age

The future for the next generation of IT isn’t perhaps as bleak as it first appears but there’s certainly a risk that if there isn’t a clear pathway from the early years of the ‘fun stuff’ to being ready for the workplace, then we won’t be seeing the next golden age for computing very soon.

Mark Warren tweets at @mark_warren and writes on the Perforce blog here.