Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What Skills Do Developers Need for AI?

DZone's Guide to

What Skills Do Developers Need for AI?

Here's what 22 executives who are familiar with AI said when we asked them, "What skills do developers need to be proficient on AI projects?"

· AI Zone
Free Resource

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:

Math

  • Depends on how far you want to dive in. AI is language agnostic. You do need to know data and other technology. Math, algebra, and calculus for algorithms but a lot of this is already written. You need to understand human thought process for NLP — context, intent, and how to link entities. Deeper insight into the human thought process.
  • Have a foundation in statistics. It’s easier for a math major to become a software programmer. Be good at AI/ML by having a strong foundation in statistics. Software developers can’t just take a Python library and apply it to a problem.
  • Computer science, math, statistics, AI, deep learning, recurring neural networks. Creating higher level abstraction to move many things to machines.
  • Statistics, data modeling, big data and expertise in one or more programming languages will be a good head start for developers who are trying to get into A.I.
  • We find the following skills are needed: Good math skills and academic background in data science. Keeping abreast of developments in this fast-moving field (tolls, conferences, blogs). Comfortable with manipulating large data sets. Quick to get to grips with machine learning toolsets and integrating them into a larger project.
  • Get into the weeds and build expertise. Understand math and the types of data — numeric and category. Learn ML, algorithms, decision trees, and neural networks. Open source, Apache, Google, IBM, Microsoft, R, Python, and more.

Data Science

  • 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.
  • What’s a data scientist? Computer science, analytics deployment, ingestion, ETL, many pieces. Know the path to value. Know the business problems.
  • Learn things using other algorithms, look at other customer or business problems to solve. Leverage algorithms already out there. Focus on the data available, how to train the system, how to provide the best outcome, upskilling with training classes and Hackathons. Learn TensorFlow, Spark, and R.
  • Data scientists need to be hands on with R, Scala, and Python. If working on ML algorithms, lean on members of the linguistics team to identify how the data can be preprocessed for ML.
  • Open source community tools. Focus on the business problem to solve. Learn Scala, R, and Python. Data science and ML is using R and Python for iterative modeling but they will not scale. Must use Scala to scale for true distributed computing.
  • Understand the business problem. Understand cognitive systems. Know the available services so you’re not learning things you don’t need to. Learn algorithms and citizen data science. Learn how to use Torch, Café, TensorFlow, regression, Python, R, and JavaScript. Get more deeply entrenched in collecting training data. The quality of the data matters. Understand how to curate and prepare data.

Other

  • 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
Topics:
ai ,machine learning ,data science

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}