Explaining complex software to non-technical customers can be challenging, as it requires bridging the gap between technical and non-technical language. A senior lead on a customer support team uses an analogy of being like an API between developers and customers to highlight the importance of effective communication. To explain technical concepts to non-technical people, it's essential to avoid assumptions, use clear and concise language, and be able to explain things in multiple ways, such as through different formats or places. Additionally, thinking like the customer is crucial, considering their workflow of questions and providing answers that address both the initial question and potential follow-up questions. By following these tips, developers can better support their customers and provide them with a positive experience.