The 5 AI-Related Jobs Every Software Engineer Should Know About
What each role actually entails and the qualifications to work each
For the past few months, Iâve been tracking the AI and software engineering job market to better understand whatâs going on. Iâve even written about how the job market isnât just bad, itâs strange.
One thing I found particularly interesting is how companies are titling job postings and just how inconsistent those titles are across the industry. This inconsistency makes it even more difficult for potential employers to find jobs they qualify for.
Iâve consolidated the research Iâve done into 5 AI-related roles engineers should know about if they want to work in AI. Iâve detailed what the job actually does and the qualifications for each for the following five roles:
AI Research Scientist
Research Engineer
Machine Learning Engineer
Software Engineer, AI
AI Engineer
In the future, Iâll be getting more into the actual skills employers expect and how prevalent they are in job applications. Enjoy!
1. AI Research Scientist
This role is pretty cut-and-dry: AI research scientists conduct original research with the goal of advancing AI capabilities. The focus is on finding novel capabilities of AI.
The role entails a lot of experimentation and follows a research workflow (hypothesis, test, iterate, etc.). Youâll be expected to keep up with AI research and write papers to share what youâre working on.
In industry, there are very few research positions that require absolutely zero software engineering skills. Working in industry, you should know at least the basics of software engineering. Youâll work with engineers that will do most of the engineering but you need to be able to contribute where needed and communicate effectively with those engineers.
Qualifications:
PhD (sometimes an MS) in a related field
Deep research experience in a relevant AI field
Papers at AI conferences
Strong mathematical background
An ability to independently develop new research hypotheses
2. Research Engineer
This is another established role where the responsibilities are well-defined, but it can get muddied due to the introduction of the next job in this list.
A research engineerâs focus is understanding how novel research can be applied to real-world applications. This means research engineers work very closely with research scientists to turn advancements in AI into something that can be used in the real-world.
This role includes things like implementing cutting-edge research papers from scratch, building prototypes of new AI capabilities to prove their usefulness, creating tools to support research activities, and iterating upon all of the above.
Qualifications:
PhD or MS in a related field
A strong understanding of ML and AI fundamentals
Experience building prototypes and new products
Experience with common ML frameworks and tooling
Strong software engineering skills
3. Machine Learning Engineer
This is where the roles start getting a bit muddied but I think the industry has settled on what a machine learning engineer is.
A machine learning engineer is responsible for creating AI systems that work in production. This means all the software engineering that goes into create production software systems at scale plus being responsible for the entire model lifecycle.
At some companies, ML engineers will design, train, and evaluate models from scratch along with setting up the systems to make them work in production. In others, theyâll take the models from the research scientists and/or prototypes from research engineers and do the work needed to make those function at scale.
This role includes building and maintaining training pipelines, implementing model evals and testing, setting up model monitoring and performance tracking, handling model versioning and deployments, and everything else that goes into software systems (A/B testing, CI/CD, etc.).
As an aside, I would also include anyone working in MLOps or Infrastructure as a Machine Learning Engineer as their entire role is to understand the engineering that goes into ML. However, it seems many of those roles are included in the last two roles listed below.
Qualifications:
BS or MS in a related field
Deep understanding of ML algorithms and their applications
An understanding of modeling techniques and the ML experimentation process
Proficiency with MLOps tools
Strong software engineering skills
4. Software Engineer, AI
This is by definition a bit more broad of a role title because both âsoftware engineerâ and âAIâ have very broad definitions.
A software engineer working in AI builds AI systems. Their focus is on the application layer and they use (usually) pretrained models to solve a specific problem. Essentially, this is a lot of backend or fullstack software engineering with the complexities of AI layered on top.
This role can also be responsible for ML-related work such as data or training pipelines, but usually this role doesnât train models and solely focuses on applications and the complexity of that application. This means understanding memory usage, cost estimates, resource optimization, data handling and integrity, evals and testing, safety, and more.
This is the title out of these five with the highest growth potential. The application layer is incredibly important and where real people find the most value from AI. Working with AI systems is more difficult than working with traditional software systems and requires great engineers to function effectively.
Qualifications:
BS or MS in a related field (or equivalent experience)
An understanding of AI/ML fundamentals and recent advancements
Proficiency in cloud platforms and distributed systems
Proficiency in common languages (C++/Python/Go are pretty common)
5. AI Engineer
This is by far the most vague job title in this space. Iâve seen it used as the same thing as an ML engineer, the same as a software engineer working in AI, and Iâve even seen it used to describe what I would consider a product engineer.
My take: The title âAI engineerâ is commonly used for roles that are less well-defined. I see this role listed frequently at startups where an employee needs to wear multiple hats and at larger companies with poor job descriptions. The one thing thatâs pretty consistent is AI engineers work on the application of AI (jobs are often titles as âapplied AI engineerâ because of this).
My suggestion for working as an AI engineer is to think about which of the above roles youâre most interested in and focus on the qualifications for that. Then, pay attention to the actual job description for AI engineering roles to find out more specifically what qualifications you need.
Qualifications:
BS or MS in a related field (or equivalent experience)
An understanding of ML frameworks and tooling
Strong software engineering skills
Whatever else is specific to the given job description
Hopefully this is helpful! As always, let me know if I missed something or you have an questions by leaving a comment.
Always be (machine) learning,
Logan