Transition from Software Engineering to Machine Learning

Interview with Todd Deshane, Senior Software Engineer in Machine Learning @ IBM Research
Jean
|
November 14, 2024
Guest profile photo

Todd Deshane is a seasoned software engineering professional with over 12 years of experience, currently serving as a Senior Software Engineer in Machine Learning at IBM Research. Todd drives AI hardware enablement and optimization, collaborating with global teams to integrate cutting-edge AI solutions for Fortune 500 clients. As a subject matter expert and AI mentor, Todd is dedicated to simplifying complex AI concepts for diverse teams and guiding learners through AI/ML challenges in the AI Makerspace. He holds a Ph.D. and brings a strong commitment to advancing AI innovation.

EXA Newsletter

Why reinvent the wheel?

Exaltitude newsletter is packed with advice for navigating your engineering career journey successfully. Sign up to stay tuned!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

I had a great conversation with Todd, who went from Software Engineering to Machine Learning. Talking with Todd, it's clear that anyone can dive into machine learning if they have the passion and curiosity to learn! 

Transition from Software Engineering to Machine Learning

Jean: “You’ve transitioned from a Software Engineer to Machine Learning. Tell us about your journey and the biggest challenge you faced during that transition."

Todd: During my journey from Software Engineering to Machine Learning, I thought that if I could reach the right level of data science and machine learning skills, then I would be successful. However, it wasn’t until I was deep into AI Engineering that I realized that my cloud native engineering skills (DevOps + Fullstack Engineering) were the thing that would set me apart and make me a strong AI Engineer. While it is true that some fundamental data science and machine learning concepts are very important to learn on the journey, engineering skills are what the non-engineers are missing and struggle to obtain the most. Software engineering skills are the superpower that everybody wants and needs.

ML Learning Path

Jean: For engineers without formal education in ML, what practical learning path would you recommend to build relevant skills?"

Todd: I had many false starts when trying to get started with machine learning. I tried to do a lot of foundational courses and thought it was important to understand the underlying math and theory deeply. While I definitely appreciate the fundamental concepts more, a strong emphasis on math and underlying algorithms was different from what was needed to grasp machine learning and be helpful. 

Instead, I was lucky enough to be recruited and accepted into a machine learning engineering boot camp, which taught me how to apply machine learning concepts and not focus on the theory and underlying math. Then, applying the concepts in my day job in small ways allowed me to make the material stick. The concepts alone, without something tangible to stick them to, are easily forgotten, but applying the lessons, even in small ways, to daily work made all the difference.

Jean: Breaking into ML can be competitive. What do you feel was the most critical factor in your successful transition?

The ML space can seem vast and scary, but for me, finding a niche area working with large language models (LLMs) allowed me to succeed in the field. Applying my love and skill for language to tackle problems made learning fun. Embracing the uncertainty and probabilistic nature of the machine learning models was a challenge. Still, the critical thinking necessary to be successful in engineering is also constructive when approaching and working with LLMs. 

Another aspect of my journey was working with my kids on projects incorporating LLMs and various generative AI tools. Solving problems in real time to make my kid's game or movie work out correctly provided the right level of challenge and fun. I didn’t want to disappoint them, and they were determined that we would solve any problem. And while it sometimes required persistence, Generative AI and LLMs never let me down. And so I didn’t let them down; they still see the world as this magical place (which it is!)

Practical Tips for Learning Through Real-world Projects

Jean: I love the personal story! I can definitely relate to the idea that practical application is key to solidifying learning. It wasn't until I could apply coding concepts to real-world scenarios that I truly engaged with the subject. What are some practical ways to help a beginner coder apply their knowledge to real-world projects?

Todd: One way is to explore open-source projects. You are contributing to existing open-source projects on platforms like AIM. You'll learn from experts, collaborate with like-minded individuals, and be part of a supportive community. The experience of contributing to real-world projects will not only boost your technical abilities but also inspire you to reach new heights. 

I’ve been lucky to have found the AI Makerspace (AIM) community. Their give-first mentality and ethos of “build, ship, and share” have allowed me to feel at home with a community of builders I can collaborate with and give back to as a peer supporter for cohorts of students who came after me. 

Open Source Contributions

Jean: I’ll have to check out AIM. That sounds like a great way to get into open-source communities. 

When beginning with open source, what strategies or practices have you found helpful for making meaningful contributions, especially in complex ML projects?"

Todd: AIM open sources the course materials and codes after some time so that people who may not be able to afford the boot camp can tackle the material on their own with the community's support.

There are a number of active open source communities that are really worth following and contributing to or at least following. One such project is Ollama.

Staying Up To Date With Evolving ML Technology

Jean: Let’s talk about staying up to date with technology. With ML evolving rapidly, how do you stay current with new advancements? Are there specific resources or tools that you recommend?"

Todd: Beyond staying in touch and doing peer supporting for AIM, I also keep up with a variety of resources, including:

I am more than interested in the space, and I’m always on the lookout for fun experiments that I can apply right away to projects with my kids, especially.

AI Newsletters are very numerous. Here is a sampling:

YouTube, LinkedIn, and X have lots of great AI resources, again just a sampling:

Learn more about Todd on his LinkedIn profile.

Exaltitude newsletter is packed with advice for navigating your engineering career journey successfully. Sign up to stay tuned!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Read the latest...

Copyright @Exaltitude