Best Practices For Sharing Your Work As A Machine Learning Engineer

Daniel Bourke
Daniel Bourke
hero image

Welcome to Part 7 in my 7-Part introductory series on Machine Learning and Data Science.

Be sure to check out the other parts in the series, as they all lead into each other:

If you’ve been following this series from the start then great job on getting this far. I know it was a lot of content to cover. The good news is that this last part is fairly short 😜.

I want to end this series by giving you some final tips and advice to help you in your career as a Machine Learning Engineer or Data Scientist.

In ML and Data Science, we’re always collecting a lot of information. But information on its own is useless - we need to be able to share our work and act on it.

However, communication isn’t always a skill that everyone has. Especially when it comes to technical people. We want to share stats while some people want insights, etc.

So in this guide, I’m going to walk you through the process, tips, and steps I take to communicate my own ML work, as well as tips to communicate with different audiences. (Such as if you have a blog, or portfolio that you’re building in public).

So let’s get into it…

The importance of understanding your audience

Understand your audience

The most crucial questions to ask yourself when communicating your work are:

  • Who is this for? and
  • What do they want or need to know?

Knowing your audience influences not just how you deliver information but also what information is relevant.

For ML engineers and data scientists, your audience can generally be divided into two main groups: internal and external stakeholders:

  • Internal stakeholders: These are the people you work closely with daily, such as your teammates, project managers, and bosses. Their needs and expectations can vary significantly
  • External stakeholders: This group includes clients, customers, and the broader public who may come across your work online. Their technical understanding will differ, and so will their needs

So let’s break down the strategies for effectively communicating with these different audiences.

How to more effectively communicate within your team

Effective communication within your team is crucial for the smooth running of projects. Miscommunications can lead to delays, misunderstandings, and errors that could have been avoided.

When communicating with your teammates, clarity and frequency is key, so be sure to share your progress regularly and be open about challenges.

Here are a few tips:

  1. Daily updates: At the end of each day, jot down what you worked on, what’s working, what’s not, and your next steps. This helps keep everyone in the loop and encourages collaboration.
  2. Weekly meetings: Have structured weekly meetings where each team member can share their progress and plans for the next week. This ensures alignment and opens up opportunities for feedback and support.

Breaking down long-term projects into manageable daily and weekly tasks makes them less daunting and keeps your team informed.

breakdown larger projects

For instance, a 6-month project can be overwhelming, but handling it week by week or day by day makes it more manageable.

Example:

  • What did you work on today? Write it down.
  • What’s working? What’s not working?
  • What could be improved?
  • What’s your next course of action?
  • What’s holding you back?

The beauty of a daily reflection like this is you've got a history, a playbook, a thought process. Plus, this style of communication is far better than little bits and pieces scattered throughout the day, and people can read it when ready.

You may be tempted to hold something back because it's not perfect, not fully thought out, but that's what your teammates are for. To help you figure it out. The same goes for the reverse. Help each other.

Relate these daily and weekly communications back to the overall project goal. A 6-month project seems like a lot to begin with but breaking it down week by week, day by day, helps you and the people around you know what's going on.

Take note of questions that arise. If a question gets asked more than 3 times, it should be documented somewhere for others to reference.

You'll see some of the communication points for the people you're sitting with cross over with your project manager and vice versa. You're smart enough to figure out when to use each.

Sidenote: If you're working on a team, then Basecamp’s guide to internal communication should be required reading for everyone.

How to better communicate with Project Managers, Team Leads, and Bosses

Your project manager's primary concern is the project's timeline and budget, while your boss is focused on your development and the overall success of the team.

Here’s how to communicate effectively with each of them:

  • Status reports: Prepare concise status reports highlighting your progress, any obstacles you’re facing, and what assistance you might need. Be honest about challenges; your manager is there to help
  • Focused updates: Tailor your updates to address the specific interests of your manager or boss. For instance, if your manager is focused on project timelines, emphasize how your tasks align with the project schedule and any potential risks.

For example

Imagine you’re working on a predictive model for customer churn. The information required on the project would vary on the audience:

  • For your teammates, you might share detailed updates about your feature engineering process and model selection
  • For your project manager, you’d focus on how these tasks impact the project timeline and any blockers you need help with
  • While for your boss, you might highlight how this project fits into the larger company goals and your personal development

Simple right?

How to communicate more easily with clients and customers

Clients and customers are primarily interested in how your work impacts them. They want to know the benefits, results, and practical applications of your ML projects.

