{{announcement.body}}
{{announcement.title}}

Making the Transition from Software Engineer to Artificial Intelligence Engineer

DZone 's Guide to

Making the Transition from Software Engineer to Artificial Intelligence Engineer

Even if you're already a Software Engineer, making the transition to AI engineer isn't straightforward. It takes time and a lot of work to successfully transition and make an impact on the industry.

· AI Zone ·
Free Resource

Artificial intelligence (AI) technology has been around for decades. However, we really didn’t realize its potential until about a decade ago. Since then, the planet saw an exponential demand for AI engineers. 

As the ongoing tech talent shortage shows no signs of improving, it has provided software engineers (who are also in high demand) an opportunity to make the transition and fill the talent gap. However, learning AI, Machine Learning (ML), and Natural Language Processing (NLP) isn’t a walk in the park.

To shed some light on transitioning from software engineering to AI engineering, I reached out to Cognitive Implementation Engineer at Ipsoft, Sasho Andrijeski and Codementor developer, Jayen Ashar.

The Inspiration Behind the Transition

People make the transition for many different reasons; for some, it was a childhood passion. For others, it can be the natural next step in their career. Regardless of what drives you to make a career a change, there are several factors to consider. 

For Andrijeski, the AI seeds were planted in childhood. “Ever since I can remember, I was surrounded by the concept of AI. My father’s collection of science fiction books made a big impact. In most of the stories, there was some sort of advanced AI system that would do extraordinary things, and there were also many questionable concepts about singularity and consciousness. Of course, there were all the sci-fi movies and games that were quite popular at the time and are considered retro nowadays.” 

For Ashar, it came with the territory. “I was always interested in automation and robotics, so AI was the perfect fit with my software engineering background.”

AI Comes with A Steep Learning Curve

Even if you come from a software engineering background, the learning curve is still quite steep. In fact, Ashar left the workforce and studied full-time to get a Master's degree in AI. 

He said, “I left the workforce and studied full-time to get a Master's degree specializing in AI. Once I was engaged in an AI degree, I reached out to one of my teachers and did a summer project with him. After that, I joined the university's robot soccer team, which really gave me practical experience with AI.” 

For Andrijeski, the steep learning curve was both overwhelming and rewarding. “Looking back, it feels as if all the things I’ve learned in the past are contributing to the knowledge I have today, and every bit of it’s important. Still, when I joined IPsoft, I had to absorb a lot of new information very quickly. It was, in fact, quite a steep learning curve. The first six months turned out to be overwhelming and very rewarding at the same time, giving me a feeling of satisfaction and fulfillment. Two colleagues I worked with on my first projects helped me to massively enhance my knowledge practically overnight.”

He added, “I can’t really say that I have taken any steps intentionally, but I have always felt kind of connected with AI. Of course, my CV is probably rather typical for any IT career: I studied Technical and Scientific Communication, during my studies worked in internet cafes, had my own internet affiliate marketing business, worked as a systems engineer and IT consultant. From early on, I had been writing small basic programs for Commodore 64, IRC bots, or helping friends with their Master/Ph. D programs. With all of this, I ended up already having most of the necessary skills when the opportunity popped up with IPsoft – and I just went for it, which is something I can only recommend to anybody who wants to take their chance in AI.” 

Even after you make the transition, the learning doesn’t stop. Ashar stated, “my transition was ages ago, and the field moves pretty fast. In keeping up-to-date, I've picked up PyTorch, Fast.ai, and convolutional neural networks.” 

For Andrijeski, “the most notable things I’d like to mention here are the concepts. Learning more about consciousness, cognition, human interaction, natural languages is key. Of course, algorithms, NLP, machine learning, or deep learning have been part of the roadmap as well. Working in a fast-paced environment and being an early adopter, you have to deal with various technologies, and you should not limit yourself to specific ones. Some are here to stay, some are fading away, and as time goes by, we won’t even remember them. Of the programming languages, python/groovy/javascript/java are worth mentioning, as these are needed for my work scope.”

He added, “for me, the best method is learning by doing, if possible. Online materials and communities are also crucial. Fortunately, having a computer, internet, and a bit of free time gave me the opportunity to just try out many things. Having friends who are working on similar challenges also can help a lot. Continuous communication and the sharing of ideas and experiences makes knowledge last and grow organically.”

Ashar agrees, “I started with university courses and online courses, but I've found that having a problem to solve, and then self-learning how to solve that problem is the best way.”

Challenges Faced by New AI Engineers

The challenges faced by AI engineers are relative to the project and the individual. If you’re a freelancer, things can quickly become cumbersome.

According to Ashar, “the biggest challenge is finding AI projects as a freelancer. AI is still considered a research field, and most people hiring in the field are looking for full-time, on-site, permanent staff, and that's just not a good fit for me.”

But Ashar persevered, and before long, he was hired to work on his first freelance AI-related project. “I landed a contract with the local road authority analyzing traffic flow and tows to find a correlation. The idea was to automatically report vehicles that were hindering traffic flow.”

Andrijeski’s experience was a little different. “Surprisingly, the biggest challenges are not AI-related. Working on client projects, I noticed that many institutions and companies are just not quite ready yet for very advanced technologies. They prefer going step by step and are usually somewhere in the middle of their digitalization/transformation process. It’s a challenge to find dedicated people who are willing to put their best effort into creating a truly magnificent AI solution. A lot of people are still expecting the AI to just magically work out of the box.”

Probably the greatest challenge of all is the time it takes to become an expert in this field. “As I didn't have that on my roadmap specifically, I can't really nail it down. However, when I go back in time and connect the dots today, it feels like it was the journey of a lifetime, my journey,” stated Andrijeski.

According to Ashar, “it took me about ten years, but that was because I wanted to stay as a freelancer, and I was already happy with the work I had.”

Advice for Software Engineers Thinking of Making the Transition To AI

“I see AI as the future of humanity. Not taking part in that would mean you are at least one step behind,” Andrijeski shared. 

“My advice would be generic for anyone looking to switch their specialization. Try and work part-time while you do it, so you still have your foot in the door if it doesn't work out, and also so you can test the waters to see if it's a good fit,” Ashar advised.

Topics:
artificial inteligence, machine learning & ai, natural language processing, software engineering

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}