AI Engineer is still kind of a new role within the IT sector. There is still a lot that is unclear about what an AI Engineer does, so we hope to shed some light onto this role in this article!
The job profile
AI Engineers build, test, and deploy AI models, as well as maintain the underlying AI infrastructure. They are problem-solvers who can navigate between traditional software development and machine learning implementations. In order to understand this role better, it is important to have an idea of just what machine learning is.
In a nutshell, machine learning is a relatively novel approach at solving some problems in the computer science that were traditionally hard to solve, such as, for example, building a program that will successfully recognize handwritten text.
Machine learning is founded on algorithms that parse large sets of data and learn from this data, without being programmed in the traditional sense of the word – that is, without relying on a series of steps, but rather learning from the data that is fed into machine learning algorithms.
Responsibilities and tasks
An AI Engineer can have many responsibilities in IT organizations, including:
- Coordinate between Data Scientists and Business Analysts
- Automate infrastructure used by the Data Science team
- Convert machine learning models into APIs so that other applications can access them
- Test and deploy models
- Develop minimum viable products based on machine learning
- Automate processes by utilizing machine learning
- Use AI to empower the company with novel capabilities
Some of these list items might seem a bit opaque, so let’s give a simple example.
Let’s say an IT company runs a successful business, providing a service to a wide audience online. The needs of the business are such that they require constant prototyping and mocking up of various website layouts. This is due to the company employing solid UI and UX practices, and learning from continuously running various A/B tests on their website’s pages.
The company is also tracking user behavior with a tracking tool such as HotJar (which records users’ mouse clicks and scroll events on the web page, so that the possible points of user confusion can be analyzed by observing user behavior on the website).
An AI Engineer’s responsibility on the team might consist of the following:
- Make a machine learning algorithm that will take photos of whiteboard sketches of website layouts, drawn up by the UX team, and produce finished website layouts – which will then be used by the Software development team. If this workflow is successfully implemented, it could save countless man-hours, and speed up the feedback loops related to attempted improvement in website’s UX
- Gather data from thousands of HotJar users and run it against machine learning algorithms to find common pitfalls and sources of user confusion. Analyze the data and find patterns in how, when, and why user confusion occurs
- Create a model combining HotJar and A/B testing data with the Google Analytics data and information on cart abandonment to propose improved layouts that would result in increased time spent on the site, greater customer acquisition, or some other goal, as specified by the Business department
- Try to predict the success of various layouts proposed by the UX team
As we can see, it is not easy to describe the role of an AI Engineer, in part because of the field being very young, and because each business will have their own specific implementations of creative automation practices, with the ultimate goal of positive bottom-line outcomes.
What tasks does an AI Engineer do?
As AI Engineering is a very large field, there are a number of different tasks that an AI Engineer can do. These include:
- Research improvements to machine-learning algorithms
- Use machine learning on a set of data inputs in a software development life cycle
- Pattern matching
- Pattern recognition
- Train machine-learning based software for domain-specific tasks (Image recognition, object detection, bioinformatics, autonomous vehicles, etc)
Find AI Engineers on freelancermap.com
» Check AI Engineer profiles
An AI Engineer needs to have the skills of a Data Scientist. He or she needs to have a level of expertise in statistics and even mathematics. However, this is only the beginning.
An AI Engineer also needs to understand both traditional (waterfall) and agile approach in software development life cycle, including continuous integration, continuous delivery, and continuous deployment (CI/CD). They also must understand various testing practices, including test-driven development and behavior-driven development.
Additionally, an AI Engineer needs to understand where machine learning fits into these continuous integration and continuous delivery pipelines. Put differently, an AI Engineer needs to know how to improve agile processes in an IT organization with the help of machine learning.
To be able to perform at such a high level, an AI Engineer needs to have at least five years (preferably ten years) of experience in a number of programming languages.
The most demanded programming languages are:
What must an AI Engineer be able to do?
- Deploy software in production
- Utilize modern software development methodologies
- Code in several computer languages at advanced level
- Have well-developed critical thinking skills
- Be proficient in statistics and mathematics
- High sense of responsibility
- Autonomous work
- Analytical thinking
Background and requirements
An AI Engineer holds a degree in mathematics, with focus on statistics, probability, logic, calculus, and algorithms.
Alternatively, a degree in physics, engineering, or robotics is desirable. Another possible education route to take is a BSc in Computer Science, followed up with an MSc in Computer Engineering and a further specialization in AI-related disciplines at PhD level.
Recently, the field of AI is seeing rapid growth and there is a lot more demand than there is supply. That’s why major universities are starting to pick up on this market demand with new courses and degrees, even at BSc levels. At the BSc level, the courses are frequently listed as Computer Science (Artificial Intelligence). At the MSc level, there is more specialization, such as AI and Visual Computing, Cybersecurity and AI, and other more specialized courses.
Besides, you can get started with a non-formal education via online courses. There are already some great AI online courses on the market.
A few you could check out:
- AI Google Education (by Google)
- Machine learning – Standford university (Coursera)
- Deep learning Nanodegree (Udacity)
- Advanced: AI Intelligence Nanodegree with Peter Norvig and Sebastian Thrun (Udacity)
So, what’s a normal AI engineer salary? The starting salary is around $57,000 per year. Experienced AI Engineers achieve an annual salary of up to $114,000. The average remuneration is around $86,000. The fluctuations are, as in every role, related to the educational degree, the industry, the company, but also the location.
AI Engineers salaries:
How much does a freelancer with AI experience charge?
The average freelancer hourly rate of an AI Engineer is 76 USD per hour. Considering an 8-hour working day, the daily rate is around 608 USD per day (freelancermap rate index – as of January 2019).
Real insights from an AI Engineer
Now that we know what it is to be an AI Engineer, we contacted a specialist, Juan Luis Rosa, who has answered a few questions about this role.
Juan Luis Rosa is a Master of Science in Artificial Intelligence from the UPC Barcelona with more than 10 years of experience as a CTO and IT project manager.
He builds software, leads technological teams and oversees work on great products (apps, CMS, eCommerce, data analytics) for the biggest media companies in Spain.
After the Master in AI, he has been building computer vision pipelines (from datasets to inference) and deploying machine learning models using Kubernetes in Google Cloud for tackling fake news.
What was your background and how did you start in Machine learning and AI?
I mostly have been a CTO, building tech teams and software for media companies, enhancing great tools for CMS platforms, e-commerce platforms, mobile apps…
At the beginning of 2016 I was shocked after I saw the last Android Photos update, they were understanding my images!
To be able to do that for myself I started taking some online courses but it was impossible for me to finish them.
I was always blocked in theoretical concepts and maths so I decided to go back to university and I enrolled in a two-year masters of science in AI where I found great tutors and colleagues that helped me succeed.
It was a wonderful experience I’d like to recommend to anyone who is lucky to have the chance to do it.
What are the biggest misconceptions about Artificial intelligence?
Putting aside all the debates and news about general intelligence, robots killing humans and AI superpowers and speaking in terms of applied AI, I think that companies have to take into account that AI can excel at lots of tasks. However, there are many misconceptions, due to all this terminology related to humans skills.
All these words like reasoning, understanding, neural networks, and intelligence, are bad misnomers.
It is software and a small set of high-school-level math ideas put together that can shine in lots of tasks but firstly you will need to have those tasks digitized. In the projects that I collaborate on, around 70% of the time is spent gathering and organizing data before even beginning to solve the actual problem at hand.
Around 70% of the time is spent gathering and organizing data before even beginning to solve the actual problem at hand.
What advice would you give to those aspiring to become AI engineers?
Artificial Intelligence per se doesn’t exist. It is a general term that includes lots of different disciplines:
- Computer vision
- Natural language processing
- Machine learning
- Knowledge management
- Planning and reasoning
I suggest you decide if you prefer working with images or text and from this decision start picking areas that you love: social media, nature, marketing, sports… there is an application for AI everywhere.
Once you have it just google for use cases, projects solved etc. Google and Amazon have dozens of actual implementations. You can check Google AI research.
From there, start going deeper into the concepts that you don’t understand.
I strongly recommed you to move to Python and Docker but especially to have Ubuntu on your computer as it will help you go faster without being distracted with software versioning incompatibilities (as there are many nowadays).
AI experts are willing to talk about their work so don’t hesitate to ask them and participate in forums, your local AI communities, talk to colleagues, etc…
How will AI change web development and workplaces in the future?
Machine learning is about finding patterns and we all know that all the jobs have a degree of routine and all tasks some implicit repetition.
AI can work with that and help humans be more effective and productive.
More specifically, in web development I see lots of space for improvements in auto-completion suggestions, image processing, users’ content approval (for example in a web that sells second-hand products), tackling spam bots (in reviews for example), segmenting and understanding your audience or first line of customer support.
In a few years time, Artificial Intelligence will have the potential to change how we build software.
If you are able to collect enough data about the problem you are solving, the deep learning architectures can build their own features and solve the problems without having to take into account all the previous requirements, use cases or unexpected tasks.
We all know that customers and requirements are not a perfect symbiosis so, it can facilitate web programming a lot and increase the velocity of development.
Is Artificial Intelligence Engineer a remote-friendly role? Is it ok for freelancers?
Nowadays, AI is still a novel thing. It is an innovation with an incredible technological update rate.
Big IT companies (Google, Microsoft, IBM, Amazon) are working very hard in offering new solutions and tools.
There are no good or bad solutions and AI practitioners need to do a lot of research before starting to solve their clients’ problems. It is not a mature technology and most of the projects are new, non-deterministic and very dynamic.
That is why I think freelancers and remote workers are good candidates to offer great solutions.
They need research time and peaceful environments to achieve great solutions and have successful AI projects.