Here’s how to tailor your message to them:

  1. Simplify complex concepts: Break down technical jargon into simple, understandable terms. Use analogies and real-world examples to illustrate your points.
  2. Focus on the benefits: Highlight how your work solves their problems or improves their business. For example, if you've developed a predictive model to reduce customer churn, explain how it can save them money and increase customer retention.
  3. Visual aids: Use visuals like charts, graphs, and infographics to present data in a more digestible format. A well-designed visual can convey complex information quickly and effectively.

For example:

Imagine you're presenting the results of a machine learning project to a client.

Instead of diving into the technical details of your model's architecture, start with the problem your model solves. Explain how you approached the problem, the key findings, and how these findings can be applied to benefit their business.

Use visuals to support your explanation, making it easier for them to grasp the impact of your work.

Simple right?

However, I’ve been guilty of this same mistake myself, when I once made a presentation for a board meeting. We were there to present our results on a recent software proof of concept to some executives.

Being an engineer, my presentation slides were clogged with detailed text, barely large enough to read. It contained every detail of the project, the techniques used, theories, code, and acronyms with no definition.

The presentation looked great to other engineers but caused the executives to squint, lean in, and ignore everything being said in an attempt to read them.

Once we made it through to the end, a slide with a visual appeared, to which I palmed off as unnecessary but immediately sparked the interest of the executives.

"What's that?", one asked. We then spent the next 45 minutes discussing that one slide in detail. The slide, which to me, didn’t matter.

TL;DR

The lesson here is that what you think is important may be the opposite to others. And what's obvious to you could be amazing to others.

Knowing this, you'll start to realize, that unless they directly tell you, figuring out what your clients, customers, and fans want to know is a challenge.

And so there's a simple solution to this, which is to ask them what they want to know!

Most people have a lot to offer but rarely volunteer it. Ask if what you're saying is clear, ask if there is anything else they'd like to see. You may get something left of the field or things you're not sure of. In these cases, it's up to you to address them before they become larger issues.

Finally, don't forget that sometimes the best answer is "I don't know, but I'll figure it out and get back to you", or "That's not what we're focused on for now..." (then bringing it back to what you are focused on).

Communicating with people outside of your normal audience

There is a potential 3rd audience that you might not communicate with, but I highly recommend it.

You see, most people in tech will only ever communicate with teammates and customers. However, one of the best ways to stand out in the field of ML and Data Science is by working on and sharing your own projects.

This not only builds your skills but also showcases your initiative and expertise to potential employers.

For example

Melissa and Henry apply for a data scientist role. They both make it through to interviews and are sitting with the interviewer, who looks at both their resumes and notices they've both done similar-style courses.

They ask Henry if he's worked on any of his own projects and he tells her, no he's only had a chance to work on coursework but has plenty of ideas.

They then ask Melissa the same. She pulls out her phone and tells Janet she's built a small app to help read food labels. Her daughter can't have gluten and got confused every time she tried to figure out what was in the food she was eating.

The app isn't perfect but Melissa tells the story of how her daughter has figured out a few foods she should avoid and a few others which are fine.

personal projects

Who do you think the interviewer is going to be most likely to hire? Yep, you guessed it - the person with personal projects.

I call this the weekend project principle.

During the week you're building foundational skills through various courses. But on the weekend, you design your own projects, projects in line with the role you're after, and work on them.

What should you work on?

A simple method to figure this out is:

  • Find the ideal company and ideal role you're going for and then do your research
  • Figure out what a person does in that position day-to-day, so you can see what skills you need
  • Then, design yourself a 6-week project based on what you find. Why 6 weeks? The worst case is, if it doesn't work out, it's only 6 weeks. The best case is, you'll surprise yourself at what you can accomplish in 42 days.

Alternatively, if you're still stuck, simply follow your interests.

Use the same timeline except this time, choose something that excites you and see where it goes. Remember, the worst case is, after 6 weeks, you'll know whether to pursue it (another 6 weeks) or move on to the next thing.

