Want to Be an AI Programmer?
According to Stephen Baker, author of Final Jeopardy, The Story of Watson, the Computer that Will Transform Our World (2011), Watson, the robot that beat three Jeopardy expert players, was programmed to act like a human, but in reality, crunched numbers without understanding or initiating ideas. Today’s AI, in comparison, is based on advances in understanding explicit language and clues, intentions, and attitudes behind expressions. Neural Networks now enable learning from previous interactions. It is within this fascinating realm that algorithms are shaping our daily lives. They dictate the products we buy, the opinions we hold, news we absorb, our finances, jobs, and more.
As Artificial Intelligence is now ubiquitous, it is increasingly attracting programmers to the field. Here is a look at the skills you’ll need on a technical level and, just as crucial, your own personal skills and personality that will be important factors to being hired.
Basic Technical Know-How
Those just entering the field will need to know at least one or two lower-level languages, depending on where you will be starting your career. For example, Microsoft-based shops will require Visual Basic, C++ and C, while UNIX-based environments will expect Java, C and C++. Moving into higher-level languages, Python, R, and MapReduce will also likely be required. Python especially is extremely popular in AI because, although it’s a very high-level language—it is easy to understand, enabling programmers to be up and running fast.
AI programmers, depending on their specific position, will in time develop different levels of understanding regarding:
- Data structures
- Memory Management
- Math—specifically statistics and probability theory
- Applied Math—numerical analysis, algorithms
- Neural Network architectures when tasks are too complex to code directly
- Signal Processing
- Physics
- Reinforcement Learning
- Computer Vision
Education provides a foundation, a basic understanding. While education can get you in the door for that first job, it’s here that real learning begins. What about those things that you didn’t learn in school—the skills and qualities that college can’t give you? The following are important ones. Having them will be the key to your long-term success.
Non-technical Yet Critical Skills
What exactly beyond your classes, degree earned, and GPA will an interviewer look for? When you first begin to program, technical skills are most important since you will be shadowing more advanced developers almost to the point of being a fly on the wall. Interviewers, however, will want to assess how you will do in the industry, at least in the near term. They want to see such non-technical attributes as:
- Are you a critical thinker?
- Are you easily overwhelmed or flustered?
- Is curiosity a natural ability?
- Do you look for new ways to do things?
- Are you a logical thinker?
- What do you know about the industry that you want to enter? Does it require business acumen? Are you aware of the challenges facing the industry?
- Can you explain complex concepts simply, translating technical findings to non-technical team members?
- Are you a problem solver?
- Do you want to continue to learn?
- Do you have the ability to eventually lead?
- Is there an excitement about technology in general?
- Are you capable of a seeing the bigger picture?
For a first AI programming job, these skills/attributes are sometimes overlooked. As with several entry-level jobs, however, skills from the list above may mean that a company will be willing to forego experience to hire the right person. Not only is it important for the interviewer to assess these things, ask yourself if these are your characteristics. If they are, there is a much greater chance that you will continue to grow within your newly chosen profession.
Programming Skills vs. AI Programming Skills
It’s been said that programming is really simple. You have input. If it does this, then you do that until some other thing happens. You end up with output. The core skills of programming haven’t really changed. While beginner programmers are given simple tasks, as time goes on, tasks become much more complicated. This is true of AI as well.
Today’s systems are so intertwined however that, depending on your job, you may not need to get too deeply into the details of available programs and algorithms. For example, computer vision is all about the identification of things visually. Initially, image recognition was the goal—being able to take an image and decipher it and pick out perhaps a person’s face from a security approach. Now, however, that same technology is being used in autonomous vehicle cameras that now distinguish an animal crossing the road, another car, a person crossing the street, etc. Multiple programs and algorithms already exist.
There are so many facets to the field of artificial intelligence as an umbrella and its subsets of machine learning and deep learning. As with all segments of the industry, there are those that will find a position and stay rudimentary-type programmers and be very happy, but their life span on the job is likely to be approximately five years. For those that are excited, curious, continue to learn, think outside of the proverbial box, artificial intelligence programmers can have a long-term and exciting career. If you have basic knowledge and the list of non-technical skills describes you, consider entering the rapidly evolving world of AI programming.