Aspiring programmers looking to work on the latest in software technology may want to explore the field of machine learning.
According to Google executive chairman Eric Schmidt, this field is the beginning of a new future in programming.
"There are currently very few programmers and computer scientists who understand any of this," he said in a question-and-answer livestream at the annual Google Asia-Pacific press event in Tokyo on Nov 10.
He added that Asian countries are poised to take advantage of this field, which blends elements of artificial intelligence and machine intelligence. Noting that machine learning favours the mathematically gifted, he said: "After all, the majority of the programming contest winners tend to come from Asia, so there's clearly talent there."
Machine learning refers to a form of programming in which applications automatically improve their software by learning from user inputs instead of having a coder manually entering new data and telling the application what to do with it.
Said Mr Schmidt: "When I was a programmer, I was very good at figuring out all the algorithms and writing them all down. Today, I think I would try to figure out how to program a computer to learn something."
With Singapore students leading globally in science and mathematics, according to an Organisation of Economic Cooperation and Development study released in May, aspiring programmers here might do well to heed Mr Schmidt's advice and re-think traditional programming mindsets.
Courses in machine learning are already being offered by the National University of Singapore, the Nanyang Technological University and the Singapore University of Technology and Design. Meanwhile, the Singapore Management University has set up the Living Analytics Research Centre, which works on data analytics and machine learning.
Machine learning is the technology that powers Google apps that require lots of user interaction, such as Translate, Photos and Gmail's spam filter. The information generated from the interactions lets the apps continually improve.
For instance, Google Photos gets better each time it tries to recognise and tag the pictures in a user's smartphone which contain cats as "cats". The learning takes place when the user corrects the app if it mislabels another animal as a cat. Photos would then retain this information for future images, thus "learning" what a cat looks like and building a bigger database for better image recognition in the future.
For programmers, taking advantage of this technology will require a change of mindset as the method of programming has evolved.
The basics will remain, said Mr Greg Corrado, a senior research scientist at Google who specialises in machine learning. However, machine learning will require more than just writing a program and debugging what goes wrong.
"A lot of traditional programming feels like solving a puzzle. There are still parts of that, but this is more like a sculpture, where you're actually fashioning something, as opposed to solving a puzzle," he said.