Now instead of only having a collection of certificates, you've got a story to tell, as well as evidence of you trying to put what you've learned into practice (which is exactly what you'll be doing in a job).

However, don’t just work on this in secret. It pays off even better if you build in public

How to document and share your projects

Documenting your work is essential for reflecting on your progress, providing a reference for future projects, and allowing others to learn from your experiences.

Here's how you can effectively document and share your projects:

Create a Blog!

Starting a blog is a great way to share your projects and insights and build your portfolio. Not only that, but it also helps in other ways.

For example

Writing about your projects forces you to clarify your thoughts and understand concepts more deeply. It also helps organize your knowledge and identify areas that need more attention, further solidifying your understanding.

share your work

By sharing your insights and discoveries, you help others learn, positioning yourself as a knowledgeable individual and contributing to the community

Platforms like Devblog by Hashnode or fast_template by the fast.ai team are excellent for beginners. They require minimal setup and offer robust features for technical blogging.

devnode

Just make sure to:

  • Write Regularly: Aim to publish at least one post per week to keep your audience engaged and show your commitment
  • Be Clear and Concise: Avoid jargon and explain complex ideas in simple terms. Use analogies and examples to make your points clear
  • Use Visuals: Incorporate diagrams, charts, and code snippets to illustrate your points. Visual aids can make complex information more accessible. Don’t be afraid to also critique won't you learned and what worked and failed
  • Engage with your audience: Encourage comments and feedback. Respond to questions and be open to discussions. This interaction can provide valuable insights and help you improve your content

Add a narrative to your content

When sharing your work with a broader audience, such as fans or potential employers, the goal is to engage and inspire.

Sure, you could drop the facts in and add nothing but a list of exactly what you did. But everyone else can do that too.

And so, working what you've done into a story, sharing what worked, what didn't, and why you went in one direction can hook the other person in. This audience is now interested in your journey, the challenges you faced, and the innovations you brought to the table.

With this in mind, be sure to:

  1. Tell a story: Narrate your project as a story, including the challenges, solutions, and outcomes. This makes your work more relatable and memorable
  2. Showcase your passion: Share why you're passionate about the project and what motivated you. Passion is contagious and can inspire others
  3. Engage with your audience: Encourage questions and feedback. Engaging with your audience helps build a community around your work and demonstrates your willingness to share knowledge

For example

Let’s say you’ve built an app to help users identify plant species using machine learning. When writing a blog post or creating a video, start by sharing why you embarked on this project.

Explain the problem you aimed to solve, the process you went through, the challenges you faced, and the results you achieved. Include personal anecdotes and behind-the-scenes insights to make the story more engaging.

Once you’ve created it, make sure to share your progress on Social Media

You can also share your progress and final results on platforms like Twitter and LinkedIn. Engaging with the community and building a network of like-minded professionals can lead to valuable opportunities and collaborations.

You’ll be amazed how many job opportunities open up simply by sharing your work.

3 tips for Social Media and your portfolio content

  1. Post Regular Updates: Share milestones, challenges, and successes from your projects
  2. Engage with Others: Comment on and share posts from others in your field to build relationships
  3. Use Hashtags: Relevant hashtags can increase the visibility of your posts

For example

Imagine you’ve just completed a project on using machine learning to predict stock prices.

You can then write a blog post detailing your approach, the challenges you faced, and the results you achieved, making sure to include code snippets, graphs showing your model’s performance, and an explanation of the algorithms used.

Then, go ahead and share this post on social media and invite feedback. This not only showcases your skills but also opens up opportunities for networking and collaboration.

By following these strategies, you can effectively document and share your projects, building a strong professional presence and contributing to your field.

Go forth and share your work!

So there you have it. My final (but important) tips in this introductory series to Machine Learning and Data Science.

Hopefully, you’ve picked up some key ‘aha’ moments when it comes to your own communication at work from this post and will implement them in the future.

Not only that, but I hope this series has helped you get to grips with some of the common tools and features that we use in Machine Learning and Data Science, and you’ve also completed some of the projects we shared along the way.

Just make sure to build them, put them in your portfolio, and share them with the public!

P.S.

If you want to dive deeper into everything we’ve covered in this series and more, then be sure to check out my complete Machine Learning and Data Science course.

learn machine learning

It’s one of the most popular, highly rated Machine Learning and Data Science bootcamps online, as well as the most modern and up-to-date. Guaranteed.

You can easily go from a complete beginner with no prior experience to getting hired as a Machine Learning Engineer, so it’s helpful for ML Engineers of all experience levels. Even total beginners or current ML professionals.

Even better? If you have any questions at all, you can ask me directly in our private Discord!


There’s a great community of students and working professionals in there, who are happy to help and share their knowledge.

More from Zero To Mastery

The No BS Way To Getting A Machine Learning Job preview
The No BS Way To Getting A Machine Learning Job

Looking to get hired in Machine Learning? Our ML expert tells you how. If you follow his 5 steps, we guarantee you'll land a Machine Learning job. No BS.

Top 10 Machine Learning Projects To Boost Your Resume preview
Top 10 Machine Learning Projects To Boost Your Resume

Looking for the best machine learning projects to make your resume shine? Here are my top 10 recommendations (with 3 'can't miss' projects!)

How One ZTM Student Landed A Senior Engineering Role at NVIDIA preview
How One ZTM Student Landed A Senior Engineering Role at NVIDIA

From Game Dev to ML/AI to Senior Engineer at Nvidia. Read Hiren's career journey here to see what it takes to get hired in the best roles at the best companies.