To gather insights on the state of artificial intelligence (AI) and all its variants — machine learning (ML), deep learning (DL), natural language processing (NLP), predictive analytics, and multiple neural networks — we spoke with 22 executives who are familiar with AI.
We asked them, "What skills do developers need to be proficient on AI projects?"
Here's what they told us:
- Be able and willing to look at the data, understand it, be suspicious of it, have empathy for it, and be able to graph it to achieve a level of understanding. Only a modest level of mathematical skill is required and that’s falling precipitously. Understand the pitfalls of overfitting. This is not drag-and-drop machine learning. A human can give the computer much more data. Combine programming input with human insight. Ask yourself, what do I really know? What is the data telling me? Smart software developers can pick up machine learning by adding data empathy and suspicion to their mindset.
- Be proficient in Python and Java. Know the mainstream AI libraries like TensorFlow, Café, and Torch. Be able to pull the right data from the HDFS data lake or databases. Know how to use filters. Be able to fuse and correlate different feed. Improve resolution. Know neural networks. Be proficient in math. Libraries don’t require developers to have as much knowledge as before.
- Know the fundamentals. The theoretical basics are on Coursera. Start working for a company doing AI or doing something on your own at work. Look for use cases. We just had a developer build an application using neural networks to know when images were fully and correctly rendered. Know AI frameworks and Spark.
- Backend developers need to know machine learning (ML) and a lot of open source technology around AI. Frontend developers need to learn about bots and conversational flows.
- Domain knowledge. AI is not like Tableau. You need to understand the right prescription for the right problem. Understand statistics. Build knowledge in deep aspects of AI.
- There is a full suite of technologies. 1) Start to experiment with any of those technologies to begin to gain a different mindset. That is more important than any tool. Dive in, work on tutorials. 2) Your job as a developer in AI is about teaching. Break down problems and think about how to teach effectively. Observe and turn back into a learning foundation. Think about what the core concepts are that you need the system to understand. There are many paths to do what you are looking for. Get a different mindset and tackle the problem at hand.
- Apply real-world use cases on top. Take concrete raw use cases and see how the technology applies. Once you do that, the sky’s the limit.
- The one area would be within the robotics field. I work on the software side of AI, so I tend to think about solutions that are software-centric such as bots and apps, but there’s the whole robotics application of AI. I’m curious about how software and hardware are converging in such a way that actual devices and physical objects can become intelligent.
- Nowadays due to the highly specialized theoretical and practical knowledge required for state-of-the-art application of AI, a Ph.D. is quickly becoming the bare minimum required skill.
What does your experience tell you developers need to know to be proficient on AI projects?
Here’s who we talked to:
- Gaurav Banga, CEO, and Dr. Vinay Sridhara, CTO, Balbix
- Abhinav Sharma, Digital Servicing Group Lead, Barclaycard US
- Pedro Arellano, VP Product Strategy, Birst
- Matt Jackson, VP & National General Manager, BlueMetal
- Mark Hammond, CEO, Bonsai
- Ashok Reddy, General Manager, Mainframe, CA Technologies
- Sundeep Sanghavi, Co-founder and CEO, DataRPM, a Progress Company
- Eli David, Co-Founder and Chief Technology Officer, Deep Instinct
- Ali Din, GM and CMO, and Mark Millar, Director of Research and Development, dinCloud
- Sastry Malladi, CTO, FogHorn Systems
- Flavio Villanustre, VP Technology LexisNexis Risk Solutions, HPCC Systems
- Rob High, CTO Watson, IBM
- Jan Van Hoecke, CTO, iManage
- Eldar Sadikov, CEO and Co-founder, Jetlore
- Amit Vij, CEO and Co-Founder, Kinetica
- Ted Dunning, PhD., Chief Application Architect, MapR
- Bob Friday, CTO and Co-founder, and Jeff Aaron, VP of Marketing, Mist
- Sri Ramanathan, Group VP AI Bots and Mobile, Oracle
- Scott Parker, Senior Product Marketing Manager, Sinequa
- Michael O’Connell, Chief Analytics Officer, TIBCO